pm2/examples/load-me.js
2015-02-02 22:03:31 -05:00

62 lines
943 B
JavaScript

var stop = false;
/**
* Description
* @method add
* @param {} a
* @param {} b
* @return sum
*/
function add(a, b) {
while (a.length < b.length) a.unshift(0);
while (a.length > b.length) b.unshift(0);
var carry = 0, sum = []
for (var i = a.length - 1; i >= 0; i--) {
var s = a[i] + b[i] + carry;
if (s >= 10) {
s = s - 10;
carry = 1;
} else {
carry = 0;
}
sum.unshift(s);
}
if (carry)
sum.unshift(carry);
return sum;
}
/**
* Description
* @method fib
* @param {} n
* @return CallExpression
*/
function fib(n) {
var f1 = [0];
var f2 = [1];
while (n--) {
var f3 = add(f1, f2)
if (stop) return false;
f1 = f2;
f2 = f3;
}
return f1.join("");
}
var axm = require('pmx');
axm.action('load:start', function(reply) {
fib(50000);
reply({success : true});
});
axm.action('load:stop', function(reply) {
stop = true;
reply({success : true});
});