@cortex-js/compute-engine 0.55.4 → 0.55.5
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/dist/compile.esm.js +100 -13
- package/dist/compile.min.esm.js +101 -49
- package/dist/compile.min.umd.cjs +101 -49
- package/dist/compile.umd.cjs +100 -13
- package/dist/compute-engine.esm.js +102 -14
- package/dist/compute-engine.min.esm.js +114 -62
- package/dist/compute-engine.min.umd.cjs +114 -62
- package/dist/compute-engine.umd.cjs +102 -14
- package/dist/core.esm.js +100 -13
- package/dist/core.min.esm.js +113 -61
- package/dist/core.min.umd.cjs +113 -61
- package/dist/core.umd.cjs +100 -13
- package/dist/interval.esm.js +2 -2
- package/dist/interval.min.esm.js +2 -2
- package/dist/interval.min.umd.cjs +2 -2
- package/dist/interval.umd.cjs +2 -2
- package/dist/latex-syntax.esm.js +2 -2
- package/dist/latex-syntax.min.esm.js +2 -2
- package/dist/latex-syntax.min.umd.cjs +2 -2
- package/dist/latex-syntax.umd.cjs +2 -2
- package/dist/math-json.esm.js +2 -2
- package/dist/math-json.min.esm.js +2 -2
- package/dist/math-json.min.umd.cjs +2 -2
- package/dist/math-json.umd.cjs +2 -2
- package/dist/numerics.esm.js +2 -2
- package/dist/numerics.min.esm.js +2 -2
- package/dist/numerics.min.umd.cjs +2 -2
- package/dist/numerics.umd.cjs +2 -2
- 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 -1
- package/dist/types/common/type/parser.d.ts +1 -1
- package/dist/types/common/type/primitive.d.ts +1 -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 +1 -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 +1 -1
- package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +1 -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 +1 -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 +1 -1
- 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/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 +1 -1
- 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/rules.d.ts +1 -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 +1 -1
- package/dist/types/compute-engine/compilation/compile-expression.d.ts +3 -2
- package/dist/types/compute-engine/compilation/constant-folding.d.ts +1 -1
- package/dist/types/compute-engine/compilation/fractal-orbit.d.ts +9 -3
- package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
- package/dist/types/compute-engine/compilation/gpu-target.d.ts +12 -5
- package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +1 -1
- 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 +22 -3
- 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 +1 -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 +1 -1
- 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/global-types.d.ts +1 -1
- package/dist/types/compute-engine/index.d.ts +3 -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 +1 -1
- package/dist/types/compute-engine/interval/index.d.ts +1 -1
- 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-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 +1 -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 +1 -1
- 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 -1
- 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 +1 -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 +1 -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 +1 -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/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 +1 -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/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 +1 -1
- 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 +1 -1
- package/dist/types/compute-engine/types-definitions.d.ts +1 -1
- package/dist/types/compute-engine/types-engine.d.ts +1 -1
- package/dist/types/compute-engine/types-evaluation.d.ts +1 -1
- package/dist/types/compute-engine/types-expression.d.ts +1 -1
- package/dist/types/compute-engine/types-kernel-evaluation.d.ts +1 -1
- package/dist/types/compute-engine/types-kernel-serialization.d.ts +1 -1
- 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 +3 -2
- package/dist/types/core.d.ts +1 -1
- 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 +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Compute Engine 0.55.
|
|
1
|
+
/** Compute Engine 0.55.5 */
|
|
2
2
|
(function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ComputeEngine = {}));})(this, (function (exports) { 'use strict';
|
|
3
3
|
var ComputeEngine = (() => {
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -25,6 +25,7 @@ var ComputeEngine = (() => {
|
|
|
25
25
|
ALGEBRA_DICTIONARY: () => DEFINITIONS_ALGEBRA,
|
|
26
26
|
ARITHMETIC_DICTIONARY: () => DEFINITIONS_ARITHMETIC,
|
|
27
27
|
BaseCompiler: () => BaseCompiler,
|
|
28
|
+
BigDecimal: () => BigDecimal,
|
|
28
29
|
CALCULUS_DICTIONARY: () => DEFINITIONS_CALCULUS,
|
|
29
30
|
COMPLEX_DICTIONARY: () => DEFINITIONS_COMPLEX,
|
|
30
31
|
CORE_DICTIONARY: () => DEFINITIONS_CORE,
|
|
@@ -54838,7 +54839,8 @@ Error in definition of "${name}"`,
|
|
|
54838
54839
|
vars: options?.vars,
|
|
54839
54840
|
imports: options?.imports,
|
|
54840
54841
|
preamble: options?.preamble,
|
|
54841
|
-
realOnly: options?.realOnly
|
|
54842
|
+
realOnly: options?.realOnly,
|
|
54843
|
+
hints: options?.hints
|
|
54842
54844
|
});
|
|
54843
54845
|
} catch (e) {
|
|
54844
54846
|
if (options?.fallback ?? true) {
|
|
@@ -61339,12 +61341,22 @@ Error in definition of "${name}"`,
|
|
|
61339
61341
|
}
|
|
61340
61342
|
|
|
61341
61343
|
// src/compute-engine/compilation/fractal-orbit.ts
|
|
61344
|
+
function toBigDecimal(v) {
|
|
61345
|
+
if (typeof v === "object" && "hi" in v)
|
|
61346
|
+
return new BigDecimal(v.hi).add(new BigDecimal(v.lo));
|
|
61347
|
+
return new BigDecimal(v);
|
|
61348
|
+
}
|
|
61349
|
+
function hpToNumber(v) {
|
|
61350
|
+
if (typeof v === "number") return v;
|
|
61351
|
+
if (typeof v === "string") return Number(v);
|
|
61352
|
+
return v.hi + v.lo;
|
|
61353
|
+
}
|
|
61342
61354
|
function computeReferenceOrbit(center, maxIter, precision) {
|
|
61343
61355
|
const prevPrecision = BigDecimal.precision;
|
|
61344
61356
|
BigDecimal.precision = precision;
|
|
61345
61357
|
try {
|
|
61346
|
-
const cr =
|
|
61347
|
-
const ci =
|
|
61358
|
+
const cr = toBigDecimal(center[0]);
|
|
61359
|
+
const ci = toBigDecimal(center[1]);
|
|
61348
61360
|
let zr = BigDecimal.ZERO;
|
|
61349
61361
|
let zi = BigDecimal.ZERO;
|
|
61350
61362
|
const ESCAPE = new BigDecimal(256);
|
|
@@ -61952,12 +61964,12 @@ Error in definition of "${name}"`,
|
|
|
61952
61964
|
const iterCode = compileIntArg(maxIter, compile3, target);
|
|
61953
61965
|
const strategy = selectFractalStrategy(target);
|
|
61954
61966
|
if (strategy === "double") {
|
|
61955
|
-
const
|
|
61956
|
-
return `_fractal_mandelbrot_dp(
|
|
61967
|
+
const dpCoord = target?.language === "wgsl" ? "_dp_coord(v_uv)" : "_dp_coord()";
|
|
61968
|
+
return `_fractal_mandelbrot_dp(${dpCoord}, ${iterCode})`;
|
|
61957
61969
|
}
|
|
61958
61970
|
if (strategy === "perturbation") {
|
|
61959
|
-
const
|
|
61960
|
-
return `_fractal_mandelbrot_pt(${
|
|
61971
|
+
const ptDelta = target?.language === "wgsl" ? "_pt_delta(v_uv)" : "_pt_delta()";
|
|
61972
|
+
return `_fractal_mandelbrot_pt(${ptDelta}, ${iterCode})`;
|
|
61961
61973
|
}
|
|
61962
61974
|
return `_fractal_mandelbrot(${compile3(c)}, ${iterCode})`;
|
|
61963
61975
|
},
|
|
@@ -61967,14 +61979,14 @@ Error in definition of "${name}"`,
|
|
|
61967
61979
|
const iterCode = compileIntArg(maxIter, compile3, target);
|
|
61968
61980
|
const strategy = selectFractalStrategy(target);
|
|
61969
61981
|
if (strategy === "double") {
|
|
61970
|
-
const
|
|
61982
|
+
const dpCoord = target?.language === "wgsl" ? "_dp_coord(v_uv)" : "_dp_coord()";
|
|
61971
61983
|
const cCode = compile3(c);
|
|
61972
|
-
return `_fractal_julia_dp(
|
|
61984
|
+
return `_fractal_julia_dp(${dpCoord}, vec4(${cCode}, vec2(0.0)), ${iterCode})`;
|
|
61973
61985
|
}
|
|
61974
61986
|
if (strategy === "perturbation") {
|
|
61975
|
-
const
|
|
61987
|
+
const ptDelta = target?.language === "wgsl" ? "_pt_delta(v_uv)" : "_pt_delta()";
|
|
61976
61988
|
const cCode = compile3(c);
|
|
61977
|
-
return `_fractal_julia_pt(${
|
|
61989
|
+
return `_fractal_julia_pt(${ptDelta}, ${cCode}, ${iterCode})`;
|
|
61978
61990
|
}
|
|
61979
61991
|
return `_fractal_julia(${compile3(z)}, ${compile3(c)}, ${iterCode})`;
|
|
61980
61992
|
},
|
|
@@ -62689,6 +62701,23 @@ fn ds_cmp(a: vec2f, b: vec2f) -> f32 {
|
|
|
62689
62701
|
}
|
|
62690
62702
|
`;
|
|
62691
62703
|
var GPU_FRACTAL_DP_PREAMBLE_GLSL = `
|
|
62704
|
+
uniform float _dp_cx_hi;
|
|
62705
|
+
uniform float _dp_cx_lo;
|
|
62706
|
+
uniform float _dp_cy_hi;
|
|
62707
|
+
uniform float _dp_cy_lo;
|
|
62708
|
+
uniform float _dp_w;
|
|
62709
|
+
uniform float _dp_h;
|
|
62710
|
+
|
|
62711
|
+
vec4 _dp_coord() {
|
|
62712
|
+
// Per-pixel offset from center \u2014 small, so float-precise
|
|
62713
|
+
float dx = (v_uv.x - 0.5) * _dp_w;
|
|
62714
|
+
float dy = (v_uv.y - 0.5) * _dp_h;
|
|
62715
|
+
// Combine center (hi+lo) + delta with emulated double precision
|
|
62716
|
+
vec2 cre = ds_add(vec2(_dp_cx_hi, _dp_cx_lo), ds_from(dx));
|
|
62717
|
+
vec2 cim = ds_add(vec2(_dp_cy_hi, _dp_cy_lo), ds_from(dy));
|
|
62718
|
+
return vec4(cre.x, cim.x, cre.y, cim.y);
|
|
62719
|
+
}
|
|
62720
|
+
|
|
62692
62721
|
float _fractal_mandelbrot_dp(vec4 c, int maxIter) {
|
|
62693
62722
|
// c = (re_hi, im_hi, re_lo, im_lo)
|
|
62694
62723
|
vec2 cr = vec2(c.x, c.z); // real part as ds
|
|
@@ -62729,6 +62758,21 @@ float _fractal_julia_dp(vec4 z_in, vec4 c, int maxIter) {
|
|
|
62729
62758
|
}
|
|
62730
62759
|
`;
|
|
62731
62760
|
var GPU_FRACTAL_DP_PREAMBLE_WGSL = `
|
|
62761
|
+
@group(0) @binding(10) var<uniform> _dp_cx_hi: f32;
|
|
62762
|
+
@group(0) @binding(11) var<uniform> _dp_cx_lo: f32;
|
|
62763
|
+
@group(0) @binding(12) var<uniform> _dp_cy_hi: f32;
|
|
62764
|
+
@group(0) @binding(13) var<uniform> _dp_cy_lo: f32;
|
|
62765
|
+
@group(0) @binding(14) var<uniform> _dp_w: f32;
|
|
62766
|
+
@group(0) @binding(15) var<uniform> _dp_h: f32;
|
|
62767
|
+
|
|
62768
|
+
fn _dp_coord(uv: vec2f) -> vec4f {
|
|
62769
|
+
let dx = (uv.x - 0.5) * _dp_w;
|
|
62770
|
+
let dy = (uv.y - 0.5) * _dp_h;
|
|
62771
|
+
let cre = ds_add(vec2f(_dp_cx_hi, _dp_cx_lo), ds_from(dx));
|
|
62772
|
+
let cim = ds_add(vec2f(_dp_cy_hi, _dp_cy_lo), ds_from(dy));
|
|
62773
|
+
return vec4f(cre.x, cim.x, cre.y, cim.y);
|
|
62774
|
+
}
|
|
62775
|
+
|
|
62732
62776
|
fn _fractal_mandelbrot_dp(c: vec4f, maxIter: i32) -> f32 {
|
|
62733
62777
|
let cr = vec2f(c.x, c.z);
|
|
62734
62778
|
let ci = vec2f(c.y, c.w);
|
|
@@ -62814,6 +62858,16 @@ fn _fractal_julia(z_in: vec2f, c: vec2f, maxIter: i32) -> f32 {
|
|
|
62814
62858
|
uniform sampler2D _refOrbit;
|
|
62815
62859
|
uniform int _refOrbitLen;
|
|
62816
62860
|
uniform int _refOrbitTexWidth;
|
|
62861
|
+
uniform float _pt_offset_x;
|
|
62862
|
+
uniform float _pt_offset_y;
|
|
62863
|
+
uniform float _pt_w;
|
|
62864
|
+
uniform float _pt_h;
|
|
62865
|
+
|
|
62866
|
+
vec2 _pt_delta() {
|
|
62867
|
+
float dx = _pt_offset_x + (v_uv.x - 0.5) * _pt_w;
|
|
62868
|
+
float dy = _pt_offset_y + (v_uv.y - 0.5) * _pt_h;
|
|
62869
|
+
return vec2(dx, dy);
|
|
62870
|
+
}
|
|
62817
62871
|
|
|
62818
62872
|
vec2 _pt_fetch_orbit(int i) {
|
|
62819
62873
|
int y = i / _refOrbitTexWidth;
|
|
@@ -62905,6 +62959,16 @@ float _fractal_julia_pt(vec2 z_delta, vec2 delta_c, int maxIter) {
|
|
|
62905
62959
|
@group(0) @binding(1) var _refOrbit: texture_2d<f32>;
|
|
62906
62960
|
var<uniform> _refOrbitLen: i32;
|
|
62907
62961
|
var<uniform> _refOrbitTexWidth: i32;
|
|
62962
|
+
var<uniform> _pt_offset_x: f32;
|
|
62963
|
+
var<uniform> _pt_offset_y: f32;
|
|
62964
|
+
var<uniform> _pt_w: f32;
|
|
62965
|
+
var<uniform> _pt_h: f32;
|
|
62966
|
+
|
|
62967
|
+
fn _pt_delta(uv: vec2f) -> vec2f {
|
|
62968
|
+
let dx = _pt_offset_x + (uv.x - 0.5) * _pt_w;
|
|
62969
|
+
let dy = _pt_offset_y + (uv.y - 0.5) * _pt_h;
|
|
62970
|
+
return vec2f(dx, dy);
|
|
62971
|
+
}
|
|
62908
62972
|
|
|
62909
62973
|
fn _pt_fetch_orbit(i: i32) -> vec2f {
|
|
62910
62974
|
let y = i / _refOrbitTexWidth;
|
|
@@ -63502,8 +63566,32 @@ fn _gpu_apca(bg: vec3f, fg: vec3f) -> f32 {
|
|
|
63502
63566
|
break;
|
|
63503
63567
|
}
|
|
63504
63568
|
}
|
|
63569
|
+
if ((code.includes("_fractal_mandelbrot_dp") || code.includes("_fractal_julia_dp")) && options.hints?.viewport) {
|
|
63570
|
+
const cx = hpToNumber(options.hints.viewport.center[0]);
|
|
63571
|
+
const cy = hpToNumber(options.hints.viewport.center[1]);
|
|
63572
|
+
const size = options.hints.viewport.radius * 2;
|
|
63573
|
+
const cx_hi = Math.fround(cx);
|
|
63574
|
+
const cy_hi = Math.fround(cy);
|
|
63575
|
+
result.uniforms = {
|
|
63576
|
+
...result.uniforms,
|
|
63577
|
+
_dp_cx_hi: cx_hi,
|
|
63578
|
+
_dp_cx_lo: cx - cx_hi,
|
|
63579
|
+
_dp_cy_hi: cy_hi,
|
|
63580
|
+
_dp_cy_lo: cy - cy_hi,
|
|
63581
|
+
_dp_w: size,
|
|
63582
|
+
_dp_h: size
|
|
63583
|
+
};
|
|
63584
|
+
}
|
|
63505
63585
|
if ((code.includes("_fractal_mandelbrot_pt") || code.includes("_fractal_julia_pt")) && options.hints?.viewport) {
|
|
63506
63586
|
const viewport = options.hints.viewport;
|
|
63587
|
+
const size = viewport.radius * 2;
|
|
63588
|
+
result.uniforms = {
|
|
63589
|
+
...result.uniforms,
|
|
63590
|
+
_pt_offset_x: 0,
|
|
63591
|
+
_pt_offset_y: 0,
|
|
63592
|
+
_pt_w: size,
|
|
63593
|
+
_pt_h: size
|
|
63594
|
+
};
|
|
63507
63595
|
const digits = Math.max(50, Math.ceil(-Math.log10(viewport.radius)) + 10);
|
|
63508
63596
|
const maxIter = 1e3;
|
|
63509
63597
|
const orbit = computeReferenceOrbit(
|
|
@@ -68932,14 +69020,14 @@ ${code}`;
|
|
|
68932
69020
|
_setDefaultEngineFactory(() => new ComputeEngine());
|
|
68933
69021
|
|
|
68934
69022
|
// src/compute-engine.ts
|
|
68935
|
-
var version = "0.55.
|
|
69023
|
+
var version = "0.55.5";
|
|
68936
69024
|
ComputeEngine._latexSyntaxFactory = () => new LatexSyntax();
|
|
68937
69025
|
_setDefaultEngineFactory(
|
|
68938
69026
|
() => new ComputeEngine({ latexSyntax: new LatexSyntax() })
|
|
68939
69027
|
);
|
|
68940
69028
|
globalThis[/* @__PURE__ */ Symbol.for("io.cortexjs.compute-engine")] = {
|
|
68941
69029
|
ComputeEngine: ComputeEngine.prototype.constructor,
|
|
68942
|
-
version: "0.55.
|
|
69030
|
+
version: "0.55.5"
|
|
68943
69031
|
};
|
|
68944
69032
|
return __toCommonJS(compute_engine_exports);
|
|
68945
69033
|
})();
|
package/dist/core.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Compute Engine 0.55.
|
|
1
|
+
/** Compute Engine 0.55.5 */
|
|
2
2
|
|
|
3
3
|
// node_modules/complex-esm/dist/src/complex.js
|
|
4
4
|
var cosh = Math.cosh || function(x) {
|
|
@@ -54763,7 +54763,8 @@ function compile(expr2, options) {
|
|
|
54763
54763
|
vars: options?.vars,
|
|
54764
54764
|
imports: options?.imports,
|
|
54765
54765
|
preamble: options?.preamble,
|
|
54766
|
-
realOnly: options?.realOnly
|
|
54766
|
+
realOnly: options?.realOnly,
|
|
54767
|
+
hints: options?.hints
|
|
54767
54768
|
});
|
|
54768
54769
|
} catch (e) {
|
|
54769
54770
|
if (options?.fallback ?? true) {
|
|
@@ -61264,12 +61265,22 @@ function fibonacci(n) {
|
|
|
61264
61265
|
}
|
|
61265
61266
|
|
|
61266
61267
|
// src/compute-engine/compilation/fractal-orbit.ts
|
|
61268
|
+
function toBigDecimal(v) {
|
|
61269
|
+
if (typeof v === "object" && "hi" in v)
|
|
61270
|
+
return new BigDecimal(v.hi).add(new BigDecimal(v.lo));
|
|
61271
|
+
return new BigDecimal(v);
|
|
61272
|
+
}
|
|
61273
|
+
function hpToNumber(v) {
|
|
61274
|
+
if (typeof v === "number") return v;
|
|
61275
|
+
if (typeof v === "string") return Number(v);
|
|
61276
|
+
return v.hi + v.lo;
|
|
61277
|
+
}
|
|
61267
61278
|
function computeReferenceOrbit(center, maxIter, precision) {
|
|
61268
61279
|
const prevPrecision = BigDecimal.precision;
|
|
61269
61280
|
BigDecimal.precision = precision;
|
|
61270
61281
|
try {
|
|
61271
|
-
const cr =
|
|
61272
|
-
const ci =
|
|
61282
|
+
const cr = toBigDecimal(center[0]);
|
|
61283
|
+
const ci = toBigDecimal(center[1]);
|
|
61273
61284
|
let zr = BigDecimal.ZERO;
|
|
61274
61285
|
let zi = BigDecimal.ZERO;
|
|
61275
61286
|
const ESCAPE = new BigDecimal(256);
|
|
@@ -61877,12 +61888,12 @@ var GPU_FUNCTIONS = {
|
|
|
61877
61888
|
const iterCode = compileIntArg(maxIter, compile3, target);
|
|
61878
61889
|
const strategy = selectFractalStrategy(target);
|
|
61879
61890
|
if (strategy === "double") {
|
|
61880
|
-
const
|
|
61881
|
-
return `_fractal_mandelbrot_dp(
|
|
61891
|
+
const dpCoord = target?.language === "wgsl" ? "_dp_coord(v_uv)" : "_dp_coord()";
|
|
61892
|
+
return `_fractal_mandelbrot_dp(${dpCoord}, ${iterCode})`;
|
|
61882
61893
|
}
|
|
61883
61894
|
if (strategy === "perturbation") {
|
|
61884
|
-
const
|
|
61885
|
-
return `_fractal_mandelbrot_pt(${
|
|
61895
|
+
const ptDelta = target?.language === "wgsl" ? "_pt_delta(v_uv)" : "_pt_delta()";
|
|
61896
|
+
return `_fractal_mandelbrot_pt(${ptDelta}, ${iterCode})`;
|
|
61886
61897
|
}
|
|
61887
61898
|
return `_fractal_mandelbrot(${compile3(c)}, ${iterCode})`;
|
|
61888
61899
|
},
|
|
@@ -61892,14 +61903,14 @@ var GPU_FUNCTIONS = {
|
|
|
61892
61903
|
const iterCode = compileIntArg(maxIter, compile3, target);
|
|
61893
61904
|
const strategy = selectFractalStrategy(target);
|
|
61894
61905
|
if (strategy === "double") {
|
|
61895
|
-
const
|
|
61906
|
+
const dpCoord = target?.language === "wgsl" ? "_dp_coord(v_uv)" : "_dp_coord()";
|
|
61896
61907
|
const cCode = compile3(c);
|
|
61897
|
-
return `_fractal_julia_dp(
|
|
61908
|
+
return `_fractal_julia_dp(${dpCoord}, vec4(${cCode}, vec2(0.0)), ${iterCode})`;
|
|
61898
61909
|
}
|
|
61899
61910
|
if (strategy === "perturbation") {
|
|
61900
|
-
const
|
|
61911
|
+
const ptDelta = target?.language === "wgsl" ? "_pt_delta(v_uv)" : "_pt_delta()";
|
|
61901
61912
|
const cCode = compile3(c);
|
|
61902
|
-
return `_fractal_julia_pt(${
|
|
61913
|
+
return `_fractal_julia_pt(${ptDelta}, ${cCode}, ${iterCode})`;
|
|
61903
61914
|
}
|
|
61904
61915
|
return `_fractal_julia(${compile3(z)}, ${compile3(c)}, ${iterCode})`;
|
|
61905
61916
|
},
|
|
@@ -62614,6 +62625,23 @@ fn ds_cmp(a: vec2f, b: vec2f) -> f32 {
|
|
|
62614
62625
|
}
|
|
62615
62626
|
`;
|
|
62616
62627
|
var GPU_FRACTAL_DP_PREAMBLE_GLSL = `
|
|
62628
|
+
uniform float _dp_cx_hi;
|
|
62629
|
+
uniform float _dp_cx_lo;
|
|
62630
|
+
uniform float _dp_cy_hi;
|
|
62631
|
+
uniform float _dp_cy_lo;
|
|
62632
|
+
uniform float _dp_w;
|
|
62633
|
+
uniform float _dp_h;
|
|
62634
|
+
|
|
62635
|
+
vec4 _dp_coord() {
|
|
62636
|
+
// Per-pixel offset from center \u2014 small, so float-precise
|
|
62637
|
+
float dx = (v_uv.x - 0.5) * _dp_w;
|
|
62638
|
+
float dy = (v_uv.y - 0.5) * _dp_h;
|
|
62639
|
+
// Combine center (hi+lo) + delta with emulated double precision
|
|
62640
|
+
vec2 cre = ds_add(vec2(_dp_cx_hi, _dp_cx_lo), ds_from(dx));
|
|
62641
|
+
vec2 cim = ds_add(vec2(_dp_cy_hi, _dp_cy_lo), ds_from(dy));
|
|
62642
|
+
return vec4(cre.x, cim.x, cre.y, cim.y);
|
|
62643
|
+
}
|
|
62644
|
+
|
|
62617
62645
|
float _fractal_mandelbrot_dp(vec4 c, int maxIter) {
|
|
62618
62646
|
// c = (re_hi, im_hi, re_lo, im_lo)
|
|
62619
62647
|
vec2 cr = vec2(c.x, c.z); // real part as ds
|
|
@@ -62654,6 +62682,21 @@ float _fractal_julia_dp(vec4 z_in, vec4 c, int maxIter) {
|
|
|
62654
62682
|
}
|
|
62655
62683
|
`;
|
|
62656
62684
|
var GPU_FRACTAL_DP_PREAMBLE_WGSL = `
|
|
62685
|
+
@group(0) @binding(10) var<uniform> _dp_cx_hi: f32;
|
|
62686
|
+
@group(0) @binding(11) var<uniform> _dp_cx_lo: f32;
|
|
62687
|
+
@group(0) @binding(12) var<uniform> _dp_cy_hi: f32;
|
|
62688
|
+
@group(0) @binding(13) var<uniform> _dp_cy_lo: f32;
|
|
62689
|
+
@group(0) @binding(14) var<uniform> _dp_w: f32;
|
|
62690
|
+
@group(0) @binding(15) var<uniform> _dp_h: f32;
|
|
62691
|
+
|
|
62692
|
+
fn _dp_coord(uv: vec2f) -> vec4f {
|
|
62693
|
+
let dx = (uv.x - 0.5) * _dp_w;
|
|
62694
|
+
let dy = (uv.y - 0.5) * _dp_h;
|
|
62695
|
+
let cre = ds_add(vec2f(_dp_cx_hi, _dp_cx_lo), ds_from(dx));
|
|
62696
|
+
let cim = ds_add(vec2f(_dp_cy_hi, _dp_cy_lo), ds_from(dy));
|
|
62697
|
+
return vec4f(cre.x, cim.x, cre.y, cim.y);
|
|
62698
|
+
}
|
|
62699
|
+
|
|
62657
62700
|
fn _fractal_mandelbrot_dp(c: vec4f, maxIter: i32) -> f32 {
|
|
62658
62701
|
let cr = vec2f(c.x, c.z);
|
|
62659
62702
|
let ci = vec2f(c.y, c.w);
|
|
@@ -62739,6 +62782,16 @@ var GPU_FRACTAL_PT_PREAMBLE_GLSL = `
|
|
|
62739
62782
|
uniform sampler2D _refOrbit;
|
|
62740
62783
|
uniform int _refOrbitLen;
|
|
62741
62784
|
uniform int _refOrbitTexWidth;
|
|
62785
|
+
uniform float _pt_offset_x;
|
|
62786
|
+
uniform float _pt_offset_y;
|
|
62787
|
+
uniform float _pt_w;
|
|
62788
|
+
uniform float _pt_h;
|
|
62789
|
+
|
|
62790
|
+
vec2 _pt_delta() {
|
|
62791
|
+
float dx = _pt_offset_x + (v_uv.x - 0.5) * _pt_w;
|
|
62792
|
+
float dy = _pt_offset_y + (v_uv.y - 0.5) * _pt_h;
|
|
62793
|
+
return vec2(dx, dy);
|
|
62794
|
+
}
|
|
62742
62795
|
|
|
62743
62796
|
vec2 _pt_fetch_orbit(int i) {
|
|
62744
62797
|
int y = i / _refOrbitTexWidth;
|
|
@@ -62830,6 +62883,16 @@ var GPU_FRACTAL_PT_PREAMBLE_WGSL = `
|
|
|
62830
62883
|
@group(0) @binding(1) var _refOrbit: texture_2d<f32>;
|
|
62831
62884
|
var<uniform> _refOrbitLen: i32;
|
|
62832
62885
|
var<uniform> _refOrbitTexWidth: i32;
|
|
62886
|
+
var<uniform> _pt_offset_x: f32;
|
|
62887
|
+
var<uniform> _pt_offset_y: f32;
|
|
62888
|
+
var<uniform> _pt_w: f32;
|
|
62889
|
+
var<uniform> _pt_h: f32;
|
|
62890
|
+
|
|
62891
|
+
fn _pt_delta(uv: vec2f) -> vec2f {
|
|
62892
|
+
let dx = _pt_offset_x + (uv.x - 0.5) * _pt_w;
|
|
62893
|
+
let dy = _pt_offset_y + (uv.y - 0.5) * _pt_h;
|
|
62894
|
+
return vec2f(dx, dy);
|
|
62895
|
+
}
|
|
62833
62896
|
|
|
62834
62897
|
fn _pt_fetch_orbit(i: i32) -> vec2f {
|
|
62835
62898
|
let y = i / _refOrbitTexWidth;
|
|
@@ -63427,8 +63490,32 @@ var GPUShaderTarget = class {
|
|
|
63427
63490
|
break;
|
|
63428
63491
|
}
|
|
63429
63492
|
}
|
|
63493
|
+
if ((code.includes("_fractal_mandelbrot_dp") || code.includes("_fractal_julia_dp")) && options.hints?.viewport) {
|
|
63494
|
+
const cx = hpToNumber(options.hints.viewport.center[0]);
|
|
63495
|
+
const cy = hpToNumber(options.hints.viewport.center[1]);
|
|
63496
|
+
const size = options.hints.viewport.radius * 2;
|
|
63497
|
+
const cx_hi = Math.fround(cx);
|
|
63498
|
+
const cy_hi = Math.fround(cy);
|
|
63499
|
+
result.uniforms = {
|
|
63500
|
+
...result.uniforms,
|
|
63501
|
+
_dp_cx_hi: cx_hi,
|
|
63502
|
+
_dp_cx_lo: cx - cx_hi,
|
|
63503
|
+
_dp_cy_hi: cy_hi,
|
|
63504
|
+
_dp_cy_lo: cy - cy_hi,
|
|
63505
|
+
_dp_w: size,
|
|
63506
|
+
_dp_h: size
|
|
63507
|
+
};
|
|
63508
|
+
}
|
|
63430
63509
|
if ((code.includes("_fractal_mandelbrot_pt") || code.includes("_fractal_julia_pt")) && options.hints?.viewport) {
|
|
63431
63510
|
const viewport = options.hints.viewport;
|
|
63511
|
+
const size = viewport.radius * 2;
|
|
63512
|
+
result.uniforms = {
|
|
63513
|
+
...result.uniforms,
|
|
63514
|
+
_pt_offset_x: 0,
|
|
63515
|
+
_pt_offset_y: 0,
|
|
63516
|
+
_pt_w: size,
|
|
63517
|
+
_pt_h: size
|
|
63518
|
+
};
|
|
63432
63519
|
const digits = Math.max(50, Math.ceil(-Math.log10(viewport.radius)) + 10);
|
|
63433
63520
|
const maxIter = 1e3;
|
|
63434
63521
|
const orbit = computeReferenceOrbit(
|
|
@@ -68435,7 +68522,7 @@ var ComputeEngine = class _ComputeEngine {
|
|
|
68435
68522
|
_setDefaultEngineFactory(() => new ComputeEngine());
|
|
68436
68523
|
|
|
68437
68524
|
// src/core.ts
|
|
68438
|
-
var version = "0.55.
|
|
68525
|
+
var version = "0.55.5";
|
|
68439
68526
|
export {
|
|
68440
68527
|
ComputeEngine,
|
|
68441
68528
|
N,
|