diff R/rdyncall/demo/factorial.R @ 0:0cfcc391201f

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:26:28 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/R/rdyncall/demo/factorial.R	Thu Mar 19 22:26:28 2015 +0100
@@ -0,0 +1,13 @@
+f <- function(i,fun)
+{
+  if (i > 1) i * .dyncall(fun,"ip)i",i-1,fun) else i
+}
+e <- new.env()
+cb <- new.callback("ip)i", f,e)
+e <- NULL
+f <- NULL
+gc()
+r <- .dyncall(cb,"ip)i",12,cb)
+r == factorial(12)
+cb <- NULL
+gc()