Performs one constant folding pass. Carefully examine the results after running this function!
opt_constant_folding(texts, fold_floats = FALSE, in_fun_call = FALSE)
texts | A list of character vectors with the code to optimize. |
---|---|
fold_floats | A logical indicating if floating-point results should be folded (will reduce precision). |
in_fun_call | A logical indicating whether it should propagate in function calls. Note: this could change the semantics of the program. |
code <- paste( "i <- 320 * 200 * 32", "x <- i * 20 + 100", sep = "\n" ) cat(opt_constant_folding(list(code))$codes[[1]])#> i <- 2048000 #> x <- i * 20 + 100