mirror of
https://github.com/Unitech/pm2.git
synced 2025-12-08 20:35:53 +00:00
62 lines
943 B
JavaScript
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});
|
|
});
|