wrap_hp {lazy.symbolic}R Documentation

wrap Hadamar product with parens for apparance

Description

wrap Hadamar product with parens for apparance

Usage

wrap_hp(expr)

Arguments

expr

an expression or a string

Value

an expression

Examples

res1 = "A%*%(B%.%C)" |> drop_parens(all = TRUE)
res1 |> show_ast()
res1 |> wrap_hp() |> show_ast()

res2 = "(B%.%C)%*%A" |> drop_parens(all = TRUE)
res2 |> show_ast()
res2 |> wrap_hp() |> show_ast()

res = easy_parse("C*A*(X %*% B)") |> drop_parens(all = TRUE)
res |> show_ast()
res |> wrap_hp() |> show_ast()

expr =
c("A%*%(B%.%C)", "(B%.%C)%*%A",
  "A%*%(B * C)", "(B * C)%*%A",
  "A * (B%*%C)", "(B%*%C) * A",
  "A * (B%.%C)", "(B%.%C)%*%A",
  "A%.%(B%*%C)", "(B%*%C)%.%A",
  "A%.%(B * C)", "(B * C)%.%A",
  "A%.%(B%.%C)", "(B%.%C)%.%A",
  "A%*%(B%*%C)", "(B%*%C)%*%A",
  "A * (B * C)", "(B * C) * A",
  "A +  B * C"
) |> sapply(drop_parens, all = TRUE)
expr |> sapply(function(x)safe_deparse(wrap_hp(x)))



[Package lazy.symbolic version 1.0.0.20250803 ]