UNPKG

15.5 kBJavaScriptView Raw
1import {
2 absNumber,
3 acoshNumber,
4 acosNumber,
5 acothNumber,
6 acotNumber,
7 acschNumber,
8 acscNumber,
9 addNumber,
10 andNumber,
11 asechNumber,
12 asecNumber,
13 asinhNumber,
14 asinNumber,
15 atan2Number,
16 atanhNumber,
17 atanNumber,
18 bitAndNumber,
19 bitNotNumber,
20 bitOrNumber,
21 bitXorNumber,
22 cbrtNumber,
23 ceilNumber,
24 combinationsNumber,
25 coshNumber,
26 cosNumber,
27 cothNumber,
28 cotNumber,
29 cschNumber,
30 cscNumber,
31 cubeNumber,
32 divideNumber,
33 expm1Number,
34 expNumber,
35 fixNumber,
36 floorNumber,
37 gammaNumber,
38 gcdNumber,
39 isIntegerNumber,
40 isNaNNumber,
41 isNegativeNumber,
42 isPositiveNumber,
43 isZeroNumber,
44 lcmNumber,
45 leftShiftNumber,
46 log10Number,
47 log1pNumber,
48 log2Number,
49 logNumber,
50 modNumber,
51 multiplyNumber,
52 normNumber,
53 notNumber,
54 orNumber,
55 powNumber,
56 rightArithShiftNumber,
57 rightLogShiftNumber,
58 sechNumber,
59 secNumber,
60 signNumber,
61 sinhNumber,
62 sinNumber,
63 sqrtNumber,
64 squareNumber,
65 subtractNumber,
66 tanhNumber,
67 tanNumber,
68 unaryMinusNumber,
69 unaryPlusNumber,
70 xgcdNumber,
71 xorNumber
72} from './plain/number'
73
74import { factory } from './utils/factory'
75import { noIndex, noMatrix, noSubset } from './utils/noop'
76
77// ----------------------------------------------------------------------------
78// classes and functions
79
80// core
81export { createTyped } from './core/function/typed'
82
83// classes
84export { createResultSet } from './type/resultset/ResultSet'
85export { createRangeClass } from './type/matrix/Range'
86export { createHelpClass } from './expression/Help'
87export { createChainClass } from './type/chain/Chain'
88export { createHelp } from './expression/function/help'
89export { createChain } from './type/chain/function/chain'
90
91// algebra
92export { createSimplify } from './function/algebra/simplify'
93export { createDerivative } from './function/algebra/derivative'
94export { createRationalize } from './function/algebra/rationalize'
95
96// arithmetic
97export const createUnaryMinus = /* #__PURE__ */ createNumberFactory('unaryMinus', unaryMinusNumber)
98export const createUnaryPlus = /* #__PURE__ */ createNumberFactory('unaryPlus', unaryPlusNumber)
99export const createAbs = /* #__PURE__ */ createNumberFactory('abs', absNumber)
100export const createAddScalar = /* #__PURE__ */ createNumberFactory('addScalar', addNumber)
101export const createCbrt = /* #__PURE__ */ createNumberFactory('cbrt', cbrtNumber)
102export const createCeil = /* #__PURE__ */ createNumberFactory('ceil', ceilNumber)
103export const createCube = /* #__PURE__ */ createNumberFactory('cube', cubeNumber)
104export const createExp = /* #__PURE__ */ createNumberFactory('exp', expNumber)
105export const createExpm1 = /* #__PURE__ */ createNumberFactory('expm1', expm1Number)
106export const createFix = /* #__PURE__ */ createNumberFactory('fix', fixNumber)
107export const createFloor = /* #__PURE__ */ createNumberFactory('floor', floorNumber)
108export const createGcd = /* #__PURE__ */ createNumberFactory('gcd', gcdNumber)
109export const createLcm = /* #__PURE__ */ createNumberFactory('lcm', lcmNumber)
110export const createLog10 = /* #__PURE__ */ createNumberFactory('log10', log10Number)
111export const createLog2 = /* #__PURE__ */ createNumberFactory('log2', log2Number)
112export const createMod = /* #__PURE__ */ createNumberFactory('mod', modNumber)
113export const createMultiplyScalar = /* #__PURE__ */ createNumberFactory('multiplyScalar', multiplyNumber)
114export const createMultiply = /* #__PURE__ */ createNumberFactory('multiply', multiplyNumber)
115export { createNthRootNumber as createNthRoot } from './function/arithmetic/nthRoot'
116export const createSign = /* #__PURE__ */ createNumberFactory('sign', signNumber)
117export const createSqrt = /* #__PURE__ */ createNumberFactory('sqrt', sqrtNumber)
118export const createSquare = /* #__PURE__ */ createNumberFactory('square', squareNumber)
119export const createSubtract = /* #__PURE__ */ createNumberFactory('subtract', subtractNumber)
120export const createXgcd = /* #__PURE__ */ createNumberFactory('xgcd', xgcdNumber)
121export const createDivideScalar = /* #__PURE__ */ createNumberFactory('divideScalar', divideNumber)
122export const createPow = /* #__PURE__ */ createNumberFactory('pow', powNumber)
123export { createRoundNumber as createRound } from './function/arithmetic/round'
124export const createLog = /* #__PURE__ */ createNumberFactory('log', logNumber)
125export const createLog1p = /* #__PURE__ */ createNumberFactory('log1p', log1pNumber)
126export const createAdd = /* #__PURE__ */ createNumberFactory('add', addNumber)
127export { createHypot } from './function/arithmetic/hypot'
128export const createNorm = /* #__PURE__ */ createNumberFactory('norm', normNumber)
129export const createDivide = /* #__PURE__ */ createNumberFactory('divide', divideNumber)
130
131// bitwise
132export const createBitAnd = /* #__PURE__ */ createNumberFactory('bitAnd', bitAndNumber)
133export const createBitNot = /* #__PURE__ */ createNumberFactory('bitNot', bitNotNumber)
134export const createBitOr = /* #__PURE__ */ createNumberFactory('bitOr', bitOrNumber)
135export const createBitXor = /* #__PURE__ */ createNumberFactory('bitXor', bitXorNumber)
136export const createLeftShift = /* #__PURE__ */ createNumberFactory('leftShift', leftShiftNumber)
137export const createRightArithShift = /* #__PURE__ */ createNumberFactory('rightArithShift', rightArithShiftNumber)
138export const createRightLogShift = /* #__PURE__ */ createNumberFactory('rightLogShift', rightLogShiftNumber)
139
140// combinatorics
141export { createStirlingS2 } from './function/combinatorics/stirlingS2'
142export { createBellNumbers } from './function/combinatorics/bellNumbers'
143export { createCatalan } from './function/combinatorics/catalan'
144export { createComposition } from './function/combinatorics/composition'
145
146// constants
147export {
148 createE,
149 createUppercaseE,
150 createFalse,
151 // createI,
152 createInfinity,
153 createLN10,
154 createLN2,
155 createLOG10E,
156 createLOG2E,
157 createNaN,
158 createNull,
159 createPhi,
160 createPi,
161 createUppercasePi,
162 createSQRT1_2, // eslint-disable-line camelcase
163 createSQRT2,
164 createTau,
165 createTrue,
166 createVersion
167} from './constants'
168
169// create
170export { createNumber } from './type/number'
171export { createString } from './type/string'
172export { createBoolean } from './type/boolean'
173export { createParser } from './expression/function/parser'
174
175// expression
176export { createNode } from './expression/node/Node'
177export { createAccessorNode } from './expression/node/AccessorNode'
178export { createArrayNode } from './expression/node/ArrayNode'
179export { createAssignmentNode } from './expression/node/AssignmentNode'
180export { createBlockNode } from './expression/node/BlockNode'
181export { createConditionalNode } from './expression/node/ConditionalNode'
182export { createConstantNode } from './expression/node/ConstantNode'
183export { createFunctionAssignmentNode } from './expression/node/FunctionAssignmentNode'
184export { createIndexNode } from './expression/node/IndexNode'
185export { createObjectNode } from './expression/node/ObjectNode'
186export { createOperatorNode } from './expression/node/OperatorNode'
187export { createParenthesisNode } from './expression/node/ParenthesisNode'
188export { createRangeNode } from './expression/node/RangeNode'
189export { createRelationalNode } from './expression/node/RelationalNode'
190export { createSymbolNode } from './expression/node/SymbolNode'
191export { createFunctionNode } from './expression/node/FunctionNode'
192export { createParse } from './expression/parse'
193export { createCompile } from './expression/function/compile'
194export { createEvaluate } from './expression/function/evaluate'
195export { createParserClass } from './expression/Parser'
196
197// logical
198export const createAnd = /* #__PURE__ */ createNumberFactory('and', andNumber)
199export const createNot = /* #__PURE__ */ createNumberFactory('not', notNumber)
200export const createOr = /* #__PURE__ */ createNumberFactory('or', orNumber)
201export const createXor = /* #__PURE__ */ createNumberFactory('xor', xorNumber)
202
203// matrix
204export { createApply } from './function/matrix/apply'
205export { createFilter } from './function/matrix/filter'
206export { createForEach } from './function/matrix/forEach'
207export { createMap } from './function/matrix/map'
208export { createRange } from './function/matrix/range'
209export { createSize } from './function/matrix/size'
210// FIXME: create a lightweight "number" implementation of subset only supporting plain objects/arrays
211export const createIndex = /* #__PURE__ */ factory('index', [], () => noIndex)
212export const createMatrix = /* #__PURE__ */ factory('matrix', [], () => noMatrix) // FIXME: needed now because subset transform needs it. Remove the need for it in subset
213export const createSubset = /* #__PURE__ */ factory('subset', [], () => noSubset)
214// TODO: provide number+array implementations for map, filter, forEach, zeros, ...?
215// TODO: create range implementation for range?
216export { createPartitionSelect } from './function/matrix/partitionSelect'
217
218// probability
219export const createCombinations = createNumberFactory('combinations', combinationsNumber)
220export const createGamma = createNumberFactory('gamma', gammaNumber)
221export { createCombinationsWithRep } from './function/probability/combinationsWithRep'
222export { createFactorial } from './function/probability/factorial'
223export { createMultinomial } from './function/probability/multinomial'
224export { createPermutations } from './function/probability/permutations'
225export { createPickRandom } from './function/probability/pickRandom'
226export { createRandomNumber as createRandom } from './function/probability/random'
227export { createRandomInt } from './function/probability/randomInt'
228
229// relational
230export { createEqualScalarNumber as createEqualScalar } from './function/relational/equalScalar'
231export { createCompareNumber as createCompare } from './function/relational/compare'
232export { createCompareNatural } from './function/relational/compareNatural'
233export { createCompareTextNumber as createCompareText } from './function/relational/compareText'
234export { createEqualNumber as createEqual } from './function/relational/equal'
235export { createEqualText } from './function/relational/equalText'
236export { createSmallerNumber as createSmaller } from './function/relational/smaller'
237export { createSmallerEqNumber as createSmallerEq } from './function/relational/smallerEq'
238export { createLargerNumber as createLarger } from './function/relational/larger'
239export { createLargerEqNumber as createLargerEq } from './function/relational/largerEq'
240export { createDeepEqual } from './function/relational/deepEqual'
241export { createUnequalNumber as createUnequal } from './function/relational/unequal'
242
243// special
244export { createErf } from './function/special/erf'
245
246// statistics
247export { createMode } from './function/statistics/mode'
248export { createProd } from './function/statistics/prod'
249export { createMax } from './function/statistics/max'
250export { createMin } from './function/statistics/min'
251export { createSum } from './function/statistics/sum'
252export { createMean } from './function/statistics/mean'
253export { createMedian } from './function/statistics/median'
254export { createMad } from './function/statistics/mad'
255export { createVariance } from './function/statistics/variance'
256export { createQuantileSeq } from './function/statistics/quantileSeq'
257export { createStd } from './function/statistics/std'
258
259// string
260export { createFormat } from './function/string/format'
261export { createPrint } from './function/string/print'
262
263// trigonometry
264export const createAcos = /* #__PURE__ */ createNumberFactory('acos', acosNumber)
265export const createAcosh = /* #__PURE__ */ createNumberFactory('acosh', acoshNumber)
266export const createAcot = /* #__PURE__ */ createNumberFactory('acot', acotNumber)
267export const createAcoth = /* #__PURE__ */ createNumberFactory('acoth', acothNumber)
268export const createAcsc = /* #__PURE__ */ createNumberFactory('acsc', acscNumber)
269export const createAcsch = /* #__PURE__ */ createNumberFactory('acsch', acschNumber)
270export const createAsec = /* #__PURE__ */ createNumberFactory('asec', asecNumber)
271export const createAsech = /* #__PURE__ */ createNumberFactory('asech', asechNumber)
272export const createAsin = /* #__PURE__ */ createNumberFactory('asin', asinNumber)
273export const createAsinh = /* #__PURE__ */ createNumberFactory('asinh', asinhNumber)
274export const createAtan = /* #__PURE__ */ createNumberFactory('atan', atanNumber)
275export const createAtan2 = /* #__PURE__ */ createNumberFactory('atan2', atan2Number)
276export const createAtanh = /* #__PURE__ */ createNumberFactory('atanh', atanhNumber)
277export const createCos = /* #__PURE__ */ createNumberFactory('cos', cosNumber)
278export const createCosh = /* #__PURE__ */ createNumberFactory('cosh', coshNumber)
279export const createCot = /* #__PURE__ */ createNumberFactory('cot', cotNumber)
280export const createCoth = /* #__PURE__ */ createNumberFactory('coth', cothNumber)
281export const createCsc = /* #__PURE__ */ createNumberFactory('csc', cscNumber)
282export const createCsch = /* #__PURE__ */ createNumberFactory('csch', cschNumber)
283export const createSec = /* #__PURE__ */ createNumberFactory('sec', secNumber)
284export const createSech = /* #__PURE__ */ createNumberFactory('sech', sechNumber)
285export const createSin = /* #__PURE__ */ createNumberFactory('sin', sinNumber)
286export const createSinh = /* #__PURE__ */ createNumberFactory('sinh', sinhNumber)
287export const createTan = /* #__PURE__ */ createNumberFactory('tan', tanNumber)
288export const createTanh = /* #__PURE__ */ createNumberFactory('tanh', tanhNumber)
289
290// transforms
291export { createApplyTransform } from './expression/transform/apply.transform'
292export { createFilterTransform } from './expression/transform/filter.transform'
293export { createForEachTransform } from './expression/transform/forEach.transform'
294export { createMapTransform } from './expression/transform/map.transform'
295export { createMaxTransform } from './expression/transform/max.transform'
296export { createMeanTransform } from './expression/transform/mean.transform'
297export { createMinTransform } from './expression/transform/min.transform'
298export { createRangeTransform } from './expression/transform/range.transform'
299export { createSubsetTransform } from './expression/transform/subset.transform'
300export { createStdTransform } from './expression/transform/std.transform'
301export { createSumTransform } from './expression/transform/sum.transform'
302export { createVarianceTransform } from './expression/transform/variance.transform'
303
304// utils
305export { createClone } from './function/utils/clone'
306export const createIsInteger = /* #__PURE__ */ createNumberFactory('isInteger', isIntegerNumber)
307export const createIsNegative = /* #__PURE__ */ createNumberFactory('isNegative', isNegativeNumber)
308export { createIsNumeric } from './function/utils/isNumeric'
309export { createHasNumericValue } from './function/utils/hasNumericValue'
310export const createIsPositive = /* #__PURE__ */ createNumberFactory('isPositive', isPositiveNumber)
311export const createIsZero = /* #__PURE__ */ createNumberFactory('isZero', isZeroNumber)
312export const createIsNaN = /* #__PURE__ */ createNumberFactory('isNaN', isNaNNumber)
313export { createTypeOf } from './function/utils/typeOf'
314export { createIsPrime } from './function/utils/isPrime'
315export { createNumeric } from './function/utils/numeric'
316
317// json
318export { createReviver } from './json/reviver'
319
320// helper function to create a factory function for a function which only needs typed-function
321function createNumberFactory (name, fn) {
322 return factory(name, ['typed'], ({ typed }) => typed(fn))
323}