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/07/05 22:36]
will
algorithm:factorial_recursive [2015/02/02 08:28] (current)
Line 1: Line 1:
-====== Factorial - Recursive ​====== +======= λ Factorial - recursive ​======
-[algorithm factorial_recursive]+
  
-====== Algorithm ======+<​nowiki>​ 
 +======= Algorithm ​=======
 <syntax js> <syntax js>
 function fac(x) { function fac(x) {
Line 12: Line 12:
 </​syntax>​ </​syntax>​
  
-====== Support ======+======= Support ​=======
 <syntax js> <syntax js>
 function run() { function run() {
Line 19: 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 39: 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 68: Line 78:
 </​html>​ </​html>​
 </​syntax>​ </​syntax>​
 +</​nowiki>​
algorithm/factorial_recursive.1404625014.txt.gz · Last modified: 2015/02/02 08:23 (external edit)