Mercurial > op > Looping
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]"))