pyret-npm 0.0.67 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -39248,31 +39248,7 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
39248
39248
|
|
|
39249
39249
|
// fromFixnum: fixnum -> pyretnum
|
|
39250
39250
|
var fromFixnum = function(x, errbacks) {
|
|
39251
|
-
|
|
39252
|
-
return Roughnum.makeInstance(x, errbacks);
|
|
39253
|
-
}
|
|
39254
|
-
var nf = Math.floor(x);
|
|
39255
|
-
if (nf === x) {
|
|
39256
|
-
if (isOverflow(nf)) {
|
|
39257
|
-
return makeBignum(expandExponent(x+''));
|
|
39258
|
-
} else {
|
|
39259
|
-
return nf;
|
|
39260
|
-
}
|
|
39261
|
-
} else {
|
|
39262
|
-
// used to return float, now rational
|
|
39263
|
-
var stringRep = x.toString();
|
|
39264
|
-
var match = stringRep.match(/^(.*)\.(.*)$/);
|
|
39265
|
-
if (match) {
|
|
39266
|
-
var afterDecimal = parseInt(match[2]);
|
|
39267
|
-
var factorToInt = Math.pow(10, match[2].length);
|
|
39268
|
-
var extraFactor = _integerGcd(factorToInt, afterDecimal);
|
|
39269
|
-
var multFactor = factorToInt / extraFactor;
|
|
39270
|
-
return Rational.makeInstance(Math.round(x*multFactor), Math.round(factorToInt/extraFactor), errbacks);
|
|
39271
|
-
} else {
|
|
39272
|
-
return Rational.makeInstance(x, 1, errbacks);
|
|
39273
|
-
}
|
|
39274
|
-
|
|
39275
|
-
}
|
|
39251
|
+
return fromString(String(x), errbacks);
|
|
39276
39252
|
};
|
|
39277
39253
|
|
|
39278
39254
|
var expandExponent = function(s) {
|
|
@@ -39914,6 +39890,11 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
39914
39890
|
if (typeof(n) === 'number') {
|
|
39915
39891
|
return Roughnum.makeInstance(Math.log(n), errbacks);
|
|
39916
39892
|
}
|
|
39893
|
+
if (isRational(n) && !isInteger(n)) {
|
|
39894
|
+
return subtract(log(numerator(n, errbacks), errbacks),
|
|
39895
|
+
log(denominator(n, errbacks), errbacks),
|
|
39896
|
+
errbacks);
|
|
39897
|
+
}
|
|
39917
39898
|
var nFix = n.toFixnum();
|
|
39918
39899
|
if (typeof(nFix) === 'number' && nFix !== Infinity) {
|
|
39919
39900
|
return Roughnum.makeInstance(Math.log(nFix), errbacks);
|
|
@@ -41151,7 +41132,6 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
41151
41132
|
|
|
41152
41133
|
var roughnumRatRegexp = new RegExp("^~([+-]?\\d+)/(\\d+)$");
|
|
41153
41134
|
|
|
41154
|
-
|
|
41155
41135
|
var scientificPattern = new RegExp("^([+-]?\\d*\\.?\\d*)[Ee]([+]?\\d+)$");
|
|
41156
41136
|
|
|
41157
41137
|
// fromString: string -> (pyretnum | false)
|
|
@@ -160,31 +160,7 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
160
160
|
|
|
161
161
|
// fromFixnum: fixnum -> pyretnum
|
|
162
162
|
var fromFixnum = function(x, errbacks) {
|
|
163
|
-
|
|
164
|
-
return Roughnum.makeInstance(x, errbacks);
|
|
165
|
-
}
|
|
166
|
-
var nf = Math.floor(x);
|
|
167
|
-
if (nf === x) {
|
|
168
|
-
if (isOverflow(nf)) {
|
|
169
|
-
return makeBignum(expandExponent(x+''));
|
|
170
|
-
} else {
|
|
171
|
-
return nf;
|
|
172
|
-
}
|
|
173
|
-
} else {
|
|
174
|
-
// used to return float, now rational
|
|
175
|
-
var stringRep = x.toString();
|
|
176
|
-
var match = stringRep.match(/^(.*)\.(.*)$/);
|
|
177
|
-
if (match) {
|
|
178
|
-
var afterDecimal = parseInt(match[2]);
|
|
179
|
-
var factorToInt = Math.pow(10, match[2].length);
|
|
180
|
-
var extraFactor = _integerGcd(factorToInt, afterDecimal);
|
|
181
|
-
var multFactor = factorToInt / extraFactor;
|
|
182
|
-
return Rational.makeInstance(Math.round(x*multFactor), Math.round(factorToInt/extraFactor), errbacks);
|
|
183
|
-
} else {
|
|
184
|
-
return Rational.makeInstance(x, 1, errbacks);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
}
|
|
163
|
+
return fromString(String(x), errbacks);
|
|
188
164
|
};
|
|
189
165
|
|
|
190
166
|
var expandExponent = function(s) {
|
|
@@ -826,6 +802,11 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
826
802
|
if (typeof(n) === 'number') {
|
|
827
803
|
return Roughnum.makeInstance(Math.log(n), errbacks);
|
|
828
804
|
}
|
|
805
|
+
if (isRational(n) && !isInteger(n)) {
|
|
806
|
+
return subtract(log(numerator(n, errbacks), errbacks),
|
|
807
|
+
log(denominator(n, errbacks), errbacks),
|
|
808
|
+
errbacks);
|
|
809
|
+
}
|
|
829
810
|
var nFix = n.toFixnum();
|
|
830
811
|
if (typeof(nFix) === 'number' && nFix !== Infinity) {
|
|
831
812
|
return Roughnum.makeInstance(Math.log(nFix), errbacks);
|
|
@@ -2063,7 +2044,6 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
2063
2044
|
|
|
2064
2045
|
var roughnumRatRegexp = new RegExp("^~([+-]?\\d+)/(\\d+)$");
|
|
2065
2046
|
|
|
2066
|
-
|
|
2067
2047
|
var scientificPattern = new RegExp("^([+-]?\\d*\\.?\\d*)[Ee]([+]?\\d+)$");
|
|
2068
2048
|
|
|
2069
2049
|
// fromString: string -> (pyretnum | false)
|
|
@@ -39214,31 +39214,7 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
39214
39214
|
|
|
39215
39215
|
// fromFixnum: fixnum -> pyretnum
|
|
39216
39216
|
var fromFixnum = function(x, errbacks) {
|
|
39217
|
-
|
|
39218
|
-
return Roughnum.makeInstance(x, errbacks);
|
|
39219
|
-
}
|
|
39220
|
-
var nf = Math.floor(x);
|
|
39221
|
-
if (nf === x) {
|
|
39222
|
-
if (isOverflow(nf)) {
|
|
39223
|
-
return makeBignum(expandExponent(x+''));
|
|
39224
|
-
} else {
|
|
39225
|
-
return nf;
|
|
39226
|
-
}
|
|
39227
|
-
} else {
|
|
39228
|
-
// used to return float, now rational
|
|
39229
|
-
var stringRep = x.toString();
|
|
39230
|
-
var match = stringRep.match(/^(.*)\.(.*)$/);
|
|
39231
|
-
if (match) {
|
|
39232
|
-
var afterDecimal = parseInt(match[2]);
|
|
39233
|
-
var factorToInt = Math.pow(10, match[2].length);
|
|
39234
|
-
var extraFactor = _integerGcd(factorToInt, afterDecimal);
|
|
39235
|
-
var multFactor = factorToInt / extraFactor;
|
|
39236
|
-
return Rational.makeInstance(Math.round(x*multFactor), Math.round(factorToInt/extraFactor), errbacks);
|
|
39237
|
-
} else {
|
|
39238
|
-
return Rational.makeInstance(x, 1, errbacks);
|
|
39239
|
-
}
|
|
39240
|
-
|
|
39241
|
-
}
|
|
39217
|
+
return fromString(String(x), errbacks);
|
|
39242
39218
|
};
|
|
39243
39219
|
|
|
39244
39220
|
var expandExponent = function(s) {
|
|
@@ -39880,6 +39856,11 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
39880
39856
|
if (typeof(n) === 'number') {
|
|
39881
39857
|
return Roughnum.makeInstance(Math.log(n), errbacks);
|
|
39882
39858
|
}
|
|
39859
|
+
if (isRational(n) && !isInteger(n)) {
|
|
39860
|
+
return subtract(log(numerator(n, errbacks), errbacks),
|
|
39861
|
+
log(denominator(n, errbacks), errbacks),
|
|
39862
|
+
errbacks);
|
|
39863
|
+
}
|
|
39883
39864
|
var nFix = n.toFixnum();
|
|
39884
39865
|
if (typeof(nFix) === 'number' && nFix !== Infinity) {
|
|
39885
39866
|
return Roughnum.makeInstance(Math.log(nFix), errbacks);
|
|
@@ -41117,7 +41098,6 @@ define("pyret-base/js/js-numbers", function() {
|
|
|
41117
41098
|
|
|
41118
41099
|
var roughnumRatRegexp = new RegExp("^~([+-]?\\d+)/(\\d+)$");
|
|
41119
41100
|
|
|
41120
|
-
|
|
41121
41101
|
var scientificPattern = new RegExp("^([+-]?\\d*\\.?\\d*)[Ee]([+]?\\d+)$");
|
|
41122
41102
|
|
|
41123
41103
|
// fromString: string -> (pyretnum | false)
|