Intial Commit
This commit is contained in:
58
nodered/rootfs/data/node_modules/mathjs/examples/chaining.js
generated
vendored
Normal file
58
nodered/rootfs/data/node_modules/mathjs/examples/chaining.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
// chaining
|
||||
|
||||
// load math.js (using node.js)
|
||||
var math = require('../index');
|
||||
|
||||
// create a chained operation using the function `chain(value)`
|
||||
// end a chain using done(). Let's calculate (3 + 4) * 2
|
||||
var a = math.chain(3)
|
||||
.add(4)
|
||||
.multiply(2)
|
||||
.done();
|
||||
print(a); // 14
|
||||
|
||||
// Another example, calculate square(sin(pi / 4))
|
||||
var b = math.chain(math.pi)
|
||||
.divide(4)
|
||||
.sin()
|
||||
.square()
|
||||
.done();
|
||||
print(b); // 0.5
|
||||
|
||||
// A chain has a few special methods: done, toString, valueOf, get, and set.
|
||||
// these are demonstrated in the following examples
|
||||
|
||||
// toString will return a string representation of the chain's value
|
||||
var chain = math.chain(2).divide(3);
|
||||
var str = chain.toString();
|
||||
print(str); // "0.6666666666666666"
|
||||
|
||||
// a chain has a function .valueOf(), which returns the value hold by the chain.
|
||||
// This allows using it in regular operations. The function valueOf() acts the
|
||||
// same as function done().
|
||||
print(chain.valueOf()); // 0.66666666666667
|
||||
print(chain + 2); // 2.6666666666667
|
||||
|
||||
|
||||
// the function subset can be used to get or replace sub matrices
|
||||
var array = [[1, 2], [3, 4]];
|
||||
var v = math.chain(array)
|
||||
.subset(math.index(1, 0))
|
||||
.done();
|
||||
print(v); // 3
|
||||
|
||||
var m = math.chain(array)
|
||||
.subset(math.index(0, 0), 8)
|
||||
.multiply(3)
|
||||
.done();
|
||||
print(m); // [[24, 6], [9, 12]]
|
||||
|
||||
|
||||
/**
|
||||
* Helper function to output a value in the console. Value will be formatted.
|
||||
* @param {*} value
|
||||
*/
|
||||
function print (value) {
|
||||
var precision = 14;
|
||||
console.log(math.format(value, precision));
|
||||
}
|
||||
Reference in New Issue
Block a user