User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
algorithm:factorial_recursive [2014/05/04 16:25]
127.0.0.1 external edit
algorithm:factorial_recursive [2015/02/02 08:28] (current)
Line 1: Line 1:
-[algorithm factorial_recursive]+======= λ Factorial - recursive ======
  
-====== Algorithm ======+<​nowiki>​ 
 +======= Algorithm ​=======
 <syntax js> <syntax js>
 function fac(x) { function fac(x) {
Line 11: Line 12:
 </​syntax>​ </​syntax>​
  
-====== Support ======+======= Support ​=======
 <syntax js> <syntax js>
 function run() { function run() {
Line 18: Line 19:
 </​syntax>​ </​syntax>​
  
-====== Options ======+======= Tests ======= 
 +<syntax js> 
 +function testTen() { 
 +    assert (fac(10) === 3628800, "​fac(10)"​);​ 
 +
 + 
 +function testSeven() { 
 +    assert (fac(7) === 5040 , "​fac(7)"​);​ 
 +}</​syntax>​ 
 + 
 +======= Options ​=======
 <syntax js> <syntax js>
 { {
 +    "​title":"​Factorial - recursive",​
     "​height":"​150px"​     "​height":"​150px"​
 } }
 </​syntax>​ </​syntax>​
  
-====== Visualisation ======+======= Visualisation ​=======
 <syntax html> <syntax html>
 <​html>​ <​html>​
Line 38: Line 50:
             var stack = x.stack;             var stack = x.stack;
             for (var i=stack.length-1;​ i>=0; i--) {             for (var i=stack.length-1;​ i>=0; i--) {
-                var x2 = stack[i].executionContext;​ +                var = stack[i].lookupInScope("​x"​);​
-                var a = x2.lookupInScope("​x"​);​+
                 if (a) {                 if (a) {
                     html = a+" * "​+html;​                     html = a+" * "​+html;​
Line 67: Line 78:
 </​html>​ </​html>​
 </​syntax>​ </​syntax>​
 +</​nowiki>​
algorithm/factorial_recursive.1399245924.txt.gz · Last modified: 2015/02/02 08:23 (external edit)