view Looping.R @ 12:dab1e83799e4 >>178 tip

R版のソースコードを追加。
author "uncorrelated zombie" <uncorrelated@yahoo.co.jp>
date Sat, 04 Feb 2012 04:10:01 +0900
parents
children
line wrap: on
line source

# クラス定義
setClass("Looping", contains = "numeric")
# 総称関数を宣言
setGeneric("calc", function(obj, n){
	standardGeneric("calc")
})
# メソッドを追加
setMethod("calc", signature="Looping", definition=function(obj, n){
	n1 <- obj@.Data + (1 - 2*(n%%2))
	obj@.Data <- n1
	return(n1)
})

# インスタンスを作成
l <- new("Looping")
c <- 0
n <- 1
t1 <- proc.time()
# 本当は2147483647でベンチマークすべき
repeat {
	if(c>=2147483)
		break
	n <- calc(l, n)
	c = c + 1
}
t2 <- proc.time()
print(paste(" R", t2["elapsed"] - t1["elapsed"]))
print(paste(" R", (t2["elapsed"] - t1["elapsed"])*2147483647/2147483, "[Estimate]"))