updating js-numbers with uncompressed version to make it easier to profile
This commit is contained in:
parent
b7ac392030
commit
bd19a1e66a
|
@ -240,7 +240,21 @@ if (typeof(exports) !== 'undefined') {
|
||||||
|
|
||||||
|
|
||||||
// add: scheme-number scheme-number -> scheme-number
|
// add: scheme-number scheme-number -> scheme-number
|
||||||
var add = makeNumericBinop(
|
var add = function(x, y) {
|
||||||
|
var sum;
|
||||||
|
if (typeof(x) === 'number' && typeof(y) === 'number') {
|
||||||
|
sum = x + y;
|
||||||
|
if (isOverflow(sum)) {
|
||||||
|
return (makeBignum(x)).add(makeBignum(y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (x instanceof FloatPoint && y instanceof FloatPoint) {
|
||||||
|
return x.add(y);
|
||||||
|
}
|
||||||
|
return addSlow(x, y);
|
||||||
|
};
|
||||||
|
|
||||||
|
var addSlow = makeNumericBinop(
|
||||||
function(x, y) {
|
function(x, y) {
|
||||||
var sum = x + y;
|
var sum = x + y;
|
||||||
if (isOverflow(sum)) {
|
if (isOverflow(sum)) {
|
||||||
|
@ -284,7 +298,22 @@ if (typeof(exports) !== 'undefined') {
|
||||||
|
|
||||||
|
|
||||||
// mulitply: scheme-number scheme-number -> scheme-number
|
// mulitply: scheme-number scheme-number -> scheme-number
|
||||||
var multiply = makeNumericBinop(
|
var multiply = function(x, y) {
|
||||||
|
var prod;
|
||||||
|
if (typeof(x) === 'number' && typeof(y) === 'number') {
|
||||||
|
prod = x * y;
|
||||||
|
if (isOverflow(prod)) {
|
||||||
|
return (makeBignum(x)).multiply(makeBignum(y));
|
||||||
|
} else {
|
||||||
|
return prod;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (x instanceof FloatPoint && y instanceof FloatPoint) {
|
||||||
|
return x.multiply(y);
|
||||||
|
}
|
||||||
|
return multiplySlow(x, y);
|
||||||
|
};
|
||||||
|
var multiplySlow = makeNumericBinop(
|
||||||
function(x, y) {
|
function(x, y) {
|
||||||
var prod = x * y;
|
var prod = x * y;
|
||||||
if (isOverflow(prod)) {
|
if (isOverflow(prod)) {
|
||||||
|
|
|
@ -840,7 +840,7 @@
|
||||||
if (typeof(x) === 'number' && typeof(y) === 'number') {
|
if (typeof(x) === 'number' && typeof(y) === 'number') {
|
||||||
sum = x + y;
|
sum = x + y;
|
||||||
if (sum < -9e15 || sum > 9e15) {
|
if (sum < -9e15 || sum > 9e15) {
|
||||||
return checkedAddSlowPath(M, Array.prototype.slice.call(arguments, 1));
|
return plt.baselib.numbers.add(x, y);
|
||||||
}
|
}
|
||||||
return sum;
|
return sum;
|
||||||
} else {
|
} else {
|
||||||
|
@ -881,7 +881,7 @@
|
||||||
if (typeof(x) === 'number' && typeof(y) === 'number') {
|
if (typeof(x) === 'number' && typeof(y) === 'number') {
|
||||||
prod = x * y;
|
prod = x * y;
|
||||||
if (prod < -9e15 || prod > 9e15) {
|
if (prod < -9e15 || prod > 9e15) {
|
||||||
return checkedMulSlowPath(M, Array.prototype.slice.call(arguments, 1));
|
return plt.baselib.numbers.multiply(x, y);
|
||||||
}
|
}
|
||||||
return prod;
|
return prod;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
(provide version)
|
(provide version)
|
||||||
(: version String)
|
(: version String)
|
||||||
|
|
||||||
(define version "1.162")
|
(define version "1.163")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user