39 lines
1.6 KiB
JavaScript
39 lines
1.6 KiB
JavaScript
|
var core = require('./core');
|
||
|
|
||
|
/**
|
||
|
* math.js factory function. Creates a new instance of math.js
|
||
|
*
|
||
|
* @param {Object} [config] Available configuration options:
|
||
|
* {number} epsilon
|
||
|
* Minimum relative difference between two
|
||
|
* compared values, used by all comparison functions.
|
||
|
* {string} matrix
|
||
|
* A string 'matrix' (default) or 'array'.
|
||
|
* {string} number
|
||
|
* A string 'number' (default), 'bignumber', or
|
||
|
* 'fraction'
|
||
|
* {number} precision
|
||
|
* The number of significant digits for BigNumbers.
|
||
|
* Not applicable for Numbers.
|
||
|
* {boolean} predictable
|
||
|
* Predictable output type of functions. When true,
|
||
|
* output type depends only on the input types. When
|
||
|
* false (default), output type can vary depending
|
||
|
* on input values. For example `math.sqrt(-4)`
|
||
|
* returns `complex('2i')` when predictable is false, and
|
||
|
* returns `NaN` when true.
|
||
|
*/
|
||
|
function create (config) {
|
||
|
// create a new math.js instance
|
||
|
var math = core.create(config);
|
||
|
math.create = create;
|
||
|
|
||
|
// import data types, functions, constants, expression parser, etc.
|
||
|
math['import'](require('./lib'));
|
||
|
|
||
|
return math;
|
||
|
}
|
||
|
|
||
|
// return a new instance of math.js
|
||
|
module.exports = create();
|