R的"base :: factorial"是否被记忆了?

iso*_*mes 2 recursion r

(我将在一秒钟内查看这个内容,但我希望在SO上发布答案,以便谷歌找到它并且下一个人不必浏览源代码.)

众所周知,递归函数在多次调用自身时会很慢.对此的一个解决方案是将先前的答案写入存储器,以便当重新计算的成本低于写入和回读的成本时可以重复使用它们.

的r factorial调用的r gamma,以及gamma来电的R .Primitive.这个原始的记忆是什么?

Dir*_*tel 5

当然不是因为如果我们知道R有本机的 memoization支持.它没有.因此...

然而,事实上这很便宜,因为我在Rcpp书的介绍章节中讨论,因为我们的"Hello,world!" 真的是斐波纳契序列;-)