@cortex-js/compute-engine 0.57.0 → 0.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/compile.esm.js +2376 -501
- package/dist/compile.min.esm.js +316 -68
- package/dist/compile.min.umd.cjs +316 -68
- package/dist/compile.umd.cjs +2376 -501
- package/dist/compute-engine.esm.js +15717 -12444
- package/dist/compute-engine.min.esm.js +331 -83
- package/dist/compute-engine.min.umd.cjs +330 -82
- package/dist/compute-engine.umd.cjs +15717 -12444
- package/dist/core.esm.js +15716 -12443
- package/dist/core.min.esm.js +329 -81
- package/dist/core.min.umd.cjs +329 -81
- package/dist/core.umd.cjs +15716 -12443
- package/dist/identities.esm.js +1921 -0
- package/dist/identities.min.esm.js +2 -0
- package/dist/identities.min.umd.cjs +4 -0
- package/dist/identities.umd.cjs +1946 -0
- package/dist/interval.esm.js +779 -339
- package/dist/interval.min.esm.js +8 -8
- package/dist/interval.min.umd.cjs +8 -8
- package/dist/interval.umd.cjs +779 -339
- package/dist/latex-syntax.esm.js +971 -608
- package/dist/latex-syntax.min.esm.js +7 -7
- package/dist/latex-syntax.min.umd.cjs +7 -7
- package/dist/latex-syntax.umd.cjs +971 -608
- package/dist/math-json.esm.js +8 -12
- package/dist/math-json.min.esm.js +2 -2
- package/dist/math-json.min.umd.cjs +2 -2
- package/dist/math-json.umd.cjs +8 -12
- package/dist/numerics.esm.js +1382 -226
- package/dist/numerics.min.esm.js +16 -5
- package/dist/numerics.min.umd.cjs +16 -5
- package/dist/numerics.umd.cjs +1382 -226
- package/dist/types/big-decimal/big-decimal.d.ts +1 -1
- package/dist/types/big-decimal/index.d.ts +1 -1
- package/dist/types/big-decimal/transcendentals.d.ts +1 -1
- package/dist/types/big-decimal/utils.d.ts +1 -1
- package/dist/types/common/ansi-codes.d.ts +1 -1
- package/dist/types/common/configuration-change.d.ts +1 -1
- package/dist/types/common/fuzzy-string-match.d.ts +1 -1
- package/dist/types/common/grapheme-splitter.d.ts +1 -1
- package/dist/types/common/interruptible.d.ts +1 -1
- package/dist/types/common/one-of.d.ts +1 -1
- package/dist/types/common/signals.d.ts +1 -1
- package/dist/types/common/type/ast-nodes.d.ts +1 -1
- package/dist/types/common/type/boxed-type.d.ts +1 -1
- package/dist/types/common/type/lexer.d.ts +1 -1
- package/dist/types/common/type/parse.d.ts +1 -208
- package/dist/types/common/type/parser.d.ts +124 -2
- package/dist/types/common/type/primitive.d.ts +5 -1
- package/dist/types/common/type/reduce.d.ts +1 -1
- package/dist/types/common/type/serialize.d.ts +1 -1
- package/dist/types/common/type/subtype.d.ts +18 -1
- package/dist/types/common/type/type-builder.d.ts +1 -1
- package/dist/types/common/type/types.d.ts +1 -1
- package/dist/types/common/type/utils.d.ts +1 -1
- package/dist/types/common/utils.d.ts +1 -1
- package/dist/types/compile.d.ts +1 -1
- package/dist/types/compute-engine/assume.d.ts +13 -6
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +3 -1
- package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +7 -1
- package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +3 -3
- package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/constants.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/constraint-subject.d.ts +140 -0
- package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/inequality-bounds.d.ts +34 -12
- package/dist/types/compute-engine/boxed-expression/init-lazy-refs.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/invisible-operator.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/pattern-utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/polynomial-degree.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/predicates.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/rule-index.d.ts +112 -0
- package/dist/types/compute-engine/boxed-expression/rules.d.ts +2 -1
- package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/stochastic-equal.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/type-guards.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
- package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
- package/dist/types/compute-engine/collection-utils.d.ts +1 -1
- package/dist/types/compute-engine/compilation/base-compiler.d.ts +8 -1
- package/dist/types/compute-engine/compilation/compile-expression.d.ts +1 -1
- package/dist/types/compute-engine/compilation/constant-folding.d.ts +16 -1
- package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
- package/dist/types/compute-engine/compilation/gpu-target.d.ts +58 -5
- package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +4 -4
- package/dist/types/compute-engine/compilation/javascript-target.d.ts +1 -1
- package/dist/types/compute-engine/compilation/python-target.d.ts +1 -1
- package/dist/types/compute-engine/compilation/types.d.ts +1 -1
- package/dist/types/compute-engine/compilation/wgsl-target.d.ts +1 -1
- package/dist/types/compute-engine/cost-function.d.ts +1 -1
- package/dist/types/compute-engine/engine-assumptions.d.ts +1 -1
- package/dist/types/compute-engine/engine-cache.d.ts +1 -1
- package/dist/types/compute-engine/engine-common-symbols.d.ts +1 -1
- package/dist/types/compute-engine/engine-compilation-targets.d.ts +1 -1
- package/dist/types/compute-engine/engine-configuration-lifecycle.d.ts +1 -1
- package/dist/types/compute-engine/engine-declarations.d.ts +1 -1
- package/dist/types/compute-engine/engine-expression-entrypoints.d.ts +1 -1
- package/dist/types/compute-engine/engine-extension-contracts.d.ts +1 -1
- package/dist/types/compute-engine/engine-library-bootstrap.d.ts +1 -1
- package/dist/types/compute-engine/engine-numeric-configuration.d.ts +1 -1
- package/dist/types/compute-engine/engine-runtime-state.d.ts +4 -1
- package/dist/types/compute-engine/engine-scope.d.ts +1 -1
- package/dist/types/compute-engine/engine-sequences.d.ts +1 -1
- package/dist/types/compute-engine/engine-simplification-rules.d.ts +10 -2
- package/dist/types/compute-engine/engine-startup-coordinator.d.ts +1 -1
- package/dist/types/compute-engine/engine-type-resolver.d.ts +1 -1
- package/dist/types/compute-engine/engine-validation-entrypoints.d.ts +1 -1
- package/dist/types/compute-engine/free-functions.d.ts +1 -1
- package/dist/types/compute-engine/function-utils.d.ts +1 -1
- package/dist/types/compute-engine/fungrim/loader.d.ts +13 -0
- package/dist/types/compute-engine/fungrim/types.d.ts +160 -0
- package/dist/types/compute-engine/global-types.d.ts +1 -1
- package/dist/types/compute-engine/index.d.ts +63 -2
- package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
- package/dist/types/compute-engine/interval/elementary.d.ts +10 -2
- package/dist/types/compute-engine/interval/index.d.ts +2 -2
- package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
- package/dist/types/compute-engine/interval/types.d.ts +1 -1
- package/dist/types/compute-engine/interval/util.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/default-dictionary.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-colors.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions-units.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/dictionary/indexed-types.d.ts +4 -1
- package/dist/types/compute-engine/latex-syntax/latex-syntax.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse-number.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/parse.d.ts +3 -2
- package/dist/types/compute-engine/latex-syntax/serialize-dms.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -11
- package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/types.d.ts +1 -1
- package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
- package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/library/calculus.d.ts +1 -1
- package/dist/types/compute-engine/library/collections.d.ts +1 -1
- package/dist/types/compute-engine/library/colors.d.ts +1 -1
- package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
- package/dist/types/compute-engine/library/complex.d.ts +13 -1
- package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
- package/dist/types/compute-engine/library/core.d.ts +1 -1
- package/dist/types/compute-engine/library/fractals.d.ts +1 -1
- package/dist/types/compute-engine/library/library.d.ts +1 -1
- package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
- package/dist/types/compute-engine/library/logic.d.ts +1 -1
- package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
- package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
- package/dist/types/compute-engine/library/quantity-arithmetic.d.ts +1 -1
- package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
- package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
- package/dist/types/compute-engine/library/sets.d.ts +27 -1
- package/dist/types/compute-engine/library/statistics.d.ts +1 -1
- package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
- package/dist/types/compute-engine/library/type-handlers.d.ts +1 -1
- package/dist/types/compute-engine/library/unit-data.d.ts +1 -1
- package/dist/types/compute-engine/library/units.d.ts +1 -1
- package/dist/types/compute-engine/library/utils.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +7 -1
- package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
- package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
- package/dist/types/compute-engine/numerics/bernoulli.d.ts +39 -0
- package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
- package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
- package/dist/types/compute-engine/numerics/linear-algebra.d.ts +1 -1
- package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
- package/dist/types/compute-engine/numerics/numeric-complex.d.ts +12 -1
- package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
- package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
- package/dist/types/compute-engine/numerics/random.d.ts +23 -0
- package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
- package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
- package/dist/types/compute-engine/numerics/special-functions.d.ts +78 -10
- package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
- package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
- package/dist/types/compute-engine/numerics/types.d.ts +1 -1
- package/dist/types/compute-engine/numerics/unit-data.d.ts +1 -1
- package/dist/types/compute-engine/oeis.d.ts +1 -1
- package/dist/types/compute-engine/sequence.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/logic-utils.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-factorial.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-logic.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
- package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
- package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
- package/dist/types/compute-engine/tensor/tensors.d.ts +3 -3
- package/dist/types/compute-engine/types-definitions.d.ts +1 -1
- package/dist/types/compute-engine/types-engine.d.ts +52 -3
- package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
- package/dist/types/compute-engine/types-expression.d.ts +85 -14
- package/dist/types/compute-engine/types-kernel-evaluation.d.ts +32 -1
- package/dist/types/compute-engine/types-kernel-serialization.d.ts +45 -3
- package/dist/types/compute-engine/types-serialization.d.ts +1 -1
- package/dist/types/compute-engine/types.d.ts +1 -1
- package/dist/types/compute-engine.d.ts +1 -1
- package/dist/types/core.d.ts +1 -1
- package/dist/types/identities.d.ts +3 -0
- package/dist/types/interval.d.ts +1 -1
- package/dist/types/latex-syntax.d.ts +2 -2
- package/dist/types/math-json/symbols.d.ts +1 -1
- package/dist/types/math-json/types.d.ts +1 -1
- package/dist/types/math-json/utils.d.ts +1 -1
- package/dist/types/math-json.d.ts +2 -2
- package/dist/types/numerics.d.ts +1 -1
- package/package.json +9 -3
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
import { BigDecimal } from '../big-decimal';
|
|
3
3
|
import { Type, TypeResolver, TypeString } from '../common/type/types';
|
|
4
4
|
import { BoxedType } from '../common/type/boxed-type';
|
|
5
5
|
import type { OneOf } from '../common/one-of';
|
|
6
6
|
import type { ConfigurationChangeListener } from '../common/configuration-change';
|
|
7
7
|
import type { MathJsonExpression, MathJsonSymbol, MathJsonNumberObject } from '../math-json/types';
|
|
8
|
-
import type { ValueDefinition, OperatorDefinition, AngularUnit, AssignValue, AssumeResult, Expression, BoxedRule, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, Metadata, Rule, Scope, EvalContext, ExpressionInput, IComputeEngine, ILatexSyntax, BoxedDefinition, SymbolDefinition, SequenceDefinition, SequenceStatus, SequenceInfo, OEISSequenceInfo, OEISOptions, LibraryDefinition, OperatorInfo } from './global-types';
|
|
8
|
+
import type { ValueDefinition, OperatorDefinition, AngularUnit, AssignValue, AssumeResult, Expression, BoxedRule, BoxedRuleSet, BoxedSubstitution, CanonicalOptions, Metadata, Rule, RulePurpose, Scope, EvalContext, ExpressionInput, IComputeEngine, ILatexSyntax, BoxedDefinition, SymbolDefinition, SequenceDefinition, SequenceStatus, SequenceInfo, OEISSequenceInfo, OEISOptions, LibraryDefinition, OperatorInfo, SymbolInfo } from './global-types';
|
|
9
9
|
import type { LibraryCategory, ParseLatexOptions, SerializeLatexOptions } from './latex-syntax/types';
|
|
10
10
|
import type { BigNum, Rational } from './numerics/types';
|
|
11
11
|
import { ExactNumericValueData, NumericValue, NumericValueData } from './numeric-value/types';
|
|
@@ -92,6 +92,10 @@ export declare class ComputeEngine implements IComputeEngine {
|
|
|
92
92
|
private _cost?;
|
|
93
93
|
/** @internal Backing state for simplificationRules */
|
|
94
94
|
private _simplificationRules;
|
|
95
|
+
/** @internal Backing state for solveRules */
|
|
96
|
+
private _solveRules;
|
|
97
|
+
/** @internal Backing state for harmonizationRules */
|
|
98
|
+
private _harmonizationRules;
|
|
95
99
|
/** @internal Registry of compilation targets */
|
|
96
100
|
private _compilationTargets;
|
|
97
101
|
/** @internal Fu trigonometric simplification algorithm */
|
|
@@ -112,6 +116,8 @@ export declare class ComputeEngine implements IComputeEngine {
|
|
|
112
116
|
get contextStack(): ReadonlyArray<EvalContext>;
|
|
113
117
|
set contextStack(stack: ReadonlyArray<EvalContext>);
|
|
114
118
|
/** @internal */
|
|
119
|
+
private __typeResolver;
|
|
120
|
+
/** @internal */
|
|
115
121
|
get _typeResolver(): TypeResolver;
|
|
116
122
|
/**
|
|
117
123
|
* Declare a new type in the current scope.
|
|
@@ -259,6 +265,19 @@ export declare class ComputeEngine implements IComputeEngine {
|
|
|
259
265
|
*/
|
|
260
266
|
get recursionLimit(): number;
|
|
261
267
|
set recursionLimit(t: number);
|
|
268
|
+
/** Maximum number of elements a collection may have when materialized
|
|
269
|
+
* (converted from a lazy form to a `List`). Default: 10,000.
|
|
270
|
+
*
|
|
271
|
+
* When a materialization would exceed this size, the operation leaves
|
|
272
|
+
* the expression in its lazy form. Consumers can detect oversize
|
|
273
|
+
* collections via the symbolic form's `count`.
|
|
274
|
+
*
|
|
275
|
+
* Set to `Infinity` (or `0` / a negative number) to disable the cap.
|
|
276
|
+
*
|
|
277
|
+
* @experimental
|
|
278
|
+
*/
|
|
279
|
+
get maxCollectionSize(): number;
|
|
280
|
+
set maxCollectionSize(t: number);
|
|
262
281
|
/**
|
|
263
282
|
* Flag to prevent infinite recursion in the verify/ask/equality checking cycle.
|
|
264
283
|
*
|
|
@@ -432,12 +451,51 @@ export declare class ComputeEngine implements IComputeEngine {
|
|
|
432
451
|
*/
|
|
433
452
|
get simplificationRules(): Rule[];
|
|
434
453
|
set simplificationRules(rules: Rule[]);
|
|
454
|
+
/**
|
|
455
|
+
* The rules used by `solve()` to find roots of univariate expressions.
|
|
456
|
+
*
|
|
457
|
+
* Each rule matches a normalized equation `f(_x) = 0` — the unknown is
|
|
458
|
+
* the wildcard `_x` — and `replace` produces a root expression.
|
|
459
|
+
* Conditions should reject matches where other wildcards capture `_x`.
|
|
460
|
+
*
|
|
461
|
+
* Candidate roots are validated against the original equation, so an
|
|
462
|
+
* over-eager template degrades to a no-op rather than a wrong answer.
|
|
463
|
+
*
|
|
464
|
+
* Initialized to a copy of the built-in root-finding rules.
|
|
465
|
+
*
|
|
466
|
+
* Add custom rules with `push()`:
|
|
467
|
+
* ```ts
|
|
468
|
+
* ce.solveRules.push({
|
|
469
|
+
* match: ['Add', ['Tan', '_x'], '__b'],
|
|
470
|
+
* replace: ['Arctan', ['Negate', '__b']],
|
|
471
|
+
* condition: ({ __b }) => !__b.has('_x'),
|
|
472
|
+
* });
|
|
473
|
+
* ```
|
|
474
|
+
*
|
|
475
|
+
* Or replace entirely:
|
|
476
|
+
* ```ts
|
|
477
|
+
* ce.solveRules = myCustomRules;
|
|
478
|
+
* ```
|
|
479
|
+
*/
|
|
480
|
+
get solveRules(): Rule[];
|
|
481
|
+
set solveRules(rules: Rule[]);
|
|
482
|
+
/**
|
|
483
|
+
* The rules used by `solve()` to transform an equation into equivalent,
|
|
484
|
+
* easier-to-solve forms before root-finding (e.g. `ln f(x) → f(x) - 1`).
|
|
485
|
+
*
|
|
486
|
+
* Same conventions and extension pattern as `solveRules`: the unknown is
|
|
487
|
+
* the wildcard `_x`; `push()` to extend, assign to replace.
|
|
488
|
+
*/
|
|
489
|
+
get harmonizationRules(): Rule[];
|
|
490
|
+
set harmonizationRules(rules: Rule[]);
|
|
435
491
|
/**
|
|
436
492
|
* Return definition matching the symbol, starting with the current
|
|
437
493
|
* lexical scope and going up the scope chain.
|
|
438
494
|
*/
|
|
439
495
|
lookupDefinition(id: MathJsonSymbol): undefined | BoxedDefinition;
|
|
496
|
+
normalizeIdentifier(latex: string): string;
|
|
440
497
|
operatorInfo(head: string): OperatorInfo | undefined;
|
|
498
|
+
symbolInfo(name: string): SymbolInfo | undefined;
|
|
441
499
|
/**
|
|
442
500
|
* Associate a new definition to a symbol in the current context.
|
|
443
501
|
*
|
|
@@ -723,6 +781,9 @@ export declare class ComputeEngine implements IComputeEngine {
|
|
|
723
781
|
}): Expression;
|
|
724
782
|
rules(rules: Rule | ReadonlyArray<Rule | BoxedRule> | BoxedRuleSet | undefined | null, options?: {
|
|
725
783
|
canonical?: boolean;
|
|
784
|
+
/** Default purpose applied to any rule in the set that doesn't carry
|
|
785
|
+
* its own `purpose` tag (a per-rule tag takes precedence). */
|
|
786
|
+
purpose?: RulePurpose;
|
|
726
787
|
}): BoxedRuleSet;
|
|
727
788
|
/**
|
|
728
789
|
* Return a set of built-in rules.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
* Elementary interval functions (sqrt, pow, exp, ln, abs, floor, ceil, min, max, mod)
|
|
3
3
|
*
|
|
4
4
|
* @module interval/elementary
|
|
@@ -173,15 +173,23 @@ export declare function factorial(x: Interval | IntervalResult): IntervalResult;
|
|
|
173
173
|
export declare function factorial2(x: Interval | IntervalResult): IntervalResult;
|
|
174
174
|
/**
|
|
175
175
|
* Binomial coefficient C(n, k) on intervals.
|
|
176
|
-
*
|
|
176
|
+
*
|
|
177
|
+
* Both arguments are rounded to nearest integer. C(n, k) is not monotone in k
|
|
178
|
+
* (it peaks at k ≈ n/2), so the enclosure enumerates the integer grid.
|
|
177
179
|
*/
|
|
178
180
|
export declare function binomial(n: Interval | IntervalResult, k: Interval | IntervalResult): IntervalResult;
|
|
179
181
|
/**
|
|
180
182
|
* GCD on intervals. Both arguments rounded to nearest integer.
|
|
183
|
+
*
|
|
184
|
+
* gcd is not monotone (e.g. gcd(6, 5) = 1 sits between gcd(6, 6) = 6 and
|
|
185
|
+
* gcd(6, 4) = 2), so the enclosure enumerates the integer grid.
|
|
181
186
|
*/
|
|
182
187
|
export declare function gcd(a: Interval | IntervalResult, b: Interval | IntervalResult): IntervalResult;
|
|
183
188
|
/**
|
|
184
189
|
* LCM on intervals. Both arguments rounded to nearest integer.
|
|
190
|
+
*
|
|
191
|
+
* lcm is not monotone (e.g. lcm(2, 5) = 10 exceeds lcm(2, 6) = 6), so the
|
|
192
|
+
* enclosure enumerates the integer grid.
|
|
185
193
|
*/
|
|
186
194
|
export declare function lcm(a: Interval | IntervalResult, b: Interval | IntervalResult): IntervalResult;
|
|
187
195
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
* Interval arithmetic library for reliable function evaluation
|
|
3
3
|
*
|
|
4
4
|
* This module provides interval versions of mathematical operations
|
|
@@ -16,7 +16,7 @@ import { less as _less, lessEqual as _lessEqual, greater as _greater, greaterEqu
|
|
|
16
16
|
export type { Interval, IntervalResult, BoolInterval } from './types';
|
|
17
17
|
export { ok, point, containsExtremum, unionResults, mergeDomainClip, isPoint, containsZero, isPositive, isNegative, isNonNegative, isNonPositive, width, midpoint, getValue, unwrap, unwrapOrPropagate, } from './util';
|
|
18
18
|
export { add, sub, mul, div, negate, _mul } from './arithmetic';
|
|
19
|
-
export { sqrt, square, pow, powInterval, exp, ln, log10, log2, abs, floor, ceil, round, fract, trunc, min, max, mod, remainder, heaviside, sign, gamma, gammaln, factorial, factorial2, } from './elementary';
|
|
19
|
+
export { sqrt, square, pow, powInterval, exp, ln, log10, log2, abs, floor, ceil, round, fract, trunc, min, max, mod, remainder, heaviside, sign, gamma, gammaln, factorial, factorial2, binomial, gcd, lcm, } from './elementary';
|
|
20
20
|
export { sin, cos, tan, cot, sec, csc, asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh, atanh, acot, acsc, asec, coth, csch, sech, acoth, acsch, asech, sinc, fresnelS, fresnelC, } from './trigonometric';
|
|
21
21
|
export { less, lessEqual, greater, greaterEqual, equal, notEqual, and, or, not, piecewise, clamp, } from './comparison';
|
|
22
22
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_ALGEBRA: LatexDictionary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_ARITHMETIC: LatexDictionary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_CALCULUS: LatexDictionary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_COMPLEX: LatexDictionary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_LINEAR_ALGEBRA: LatexDictionary;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
import type { MathJsonExpression } from '../../../math-json';
|
|
3
3
|
export declare const DEFINITIONS_LOGIC: LatexDictionary;
|
|
4
4
|
export declare function parseQuantifier(kind: 'NotForAll' | 'NotExists' | 'ForAll' | 'Exists' | 'ExistsUnique'): (parser: Parser, terminator: Readonly<Terminator>) => MathJsonExpression | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_OTHERS: LatexDictionary;
|
package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_INEQUALITIES: LatexDictionaryEntry[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_SETS: LatexDictionary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_STATISTICS: LatexDictionary;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const DEFINITIONS_TRIGONOMETRY: LatexDictionary;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
import { LatexDictionaryEntry } from '../types';
|
|
3
3
|
export type { CommonEntry, IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry, IndexedMatchfixEntry, IndexedInfixEntry, IndexedPrefixEntry, IndexedPostfixEntry, IndexedEnvironmentEntry, IndexedLatexDictionaryEntry, IndexedLatexDictionary, } from './indexed-types';
|
|
4
4
|
import type { IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry, IndexedMatchfixEntry, IndexedInfixEntry, IndexedPostfixEntry, IndexedEnvironmentEntry, IndexedLatexDictionaryEntry, IndexedLatexDictionary } from './indexed-types';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
* Type definitions for the indexed LaTeX dictionary.
|
|
3
3
|
*
|
|
4
4
|
* These are separated from definitions.ts to break a circular dependency:
|
|
@@ -88,4 +88,7 @@ export type IndexedLatexDictionary = {
|
|
|
88
88
|
functionByTrigger: Map<string, IndexedFunctionEntry[]>;
|
|
89
89
|
symbolByTrigger: Map<string, IndexedSymbolEntry[]>;
|
|
90
90
|
expressionByTrigger: Map<string, IndexedExpressionEntry[]>;
|
|
91
|
+
operatorByTrigger: Map<string, (IndexedInfixEntry | IndexedPrefixEntry | IndexedPostfixEntry)[]>;
|
|
92
|
+
universalDefs: Map<string, IndexedLatexDictionaryEntry[]>;
|
|
93
|
+
symbolTriggerDefs: Map<string, Map<string, IndexedLatexDictionaryEntry[]>>;
|
|
91
94
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
import { ParseLatexOptions, LatexToken, Terminator, Parser, SymbolTable } from './types';
|
|
3
3
|
import type { IndexedLatexDictionary, IndexedLatexDictionaryEntry, IndexedInfixEntry, IndexedPostfixEntry, IndexedPrefixEntry, IndexedSymbolEntry, IndexedExpressionEntry, IndexedFunctionEntry } from './dictionary/definitions';
|
|
4
4
|
import { BoxedType } from '../../common/type/boxed-type';
|
|
@@ -67,6 +67,8 @@ export declare class _Parser implements Parser {
|
|
|
67
67
|
private _boundaries;
|
|
68
68
|
private _lastPeek;
|
|
69
69
|
private _peekCounter;
|
|
70
|
+
private _lookAheadCache;
|
|
71
|
+
private _lookAheadIndex;
|
|
70
72
|
constructor(tokens: LatexToken[], dictionary: IndexedLatexDictionary, options: Readonly<ParseLatexOptions>);
|
|
71
73
|
private _numberFormatTokens;
|
|
72
74
|
getSymbolType(id: MathJsonSymbol): BoxedType;
|
|
@@ -103,7 +105,6 @@ export declare class _Parser implements Parser {
|
|
|
103
105
|
*/
|
|
104
106
|
private canSkipMatchfixReparsing;
|
|
105
107
|
latex(start: number, end?: number): string;
|
|
106
|
-
private latexAhead;
|
|
107
108
|
/**
|
|
108
109
|
* Return at most `this._dictionary.lookahead` LaTeX tokens.
|
|
109
110
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
import { NumberSerializationFormat } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* @param expr - A number, can be represented as a string
|
|
@@ -17,13 +17,3 @@ export declare function serializeNumber(expr: MathJsonExpression | null, options
|
|
|
17
17
|
* Does not handle integer and non-finite values.
|
|
18
18
|
*/
|
|
19
19
|
export declare function serializeHexFloat(value: number): string;
|
|
20
|
-
/**
|
|
21
|
-
* Given a correctly formatted float hex, return the corresponding number.
|
|
22
|
-
*
|
|
23
|
-
* - "0xc.3p0" -> 12.1875
|
|
24
|
-
* - "0x3.0Cp2" -> 12.1875
|
|
25
|
-
* - "0x1.91eb851eb851fp+1" -> 3.14
|
|
26
|
-
* - "0x3.23d70a3d70a3ep0" -> 3.14
|
|
27
|
-
*
|
|
28
|
-
*/
|
|
29
|
-
export declare function deserializeHexFloat(value: string): number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
import { DelimiterScale } from './types';
|
|
3
3
|
export declare function getApplyFunctionStyle(_expr: MathJsonExpression, _level: number): DelimiterScale;
|
|
4
4
|
export declare function getGroupStyle(_expr: MathJsonExpression, _level: number): DelimiterScale;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const CALCULUS_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const COLORS_LIBRARY: SymbolDefinitions;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const COMBINATORICS_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
|
+
import { type SubjectPart } from '../boxed-expression/constraint-subject';
|
|
3
|
+
/**
|
|
4
|
+
* Assumption-based sign fallback for the part extractors
|
|
5
|
+
* (`Real`, `Imaginary`, `Argument` — and `Abs` in the arithmetic library):
|
|
6
|
+
* when the operand is a symbol with no value, look up assumed bounds for the
|
|
7
|
+
* corresponding subject (e.g. `im:tau` after `assume(Im(tau) > 0)`) and
|
|
8
|
+
* derive the sign from them (FUNGRIM-PLAN-3-ASSUMPTIONS.md §5.1b).
|
|
9
|
+
*
|
|
10
|
+
* Reads the fact index directly (never `ask()`), so it works inside
|
|
11
|
+
* `verify()`. Returns `undefined` when the facts don't entail a sign.
|
|
12
|
+
*/
|
|
13
|
+
export declare function signFromAssumedPart(ce: ComputeEngine, op: Expression, part: SubjectPart): Sign | undefined;
|
|
2
14
|
export declare const COMPLEX_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const CONTROL_STRUCTURES_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const CORE_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const FRACTALS_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const LINEAR_ALGEBRA_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const NUMBER_THEORY_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const POLYNOMIALS_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare function randomExpression(level?: number): MathJsonExpression;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const RELOP_LIBRARY: SymbolDefinitions;
|
|
@@ -1,2 +1,28 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
|
+
import type { Expression, SymbolDefinitions } from '../global-types';
|
|
3
|
+
/**
|
|
4
|
+
* Three-valued type membership test used by the `contains` handlers of the
|
|
5
|
+
* mathematical number sets.
|
|
6
|
+
*
|
|
7
|
+
* - `true`: `x` is definitely of type `t` (its type is a subtype of `t`).
|
|
8
|
+
* - `false`: `x` is definitely *not* of type `t` — either its type is disjoint
|
|
9
|
+
* from `t`, or it is a concrete number literal whose exact value (reflected
|
|
10
|
+
* in its narrow type) does not match.
|
|
11
|
+
* - `undefined`: membership is indeterminate — e.g. `x` is a symbol of unknown
|
|
12
|
+
* or broader type that could, but need not, be of type `t`.
|
|
13
|
+
*
|
|
14
|
+
* Returning `undefined` (rather than a spurious `false`) is what allows
|
|
15
|
+
* `Element(x, Integers)` and similar to stay unevaluated for symbols of
|
|
16
|
+
* indeterminate type, instead of collapsing to `False`.
|
|
17
|
+
*
|
|
18
|
+
* The `false` refutation relies on the type lattice computing a correct
|
|
19
|
+
* *meet* for intersections: overlapping numeric primitives intersect to
|
|
20
|
+
* their greatest lower bound (e.g. `integer ∩ finite_real` =
|
|
21
|
+
* `finite_integer`), so `'nothing'` genuinely means "disjoint types"
|
|
22
|
+
* (REVIEW.md G15; see `meetPrimitiveTypes` in `common/type/subtype.ts`).
|
|
23
|
+
* This is what makes the precise per-set types used by the `contains`
|
|
24
|
+
* handlers below (e.g. `finite_complex`, `imaginary`) sound: a symbol
|
|
25
|
+
* declared `finite_real` is *not* refuted as an integer.
|
|
26
|
+
*/
|
|
27
|
+
export declare function typeMembership(x: Expression, t: Type): boolean | undefined;
|
|
2
28
|
export declare const SETS_LIBRARY: SymbolDefinitions;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const STATISTICS_LIBRARY: SymbolDefinitions[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* 0.
|
|
1
|
+
/* 0.59.0 */
|
|
2
2
|
export declare const TRIGONOMETRY_LIBRARY: SymbolDefinitions[];
|