opt_constant_propagation: Optimizer: Constant Propagation.

View source: R/opt-constant-propagation.R

opt_constant_propagationR Documentation

Optimizer: Constant Propagation.

Description

Performs one constant propagation pass. Carefully examine the results after running this function!

Usage

opt_constant_propagation(texts, in_fun_call = FALSE)

Arguments

texts

A list of character vectors with the code to optimize.

in_fun_call

A logical indicating whether it should propagate in function calls. Note: this could change the semantics of the program.

Examples

code <- paste(
  "i <- 170",
  "x <- -170",
  "y <- x + 124",
  "z <- i - 124",
  sep = "\n"
)
cat(opt_constant_propagation(list(code))$codes[[1]])

hemisphere_vol <- paste(
  "pi <- 3.141593 ",
  "radius <- 25 ",
  "hemis_vol <- 2/3 * pi * radius ^ 3 ",
  sep = "\n"
)
cat(opt_constant_propagation(list(hemisphere_vol))$codes[[1]])

jcrodriguez1989/rco documentation built on Nov. 12, 2024, 12:23 p.m.