cpp+Rによるマクロの使用法

#がコメントの言語ではみんな同じなんですが。

ヘッダーの用意

common.R

平方根 <- function(x)
{
#ifdef DOUBLE
  sqrt(x)
#else
  floor(sqrt(x))
#endif
}

メインの用意

main.R

#include "common.R"
#define TARGET	2
平方根(TARGET)

実行1

cpp main.R | R --vanilla -q

結果1

> # 1 "main.R"
> # 1 "common.R" 1
> 平方根 <- function(x)
+ {
+ 
+ 
+ 
+   floor(sqrt(x))
+ 
+ }
> 
> # 1 "main.R" 2
> 
> 
> 平方根(2)
[1] 1
>

実行2

cpp -DDOUBLE main.R | R --vanilla -q

結果2

> # 1 "main.R"
> # 1 "common.R" 1
> 平方根<- function(x)
+ {
+ 
+   sqrt(x)
+ 
+ 
+ 
+ }
> 
> # 1 "main.R" 2
> 
> 
> 平方根(2)
[1] 1.414214
>

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-25 (土) 11:19:17