cpp+Rによるマクロの使用法
#がコメントの言語ではみんな同じなんですが。
平方根 <- function(x)
{
#ifdef DOUBLE
sqrt(x)
#else
floor(sqrt(x))
#endif
}
#include "common.R" #define TARGET 2 平方根(TARGET)
cpp main.R | R --vanilla -q
> # 1 "main.R"
> # 1 "common.R" 1
> 平方根 <- function(x)
+ {
+
+
+
+ floor(sqrt(x))
+
+ }
>
> # 1 "main.R" 2
>
>
> 平方根(2)
[1] 1
>
cpp -DDOUBLE main.R | R --vanilla -q
> # 1 "main.R"
> # 1 "common.R" 1
> 平方根<- function(x)
+ {
+
+ sqrt(x)
+
+
+
+ }
>
> # 1 "main.R" 2
>
>
> 平方根(2)
[1] 1.414214
>