Socket
Socket
Sign inDemoInstall

mathjs

Package Overview
Dependencies
Maintainers
1
Versions
279
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mathjs - npm Package Compare versions

Comparing version 12.3.2 to 12.4.0

4

lib/browser/math.js.LICENSE.txt

@@ -26,4 +26,4 @@ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */

*
* @version 12.3.2
* @date 2024-02-08
* @version 12.4.0
* @date 2024-02-22
*

@@ -30,0 +30,0 @@ * @license

@@ -604,2 +604,3 @@ "use strict";

DenseMatrix: DenseMatrix,
config: _configReadonly.config,
equalScalar: equalScalar,

@@ -606,0 +607,0 @@ matrix: matrix,

@@ -1419,4 +1419,6 @@ "use strict";

getToken(state);
params[rows] = parseRow(state);
rows++;
if (state.token !== ']') {
params[rows] = parseRow(state);
rows++;
}
}

@@ -1469,4 +1471,6 @@ if (state.token !== ']') {

// parse expression
params[len] = parseAssignment(state);
len++;
if (state.token !== ']' && state.token !== ';') {
params[len] = parseAssignment(state);
len++;
}
}

@@ -1473,0 +1477,0 @@ return new ArrayNode(params);

@@ -122,7 +122,7 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b dense
var bdata = b._data;
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -140,3 +140,3 @@ var alength = asize[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -168,3 +168,3 @@ dt = adt;

size: [bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -213,6 +213,6 @@ }

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b dense
var bdata = b._data;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -230,3 +230,3 @@ var arows = asize[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -260,3 +260,3 @@ dt = adt;

size: [arows],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -274,10 +274,11 @@ }

function _multiplyDenseMatrixDenseMatrix(a, b) {
// getDataType()
// a dense
var adata = a._data;
var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b dense
var bdata = b._data;
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -296,3 +297,3 @@ var arows = asize[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed' && adt !== 'mixed') {
// datatype

@@ -331,3 +332,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -348,3 +349,3 @@ }

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b sparse

@@ -355,3 +356,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();
// validate b matrix

@@ -377,3 +378,3 @@ if (!bvalues) {

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -399,3 +400,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -464,3 +465,3 @@

var aptr = a._ptr;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// validate a matrix

@@ -472,3 +473,3 @@ if (!avalues) {

var bdata = b._data;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -494,3 +495,3 @@ var arows = a._size[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -548,3 +549,3 @@ dt = adt;

// return sparse matrix
// matrix to return
return a.createSparseMatrix({

@@ -555,3 +556,3 @@ values: cvalues,

size: [arows, 1],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -573,3 +574,3 @@ }

var aptr = a._ptr;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// validate a matrix

@@ -581,3 +582,3 @@ if (!avalues) {

var bdata = b._data;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -600,3 +601,3 @@ var arows = a._size[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -622,3 +623,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -690,3 +691,3 @@

var aptr = a._ptr;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// b sparse

@@ -696,3 +697,3 @@ var bvalues = b._values;

var bptr = b._ptr;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -713,3 +714,3 @@ // rows & columns

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -732,3 +733,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -735,0 +736,0 @@

@@ -9,2 +9,4 @@ "use strict";

var _collection = require("../../utils/collection.js");
var _number = require("../../utils/number.js");
var _nearlyEqual = require("../../utils/bignumber/nearlyEqual.js");
var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");

@@ -16,9 +18,10 @@ var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");

var name = 'round';
var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'BigNumber', 'DenseMatrix'];
var dependencies = ['typed', 'config', 'matrix', 'equalScalar', 'zeros', 'BigNumber', 'DenseMatrix'];
var createRound = exports.createRound = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
var typed = _ref.typed,
config = _ref.config,
matrix = _ref.matrix,
equalScalar = _ref.equalScalar,
zeros = _ref.zeros,
BigNumber = _ref.BigNumber,
_BigNumber = _ref.BigNumber,
DenseMatrix = _ref.DenseMatrix;

@@ -36,2 +39,5 @@ var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({

});
function toExponent(epsilon) {
return Math.abs((0, _number.splitNumber)(epsilon).exponent);
}

@@ -83,4 +89,18 @@ /**

return typed(name, {
number: _index.roundNumber,
'number, number': _index.roundNumber,
number: function number(x) {
// Handle round off errors by first rounding to epsilon precision
var xEpsilon = (0, _index.roundNumber)(x, toExponent(config.epsilon));
var xSelected = (0, _number.nearlyEqual)(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return (0, _index.roundNumber)(xSelected);
},
'number, number': function numberNumber(x, n) {
// Same as number: unless user specifies more decimals than epsilon
var epsilonExponent = toExponent(config.epsilon);
if (n >= epsilonExponent) {
return (0, _index.roundNumber)(x, n);
}
var xEpsilon = (0, _index.roundNumber)(x, epsilonExponent);
var xSelected = (0, _number.nearlyEqual)(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return (0, _index.roundNumber)(xSelected, n);
},
'number, BigNumber': function numberBigNumber(x, n) {

@@ -90,3 +110,3 @@ if (!n.isInteger()) {

}
return new BigNumber(x).toDecimalPlaces(n.toNumber());
return new _BigNumber(x).toDecimalPlaces(n.toNumber());
},

@@ -110,3 +130,6 @@ Complex: function Complex(x) {

BigNumber: function BigNumber(x) {
return x.toDecimalPlaces(0);
// Handle round off errors by first rounding to epsilon precision
var xEpsilon = new _BigNumber(x).toDecimalPlaces(toExponent(config.epsilon));
var xSelected = (0, _nearlyEqual.nearlyEqual)(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return xSelected.toDecimalPlaces(0);
},

@@ -117,3 +140,11 @@ 'BigNumber, BigNumber': function BigNumberBigNumber(x, n) {

}
return x.toDecimalPlaces(n.toNumber());
// Same as BigNumber: unless user specifies more decimals than epsilon
var epsilonExponent = toExponent(config.epsilon);
if (n >= epsilonExponent) {
return x.toDecimalPlaces(n.toNumber());
}
var xEpsilon = x.toDecimalPlaces(epsilonExponent);
var xSelected = (0, _nearlyEqual.nearlyEqual)(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return xSelected.toDecimalPlaces(n.toNumber());
},

@@ -120,0 +151,0 @@ Fraction: function Fraction(x) {

@@ -69,5 +69,5 @@ "use strict";

var adata = (0, _is.isMatrix)(a) ? a._data : a;
var adt = (0, _is.isMatrix)(a) ? a._datatype : undefined;
var adt = (0, _is.isMatrix)(a) ? a._datatype || a.getDataType() : undefined;
var bdata = (0, _is.isMatrix)(b) ? b._data : b;
var bdt = (0, _is.isMatrix)(b) ? b._datatype : undefined;
var bdt = (0, _is.isMatrix)(b) ? b._datatype || b.getDataType() : undefined;

@@ -81,3 +81,3 @@ // are these 2-dimensional column vectors? (as opposed to 1-dimensional vectors)

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
var dt = adt;

@@ -84,0 +84,0 @@ // find signatures that matches (dt, dt)

@@ -9,4 +9,4 @@ /**

*
* @version 12.3.2
* @date 2024-02-08
* @version 12.4.0
* @date 2024-02-22
*

@@ -13,0 +13,0 @@ * @license

@@ -36,3 +36,3 @@ "use strict";

var asize = denseMatrix._size;
var adt = denseMatrix._datatype;
var adt = denseMatrix._datatype || denseMatrix.getDataType();
// sparse matrix arrays

@@ -43,3 +43,3 @@ var bvalues = sparseMatrix._values;

var bsize = sparseMatrix._size;
var bdt = sparseMatrix._datatype;
var bdt = sparseMatrix._datatype || sparseMatrix._data === undefined ? sparseMatrix._datatype : sparseMatrix.getDataType();

@@ -66,3 +66,3 @@ // validate dimensions

// process data types
var dt = typeof adt === 'string' && adt === bdt ? adt : undefined;
var dt = typeof adt === 'string' && adt !== 'mixed' && adt === bdt ? adt : undefined;
// callback function

@@ -116,5 +116,5 @@ var cf = dt ? typed.find(callback, [dt, dt]) : callback;

size: [rows, columns],
datatype: dt
datatype: adt === denseMatrix._datatype && bdt === sparseMatrix._datatype ? dt : undefined
});
};
});

@@ -37,3 +37,3 @@ "use strict";

var asize = denseMatrix._size;
var adt = denseMatrix._datatype;
var adt = denseMatrix._datatype || denseMatrix.getDataType();
// sparse matrix arrays

@@ -44,3 +44,3 @@ var bvalues = sparseMatrix._values;

var bsize = sparseMatrix._size;
var bdt = sparseMatrix._datatype;
var bdt = sparseMatrix._datatype || sparseMatrix._data === undefined ? sparseMatrix._datatype : sparseMatrix.getDataType();

@@ -76,3 +76,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -120,5 +120,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === denseMatrix._datatype && bdt === sparseMatrix._datatype ? dt : undefined
});
};
});

@@ -36,3 +36,3 @@ "use strict";

var asize = denseMatrix._size;
var adt = denseMatrix._datatype;
var adt = denseMatrix._datatype || denseMatrix.getDataType();
// sparse matrix arrays

@@ -43,3 +43,3 @@ var bvalues = sparseMatrix._values;

var bsize = sparseMatrix._size;
var bdt = sparseMatrix._datatype;
var bdt = sparseMatrix._datatype || sparseMatrix._data === undefined ? sparseMatrix._datatype : sparseMatrix.getDataType();

@@ -73,3 +73,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -126,5 +126,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === denseMatrix._datatype && bdt === sparseMatrix._datatype ? dt : undefined
});
};
});

@@ -38,3 +38,3 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -45,3 +45,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -72,3 +72,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -183,5 +183,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -38,3 +38,3 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -45,3 +45,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -72,3 +72,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -175,5 +175,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -37,7 +37,7 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays
var bvalues = b._values;
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -68,3 +68,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -156,5 +156,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -31,6 +31,6 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -59,3 +59,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -108,3 +108,3 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -111,0 +111,0 @@ };

@@ -38,3 +38,3 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -45,3 +45,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -77,3 +77,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -158,5 +158,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -38,3 +38,3 @@ "use strict";

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -45,3 +45,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -72,3 +72,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -146,5 +146,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -33,2 +33,3 @@ "use strict";

this.wrappedObject = object;
this[Symbol.iterator] = this.entries;
}

@@ -134,2 +135,3 @@ (0, _createClass2["default"])(ObjectWrappingMap, [{

this.bKeys = bKeys;
this[Symbol.iterator] = this.entries;
}

@@ -136,0 +138,0 @@ (0, _createClass2["default"])(PartitionedMap, [{

@@ -7,4 +7,4 @@ "use strict";

exports.version = void 0;
var version = exports.version = '12.3.2';
var version = exports.version = '12.4.0';
// Note: This file is automatically generated when building math.js.
// Changes made in this file will be overwritten.

@@ -596,2 +596,3 @@ /**

DenseMatrix,
config,
equalScalar,

@@ -598,0 +599,0 @@ matrix,

@@ -1412,4 +1412,6 @@ import _extends from "@babel/runtime/helpers/extends";

getToken(state);
params[rows] = parseRow(state);
rows++;
if (state.token !== ']') {
params[rows] = parseRow(state);
rows++;
}
}

@@ -1462,4 +1464,6 @@ if (state.token !== ']') {

// parse expression
params[len] = parseAssignment(state);
len++;
if (state.token !== ']' && state.token !== ';') {
params[len] = parseAssignment(state);
len++;
}
}

@@ -1466,0 +1470,0 @@ return new ArrayNode(params);

@@ -118,7 +118,7 @@ import { factory } from '../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b dense
var bdata = b._data;
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -136,3 +136,3 @@ var alength = asize[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -164,3 +164,3 @@ dt = adt;

size: [bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -209,6 +209,6 @@ }

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b dense
var bdata = b._data;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -226,3 +226,3 @@ var arows = asize[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -256,3 +256,3 @@ dt = adt;

size: [arows],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -270,10 +270,11 @@ }

function _multiplyDenseMatrixDenseMatrix(a, b) {
// getDataType()
// a dense
var adata = a._data;
var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b dense
var bdata = b._data;
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -292,3 +293,3 @@ var arows = asize[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed' && adt !== 'mixed') {
// datatype

@@ -327,3 +328,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -344,3 +345,3 @@ }

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a.getDataType();
// b sparse

@@ -351,3 +352,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();
// validate b matrix

@@ -373,3 +374,3 @@ if (!bvalues) {

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -395,3 +396,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -460,3 +461,3 @@

var aptr = a._ptr;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// validate a matrix

@@ -468,3 +469,3 @@ if (!avalues) {

var bdata = b._data;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -490,3 +491,3 @@ var arows = a._size[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -544,3 +545,3 @@ dt = adt;

// return sparse matrix
// matrix to return
return a.createSparseMatrix({

@@ -551,3 +552,3 @@ values: cvalues,

size: [arows, 1],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -569,3 +570,3 @@ }

var aptr = a._ptr;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// validate a matrix

@@ -577,3 +578,3 @@ if (!avalues) {

var bdata = b._data;
var bdt = b._datatype;
var bdt = b._datatype || b.getDataType();
// rows & columns

@@ -596,3 +597,3 @@ var arows = a._size[0];

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -618,3 +619,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -686,3 +687,3 @@

var aptr = a._ptr;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// b sparse

@@ -692,3 +693,3 @@ var bvalues = b._values;

var bptr = b._ptr;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -709,3 +710,3 @@ // rows & columns

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
// datatype

@@ -728,3 +729,3 @@ dt = adt;

size: [arows, bcolumns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -731,0 +732,0 @@

import { factory } from '../../utils/factory.js';
import { deepMap } from '../../utils/collection.js';
import { nearlyEqual, splitNumber } from '../../utils/number.js';
import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';

@@ -9,10 +11,11 @@ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';

var name = 'round';
var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'BigNumber', 'DenseMatrix'];
var dependencies = ['typed', 'config', 'matrix', 'equalScalar', 'zeros', 'BigNumber', 'DenseMatrix'];
export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
var {
typed,
config,
matrix,
equalScalar,
zeros,
BigNumber,
BigNumber: _BigNumber,
DenseMatrix

@@ -31,2 +34,5 @@ } = _ref;

});
function toExponent(epsilon) {
return Math.abs(splitNumber(epsilon).exponent);
}

@@ -78,4 +84,18 @@ /**

return typed(name, {
number: roundNumber,
'number, number': roundNumber,
number: function number(x) {
// Handle round off errors by first rounding to epsilon precision
var xEpsilon = roundNumber(x, toExponent(config.epsilon));
var xSelected = nearlyEqual(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return roundNumber(xSelected);
},
'number, number': function numberNumber(x, n) {
// Same as number: unless user specifies more decimals than epsilon
var epsilonExponent = toExponent(config.epsilon);
if (n >= epsilonExponent) {
return roundNumber(x, n);
}
var xEpsilon = roundNumber(x, epsilonExponent);
var xSelected = nearlyEqual(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return roundNumber(xSelected, n);
},
'number, BigNumber': function numberBigNumber(x, n) {

@@ -85,3 +105,3 @@ if (!n.isInteger()) {

}
return new BigNumber(x).toDecimalPlaces(n.toNumber());
return new _BigNumber(x).toDecimalPlaces(n.toNumber());
},

@@ -105,3 +125,6 @@ Complex: function Complex(x) {

BigNumber: function BigNumber(x) {
return x.toDecimalPlaces(0);
// Handle round off errors by first rounding to epsilon precision
var xEpsilon = new _BigNumber(x).toDecimalPlaces(toExponent(config.epsilon));
var xSelected = bigNearlyEqual(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return xSelected.toDecimalPlaces(0);
},

@@ -112,3 +135,11 @@ 'BigNumber, BigNumber': function BigNumberBigNumber(x, n) {

}
return x.toDecimalPlaces(n.toNumber());
// Same as BigNumber: unless user specifies more decimals than epsilon
var epsilonExponent = toExponent(config.epsilon);
if (n >= epsilonExponent) {
return x.toDecimalPlaces(n.toNumber());
}
var xEpsilon = x.toDecimalPlaces(epsilonExponent);
var xSelected = bigNearlyEqual(x, xEpsilon, config.epsilon) ? xEpsilon : x;
return xSelected.toDecimalPlaces(n.toNumber());
},

@@ -115,0 +146,0 @@ Fraction: function Fraction(x) {

@@ -65,5 +65,5 @@ import { factory } from '../../utils/factory.js';

var adata = isMatrix(a) ? a._data : a;
var adt = isMatrix(a) ? a._datatype : undefined;
var adt = isMatrix(a) ? a._datatype || a.getDataType() : undefined;
var bdata = isMatrix(b) ? b._data : b;
var bdt = isMatrix(b) ? b._datatype : undefined;
var bdt = isMatrix(b) ? b._datatype || b.getDataType() : undefined;

@@ -77,3 +77,3 @@ // are these 2-dimensional column vectors? (as opposed to 1-dimensional vectors)

// process data types
if (adt && bdt && adt === bdt && typeof adt === 'string') {
if (adt && bdt && adt === bdt && typeof adt === 'string' && adt !== 'mixed') {
var dt = adt;

@@ -80,0 +80,0 @@ // find signatures that matches (dt, dt)

@@ -32,3 +32,3 @@ import { factory } from '../../../utils/factory.js';

var asize = denseMatrix._size;
var adt = denseMatrix._datatype;
var adt = denseMatrix._datatype || denseMatrix.getDataType();
// sparse matrix arrays

@@ -39,3 +39,3 @@ var bvalues = sparseMatrix._values;

var bsize = sparseMatrix._size;
var bdt = sparseMatrix._datatype;
var bdt = sparseMatrix._datatype || sparseMatrix._data === undefined ? sparseMatrix._datatype : sparseMatrix.getDataType();

@@ -62,3 +62,3 @@ // validate dimensions

// process data types
var dt = typeof adt === 'string' && adt === bdt ? adt : undefined;
var dt = typeof adt === 'string' && adt !== 'mixed' && adt === bdt ? adt : undefined;
// callback function

@@ -112,5 +112,5 @@ var cf = dt ? typed.find(callback, [dt, dt]) : callback;

size: [rows, columns],
datatype: dt
datatype: adt === denseMatrix._datatype && bdt === sparseMatrix._datatype ? dt : undefined
});
};
});

@@ -33,3 +33,3 @@ import { factory } from '../../../utils/factory.js';

var asize = denseMatrix._size;
var adt = denseMatrix._datatype;
var adt = denseMatrix._datatype || denseMatrix.getDataType();
// sparse matrix arrays

@@ -40,3 +40,3 @@ var bvalues = sparseMatrix._values;

var bsize = sparseMatrix._size;
var bdt = sparseMatrix._datatype;
var bdt = sparseMatrix._datatype || sparseMatrix._data === undefined ? sparseMatrix._datatype : sparseMatrix.getDataType();

@@ -72,3 +72,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -116,5 +116,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === denseMatrix._datatype && bdt === sparseMatrix._datatype ? dt : undefined
});
};
});

@@ -32,3 +32,3 @@ import { factory } from '../../../utils/factory.js';

var asize = denseMatrix._size;
var adt = denseMatrix._datatype;
var adt = denseMatrix._datatype || denseMatrix.getDataType();
// sparse matrix arrays

@@ -39,3 +39,3 @@ var bvalues = sparseMatrix._values;

var bsize = sparseMatrix._size;
var bdt = sparseMatrix._datatype;
var bdt = sparseMatrix._datatype || sparseMatrix._data === undefined ? sparseMatrix._datatype : sparseMatrix.getDataType();

@@ -69,3 +69,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -122,5 +122,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === denseMatrix._datatype && bdt === sparseMatrix._datatype ? dt : undefined
});
};
});

@@ -34,3 +34,3 @@ import { factory } from '../../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -41,3 +41,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -68,3 +68,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -179,5 +179,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -34,3 +34,3 @@ import { factory } from '../../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -41,3 +41,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -68,3 +68,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -171,5 +171,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -33,7 +33,7 @@ import { factory } from '../../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays
var bvalues = b._values;
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -64,3 +64,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -152,5 +152,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -27,6 +27,6 @@ import { factory } from '../../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays
var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -55,3 +55,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -104,3 +104,3 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});

@@ -107,0 +107,0 @@ };

@@ -34,3 +34,3 @@ import { factory } from '../../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -41,3 +41,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -73,3 +73,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -154,5 +154,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -34,3 +34,3 @@ import { factory } from '../../../utils/factory.js';

var asize = a._size;
var adt = a._datatype;
var adt = a._datatype || a._data === undefined ? a._datatype : a.getDataType();
// sparse matrix arrays

@@ -41,3 +41,3 @@ var bvalues = b._values;

var bsize = b._size;
var bdt = b._datatype;
var bdt = b._datatype || b._data === undefined ? b._datatype : b.getDataType();

@@ -68,3 +68,3 @@ // validate dimensions

// process data types
if (typeof adt === 'string' && adt === bdt) {
if (typeof adt === 'string' && adt === bdt && adt !== 'mixed') {
// datatype

@@ -142,5 +142,5 @@ dt = adt;

size: [rows, columns],
datatype: dt
datatype: adt === a._datatype && bdt === b._datatype ? dt : undefined
});
};
});

@@ -15,2 +15,3 @@ import { setSafeProperty, hasSafeProperty, getSafeProperty } from './customs.js';

this.wrappedObject = object;
this[Symbol.iterator] = this.entries;
}

@@ -75,2 +76,3 @@ keys() {

this.bKeys = bKeys;
this[Symbol.iterator] = this.entries;
}

@@ -77,0 +79,0 @@ get(key) {

@@ -1,3 +0,3 @@

export var version = '12.3.2';
export var version = '12.4.0';
// Note: This file is automatically generated when building math.js.
// Changes made in this file will be overwritten.
{
"name": "mathjs",
"version": "12.3.2",
"version": "12.4.0",
"description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",

@@ -46,4 +46,4 @@ "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",

"@types/mocha": "10.0.6",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"@typescript-eslint/eslint-plugin": "7.0.2",
"@typescript-eslint/parser": "7.0.2",
"assert": "2.1.0",

@@ -54,3 +54,3 @@ "babel-loader": "9.1.3",

"codecov": "3.8.3",
"core-js": "3.35.1",
"core-js": "3.36.0",
"del": "6.1.1",

@@ -62,3 +62,3 @@ "dtslint": "4.2.1",

"eslint-plugin-import": "2.29.1",
"eslint-plugin-mocha": "10.2.0",
"eslint-plugin-mocha": "10.3.0",
"eslint-plugin-n": "16.6.2",

@@ -82,3 +82,3 @@ "eslint-plugin-prettier": "5.1.3",

"mkdirp": "3.0.1",
"mocha": "10.2.0",
"mocha": "10.3.0",
"mocha-junit-reporter": "2.2.1",

@@ -97,3 +97,3 @@ "ndarray": "1.0.19",

"typescript": "5.3.3",
"webpack": "5.90.1",
"webpack": "5.90.3",
"zeros": "1.0.0"

@@ -100,0 +100,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc