constants.js (1874B)
1 "use strict"; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.createBigNumberTau = exports.createBigNumberPi = exports.createBigNumberPhi = exports.createBigNumberE = void 0; 7 8 var _function = require("../function.js"); 9 10 /** 11 * Calculate BigNumber e 12 * @param {function} BigNumber BigNumber constructor 13 * @returns {BigNumber} Returns e 14 */ 15 var createBigNumberE = (0, _function.memoize)(function (BigNumber) { 16 return new BigNumber(1).exp(); 17 }, { 18 hasher: hasher 19 }); 20 /** 21 * Calculate BigNumber golden ratio, phi = (1+sqrt(5))/2 22 * @param {function} BigNumber BigNumber constructor 23 * @returns {BigNumber} Returns phi 24 */ 25 26 exports.createBigNumberE = createBigNumberE; 27 var createBigNumberPhi = (0, _function.memoize)(function (BigNumber) { 28 return new BigNumber(1).plus(new BigNumber(5).sqrt()).div(2); 29 }, { 30 hasher: hasher 31 }); 32 /** 33 * Calculate BigNumber pi. 34 * @param {function} BigNumber BigNumber constructor 35 * @returns {BigNumber} Returns pi 36 */ 37 38 exports.createBigNumberPhi = createBigNumberPhi; 39 var createBigNumberPi = (0, _function.memoize)(function (BigNumber) { 40 return BigNumber.acos(-1); 41 }, { 42 hasher: hasher 43 }); 44 /** 45 * Calculate BigNumber tau, tau = 2 * pi 46 * @param {function} BigNumber BigNumber constructor 47 * @returns {BigNumber} Returns tau 48 */ 49 50 exports.createBigNumberPi = createBigNumberPi; 51 var createBigNumberTau = (0, _function.memoize)(function (BigNumber) { 52 return createBigNumberPi(BigNumber).times(2); 53 }, { 54 hasher: hasher 55 }); 56 /** 57 * Create a hash for a BigNumber constructor function. The created has is 58 * the configured precision 59 * @param {Array} args Supposed to contain a single entry with 60 * a BigNumber constructor 61 * @return {number} precision 62 * @private 63 */ 64 65 exports.createBigNumberTau = createBigNumberTau; 66 67 function hasher(args) { 68 return args[0].precision; 69 }