@johnhenry/math 0.0.3 → 0.2.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 +1 -1
- package/dist/DualNumber.d.ts +7 -0
- package/dist/DualNumber.d.ts.map +1 -1
- package/dist/DualNumber.js +12 -3
- package/dist/DualNumber.js.map +1 -1
- package/dist/Graph3DUtils.d.ts +2 -0
- package/dist/Graph3DUtils.d.ts.map +1 -1
- package/dist/Graph3DUtils.js +14 -10
- package/dist/Graph3DUtils.js.map +1 -1
- package/dist/GraphUtils.d.ts +4 -1
- package/dist/GraphUtils.d.ts.map +1 -1
- package/dist/GraphUtils.js +15 -7
- package/dist/GraphUtils.js.map +1 -1
- package/dist/Shader.d.ts +41 -0
- package/dist/Shader.d.ts.map +1 -0
- package/dist/Shader.js +758 -0
- package/dist/Shader.js.map +1 -0
- package/dist/Symbolic.d.ts +52 -4
- package/dist/Symbolic.d.ts.map +1 -1
- package/dist/Symbolic.js +640 -104
- package/dist/Symbolic.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/DualNumber.ts +13 -3
- package/src/Graph3DUtils.ts +20 -10
- package/src/GraphUtils.ts +15 -7
- package/src/Shader.ts +837 -0
- package/src/Symbolic.ts +670 -103
- package/src/index.ts +2 -0
package/README.md
CHANGED
|
@@ -139,7 +139,7 @@ Well beyond the original ActionScript scope, the library now spans:
|
|
|
139
139
|
| Area | Module(s) | Highlights |
|
|
140
140
|
|------|-----------|------------|
|
|
141
141
|
| Numerical linear algebra | `MatrixMath` | LU, QR, Cholesky, symmetric eigen (Jacobi), SVD; `solve`, RREF, rank, null space, least squares, pseudo-inverse, norms, condition number |
|
|
142
|
-
| Symbolic calculus | `Symbolic` | expression parser (41 unary elementary functions incl. inverse-trig, reciprocal-trig, hyperbolic/inverse-hyperbolic, `abs`/`log10`/`log2`/`cbrt`/`floor`/`ceil`/`round`/`sign`/`trunc`, and `expm1`/`log1p`/`sigmoid`/`erf`/`relu`, with `arcsin`/`logistic`-style aliases and `\|x\|` bar syntax, plus N-ary `atan2`/`hypot`/`min`/`max`/`gcd`/`lcm`, `log(base, x)`/`clamp(x, lo, hi)`, and `piecewise(cond, expr, ..., otherwise)` with `<`/`<=`/`>`/`>=`/`==`/`!=` comparisons), symbolic differentiation (incl. the multivariate chain rule for the N-ary functions and branch-wise piecewise differentiation) with a u-substitution fallback for `integrate`, algebraic simplification with like-term collection and constant-folding, elementary integration (incl. by-parts, arctan/arcsin forms, and u-substitution), `integrateDefinite` (closed-form first, adaptive-quadrature fallback), `sumSeries` (finite/infinite, closed-form geometric recognition + numeric fallback), Taylor series, `expand`/`substitute`, polynomial `solve`/`factor`, linear `solveSystem`, L'Hopital `limit` (incl. limits at infinity), LaTeX round-trip (`toLatex`/`fromLatex`, incl. `\operatorname{...}`, bracket notation for `abs`/`floor`/`ceil`/`cbrt`, and `\begin{cases}` for piecewise), `evaluateExact` (exact `Rational` evaluation), `evaluateOverStructure` (folds an `Expr` through an arbitrary `Structure`'s own algebra, e.g. for plotting over Z/7Z), and `freeVariables`/`assertVariables` (auto-detect an expression's variables, or opt into strict mode and throw `UndeclaredVariableError` instead of silently resolving an undeclared one to `NaN`) |
|
|
142
|
+
| Symbolic calculus | `Symbolic` | expression parser (41 unary elementary functions incl. inverse-trig, reciprocal-trig, hyperbolic/inverse-hyperbolic, `abs`/`log10`/`log2`/`cbrt`/`floor`/`ceil`/`round`/`sign`/`trunc`, and `expm1`/`log1p`/`sigmoid`/`erf`/`relu`, with `arcsin`/`logistic`-style aliases and `\|x\|` bar syntax, plus N-ary `atan2`/`hypot`/`min`/`max`/`gcd`/`lcm`, `log(base, x)`/`clamp(x, lo, hi)`, and `piecewise(cond, expr, ..., otherwise)` with `<`/`<=`/`>`/`>=`/`==`/`!=` comparisons), symbolic differentiation (incl. the multivariate chain rule for the N-ary functions and branch-wise piecewise differentiation) with a u-substitution fallback for `integrate`, algebraic simplification with like-term collection and constant-folding, elementary integration (incl. by-parts, arctan/arcsin forms, and u-substitution), `integrateDefinite` (closed-form first, adaptive-quadrature fallback), `sumSeries` (finite/infinite, closed-form geometric recognition + numeric fallback), Taylor series, `expand`/`substitute`, polynomial `solve`/`factor`, linear `solveSystem`, L'Hopital `limit` (incl. limits at infinity), LaTeX round-trip (`toLatex`/`fromLatex`, incl. `\operatorname{...}`, bracket notation for `abs`/`floor`/`ceil`/`cbrt`, and `\begin{cases}` for piecewise), `toGLSL`/`toWGSL` (compile an `Expr` to a GLSL ES 3.0 / WGSL expression over float or, with `{ complex: true }`, `vec2` complex numbers; deterministic output, unsupported nodes refused with `ShaderUnsupportedError`), `evaluateExact` (exact `Rational` evaluation), `evaluateOverStructure` (folds an `Expr` through an arbitrary `Structure`'s own algebra, e.g. for plotting over Z/7Z), and `freeVariables`/`assertVariables` (auto-detect an expression's variables, or opt into strict mode and throw `UndeclaredVariableError` instead of silently resolving an undeclared one to `NaN`) |
|
|
143
143
|
| Number types | `Rational`, `Quaternion`, `DualNumber`, `Interval` | exact bigint rationals, 3D-rotation quaternions, forward-mode autodiff, rigorous interval arithmetic — each also a `Structure` preset |
|
|
144
144
|
| 4D geometric algebra | `Vec4`, `Bivector4`, `Rotor4`, `GeometricAlgebra4` | a genuine fourth *spatial* dimension (not time): 4D vectors, 6-component bivectors (the 2-planes of 4D), and rotors that generalize `Quaternion` to 4D — including 4D-only **double rotations** (simultaneous, independent rotation in two orthogonal planes at once); built on an internal Cl(4,0) blade engine for correctness (verified against `Quaternion` on their shared 3D subspace). `GeometricAlgebra4` also has the `commutatorProduct` and `leftContraction` operations n-dimensional rigid-body dynamics needs (generalized Euler's equation, point velocity). `Rotor4.factor()`/`renormalize()` implement Perwass-style rotor factorization — the proper fix for numerical drift on a double rotation, where naive magnitude normalization silently produces an invalid rotor (verified against 200+ random plane orientations/angles, including the isoclinic and right-isoclinic degenerate cases) |
|
|
145
145
|
| Number theory | `NumberTheory` | `bigint` modPow, extended GCD, CRT, Miller–Rabin, Pollard-rho factorization, Legendre/Jacobi |
|
package/dist/DualNumber.d.ts
CHANGED
|
@@ -14,6 +14,13 @@ export declare class DualNumber {
|
|
|
14
14
|
static constant(x: number): DualNumber;
|
|
15
15
|
/** An independent variable at `x` (unit derivative). */
|
|
16
16
|
static variable(x: number): DualNumber;
|
|
17
|
+
/**
|
|
18
|
+
* Builds a dual number whose value may be outside the function's domain. A
|
|
19
|
+
* NaN value (e.g. `log` of a negative) makes the derivative NaN too, rather
|
|
20
|
+
* than leaving a finite-looking derivative (`x.deriv / x.value`) next to a
|
|
21
|
+
* meaningless value.
|
|
22
|
+
*/
|
|
23
|
+
private static domain;
|
|
17
24
|
private static lift;
|
|
18
25
|
add(o: DualNumber | number): DualNumber;
|
|
19
26
|
subtract(o: DualNumber | number): DualNumber;
|
package/dist/DualNumber.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualNumber.d.ts","sourceRoot":"","sources":["../src/DualNumber.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,SAAI,EAAE,KAAK,SAAI;IAKhC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAItC,wDAAwD;IACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAItC,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAKvC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAK5C,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAK5C,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAK1C,MAAM,IAAI,UAAU;IAIpB,8CAA8C;IAC9C,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAW1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAGrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAGrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAIrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAIrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAGrC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAKtC,wEAAwE;IACxE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAItE,uDAAuD;IACvD,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAK7G,oFAAoF;IACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAO/E,QAAQ,IAAI,MAAM;CAGnB"}
|
|
1
|
+
{"version":3,"file":"DualNumber.d.ts","sourceRoot":"","sources":["../src/DualNumber.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,SAAI,EAAE,KAAK,SAAI;IAKhC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAItC,wDAAwD;IACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAItC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAIrB,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAKvC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAK5C,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAK5C,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAK1C,MAAM,IAAI,UAAU;IAIpB,8CAA8C;IAC9C,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAW1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAGrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAGrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAIrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAIrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAGrC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAKtC,wEAAwE;IACxE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAItE,uDAAuD;IACvD,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAK7G,oFAAoF;IACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAO/E,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/DualNumber.js
CHANGED
|
@@ -21,6 +21,15 @@ export class DualNumber {
|
|
|
21
21
|
static variable(x) {
|
|
22
22
|
return new DualNumber(x, 1);
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Builds a dual number whose value may be outside the function's domain. A
|
|
26
|
+
* NaN value (e.g. `log` of a negative) makes the derivative NaN too, rather
|
|
27
|
+
* than leaving a finite-looking derivative (`x.deriv / x.value`) next to a
|
|
28
|
+
* meaningless value.
|
|
29
|
+
*/
|
|
30
|
+
static domain(value, deriv) {
|
|
31
|
+
return new DualNumber(value, Number.isNaN(value) ? Number.NaN : deriv);
|
|
32
|
+
}
|
|
24
33
|
static lift(x) {
|
|
25
34
|
return x instanceof DualNumber ? x : new DualNumber(x, 0);
|
|
26
35
|
}
|
|
@@ -53,7 +62,7 @@ export class DualNumber {
|
|
|
53
62
|
// form (issue #74).
|
|
54
63
|
if (n === 0)
|
|
55
64
|
return new DualNumber(1, 0);
|
|
56
|
-
return
|
|
65
|
+
return DualNumber.domain(this.value ** n, n * this.value ** (n - 1) * this.deriv);
|
|
57
66
|
}
|
|
58
67
|
static sin(x) {
|
|
59
68
|
return new DualNumber(Math.sin(x.value), Math.cos(x.value) * x.deriv);
|
|
@@ -70,11 +79,11 @@ export class DualNumber {
|
|
|
70
79
|
return new DualNumber(e, e * x.deriv);
|
|
71
80
|
}
|
|
72
81
|
static log(x) {
|
|
73
|
-
return
|
|
82
|
+
return DualNumber.domain(Math.log(x.value), x.deriv / x.value);
|
|
74
83
|
}
|
|
75
84
|
static sqrt(x) {
|
|
76
85
|
const s = Math.sqrt(x.value);
|
|
77
|
-
return
|
|
86
|
+
return DualNumber.domain(s, x.deriv / (2 * s));
|
|
78
87
|
}
|
|
79
88
|
/** The derivative of `f` at `x`, evaluated exactly via dual numbers. */
|
|
80
89
|
static derivative(f, x) {
|
package/dist/DualNumber.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualNumber.js","sourceRoot":"","sources":["../src/DualNumber.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACZ,KAAK,CAAS;IACd,KAAK,CAAS;IAEvB,YAAY,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,CAAS;QACvB,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,QAAQ,CAAC,CAAS;QACvB,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,IAAI,CAAC,CAAsB;QACxC,OAAO,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,GAAG,CAAC,CAAsB;QACxB,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,CAAsB;QAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,CAAsB;QAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,CAAC,CAAsB;QAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,8CAA8C;IAC9C,GAAG,CAAC,CAAS;QACX,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"DualNumber.js","sourceRoot":"","sources":["../src/DualNumber.ts"],"names":[],"mappings":"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"}
|
package/dist/Graph3DUtils.d.ts
CHANGED
|
@@ -74,6 +74,8 @@ export declare class Graph3DUtils {
|
|
|
74
74
|
/**
|
|
75
75
|
* Build a surface mesh from a grid (matrix) of points, as two triangle
|
|
76
76
|
* sweeps with distinct materials (bug fix: the first sweep now uses `alpha1`).
|
|
77
|
+
* Triangles touching a NaN or infinite vertex are omitted, so the surface
|
|
78
|
+
* breaks into pieces around them.
|
|
77
79
|
*/
|
|
78
80
|
static pointMatrixToMesh3D(vector: Vector<Vector<Vector<number>>>, color1?: number, alpha1?: number, color2?: number, alpha2?: number): Mesh[];
|
|
79
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph3DUtils.d.ts","sourceRoot":"","sources":["../src/Graph3DUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,yBAAyB;AACzB,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEtC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"Graph3DUtils.d.ts","sourceRoot":"","sources":["../src/Graph3DUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/Graph3DUtils.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { VectorUtils } from "./VectorUtils.js";
|
|
2
2
|
const v3 = (x, y, z = 0) => ({ x, y, z });
|
|
3
3
|
const asPoint = (p) => ({ x: p.x, y: p.y, z: p.z });
|
|
4
|
+
const isFinitePoint = (p) => Number.isFinite(p.x) && Number.isFinite(p.y) && Number.isFinite(p.z);
|
|
5
|
+
/** A triangle face, or `null` when any vertex is NaN / infinite (so the surface breaks there instead of drawing garbage). */
|
|
6
|
+
const finiteFace = (a, b, c) => {
|
|
7
|
+
const face = [asPoint(a), asPoint(b), asPoint(c)];
|
|
8
|
+
return face.every(isFinitePoint) ? face : null;
|
|
9
|
+
};
|
|
4
10
|
export class Graph3DUtils {
|
|
5
11
|
/** Sample `binaryOperation` over a 2D grid, returning a matrix of results. */
|
|
6
12
|
static dualRangeVector(binaryOperation, xMin = -10, xMax = 10, xStep = 1, yMin = -10, yMax = 10, yStep = 1) {
|
|
@@ -118,6 +124,8 @@ export class Graph3DUtils {
|
|
|
118
124
|
/**
|
|
119
125
|
* Build a surface mesh from a grid (matrix) of points, as two triangle
|
|
120
126
|
* sweeps with distinct materials (bug fix: the first sweep now uses `alpha1`).
|
|
127
|
+
* Triangles touching a NaN or infinite vertex are omitted, so the surface
|
|
128
|
+
* breaks into pieces around them.
|
|
121
129
|
*/
|
|
122
130
|
static pointMatrixToMesh3D(vector, color1 = 0, alpha1 = 1, color2 = 0xffffff, alpha2 = 1) {
|
|
123
131
|
const width = VectorUtils.width(vector);
|
|
@@ -127,11 +135,9 @@ export class Graph3DUtils {
|
|
|
127
135
|
for (let i = 0; i < width - 1; i++) {
|
|
128
136
|
for (let j = 0; j < height - 1; j++) {
|
|
129
137
|
if (at(i, j) && vector[i + 1] && at(i, j + 1)) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
asPoint(at(i, j + 1)),
|
|
134
|
-
]);
|
|
138
|
+
const face = finiteFace(at(i, j), at(i + 1, j), at(i, j + 1));
|
|
139
|
+
if (face)
|
|
140
|
+
faces1.push(face);
|
|
135
141
|
}
|
|
136
142
|
}
|
|
137
143
|
}
|
|
@@ -139,11 +145,9 @@ export class Graph3DUtils {
|
|
|
139
145
|
for (let i = 1; i < width; i++) {
|
|
140
146
|
for (let j = 1; j < height; j++) {
|
|
141
147
|
if (at(i, j) && vector[i - 1] && at(i, j - 1)) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
asPoint(at(i, j - 1)),
|
|
146
|
-
]);
|
|
148
|
+
const face = finiteFace(at(i, j), at(i - 1, j), at(i, j - 1));
|
|
149
|
+
if (face)
|
|
150
|
+
faces2.push(face);
|
|
147
151
|
}
|
|
148
152
|
}
|
|
149
153
|
}
|
package/dist/Graph3DUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph3DUtils.js","sourceRoot":"","sources":["../src/Graph3DUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Graph3DUtils.js","sourceRoot":"","sources":["../src/Graph3DUtils.ts"],"names":[],"mappings":"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AC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,EA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"}
|
package/dist/GraphUtils.d.ts
CHANGED
|
@@ -59,7 +59,10 @@ export declare class GraphUtils {
|
|
|
59
59
|
static barPlacement(p: Vector<number>, barWidth?: number): BarPlacement2D;
|
|
60
60
|
static placements(points: Vector<Vector<number>>, altProperties?: string[] | null): Array<Placement2D | Record<string, number>>;
|
|
61
61
|
static barPlacements(points: Vector<Vector<number>>, barWidth?: number): BarPlacement2D[];
|
|
62
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* A poly-line path through the given points. Points with a non-finite x or y
|
|
64
|
+
* (NaN, +/-Infinity) are skipped and split the line into separate segments.
|
|
65
|
+
*/
|
|
63
66
|
static vectorToCurve(points: Vector<Vector<number>>, thickness?: number, color?: number, alpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string | null, joints?: string | null, miterLimit?: number): Path2D;
|
|
64
67
|
/** A filled, closed path tracing a polygon's edges. */
|
|
65
68
|
static polygonToCurve(polygon: Polygon, strokeThickness?: number, strokeColor?: number, strokeAlpha?: number, fillColor?: number, fillAlpha?: number, pixelHinting?: boolean, scaleMode?: string, caps?: string | null, joints?: string | null, miterLimit?: number): Path2D;
|
package/dist/GraphUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphUtils.d.ts","sourceRoot":"","sources":["../src/GraphUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;GASG;AAEH,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAID,qBAAa,UAAU;IACrB,2EAA2E;IAC3E,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,IAAI,SAAM,EAAE,IAAI,SAAK,EAAE,KAAK,SAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAK1G;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,GAAE,MAAM,EAAE,GAAG,IAAW,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYhH,qDAAqD;IACrD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,SAAK,GAAG,cAAc;IAKrE,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC9B,aAAa,GAAE,MAAM,EAAE,GAAG,IAAW,GACpC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI9C,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,SAAK,GAAG,cAAc,EAAE;IAIrF
|
|
1
|
+
{"version":3,"file":"GraphUtils.d.ts","sourceRoot":"","sources":["../src/GraphUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/GraphUtils.js
CHANGED
|
@@ -33,17 +33,25 @@ export class GraphUtils {
|
|
|
33
33
|
static barPlacements(points, barWidth = 40) {
|
|
34
34
|
return [...points].map((p) => GraphUtils.barPlacement(p, barWidth));
|
|
35
35
|
}
|
|
36
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* A poly-line path through the given points. Points with a non-finite x or y
|
|
38
|
+
* (NaN, +/-Infinity) are skipped and split the line into separate segments.
|
|
39
|
+
*/
|
|
37
40
|
static vectorToCurve(points, thickness = 0, color = 0, alpha = 1, pixelHinting = false, scaleMode = "normal", caps = null, joints = null, miterLimit = 3) {
|
|
38
41
|
const stroke = { thickness, color, alpha, pixelHinting, scaleMode, caps, joints, miterLimit };
|
|
39
42
|
const commands = [];
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
// A NaN or +/-Infinity coordinate (a pole, a domain error) breaks the path: the
|
|
44
|
+
// run before it ends, and the next finite point starts a new run with `moveTo`
|
|
45
|
+
// rather than a `lineTo` drawn through the gap.
|
|
46
|
+
let penDown = false;
|
|
47
|
+
for (let i = 0; i < points.length; i++) {
|
|
48
|
+
const pt = point(points[i]);
|
|
49
|
+
if (!Number.isFinite(pt.x) || !Number.isFinite(pt.y)) {
|
|
50
|
+
penDown = false;
|
|
51
|
+
continue;
|
|
46
52
|
}
|
|
53
|
+
commands.push({ op: penDown ? "lineTo" : "moveTo", x: pt.x, y: pt.y });
|
|
54
|
+
penDown = true;
|
|
47
55
|
}
|
|
48
56
|
return { stroke, commands };
|
|
49
57
|
}
|
package/dist/GraphUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphUtils.js","sourceRoot":"","sources":["../src/GraphUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAwD/C,MAAM,KAAK,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAW,EAAE,CAAC,CAAC;AAElH,MAAM,OAAO,UAAU;IACrB,2EAA2E;IAC3E,MAAM,CAAC,iBAAiB,CAAI,cAAgC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC;QAC5F,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,CAAiB,EAAE,gBAAiC,IAAI;QACvE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;YAC/E,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,YAAY,CAAC,CAAiB,EAAE,QAAQ,GAAG,EAAE;QAClD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,UAAU,CACf,MAA8B,EAC9B,gBAAiC,IAAI;QAErC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAA8B,EAAE,QAAQ,GAAG,EAAE;QAChE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"GraphUtils.js","sourceRoot":"","sources":["../src/GraphUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/Shader.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shader code generation for `Expr` trees: GLSL ES 3.0 and WGSL.
|
|
3
|
+
*
|
|
4
|
+
* Output is deterministic (no timestamps, ids or hash ordering): the same tree
|
|
5
|
+
* and options always give the same strings, so callers can golden-test them
|
|
6
|
+
* and cache compiled programs by source text.
|
|
7
|
+
*/
|
|
8
|
+
import type { Expr } from "./Symbolic.ts";
|
|
9
|
+
export type ShaderDialect = "glsl" | "wgsl";
|
|
10
|
+
export interface ShaderOptions {
|
|
11
|
+
/**
|
|
12
|
+
* `false` (default): every value is a scalar `float` / `f32`.
|
|
13
|
+
* `true`: every value is a complex number held in a `vec2` (x = real,
|
|
14
|
+
* y = imaginary); the variable `i` (unless listed in `variables`) is the
|
|
15
|
+
* imaginary unit and the helper functions the expression needs are emitted once.
|
|
16
|
+
*/
|
|
17
|
+
complex?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Free variables the expression may mention; they are emitted as identifiers of the
|
|
20
|
+
* same name and must be in scope where the expression is pasted. Default
|
|
21
|
+
* `["x"]` (real) or `["z"]` (complex). A variable not listed is an error.
|
|
22
|
+
*/
|
|
23
|
+
variables?: string[];
|
|
24
|
+
/** When set, `source` is a complete function `name(<variables>)` wrapping the expression. */
|
|
25
|
+
functionName?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ShaderResult {
|
|
28
|
+
/** The expression text, e.g. `sin(x) * 2.0`. Paste it where a float (or vec2) is wanted. */
|
|
29
|
+
expression: string;
|
|
30
|
+
/** Helper function definitions the expression calls, in dependency order; empty when none are needed. */
|
|
31
|
+
helpers: string;
|
|
32
|
+
/** Complete source: `helpers` followed by the wrapping function when `functionName` was given, else `helpers` and nothing more. */
|
|
33
|
+
source: string;
|
|
34
|
+
/** The free variables actually used, sorted. */
|
|
35
|
+
variables: string[];
|
|
36
|
+
}
|
|
37
|
+
export declare class ShaderUnsupportedError extends Error {
|
|
38
|
+
constructor(message: string);
|
|
39
|
+
}
|
|
40
|
+
export declare function compileShader(expr: Expr, dialect: ShaderDialect, options?: ShaderOptions): ShaderResult;
|
|
41
|
+
//# sourceMappingURL=Shader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shader.d.ts","sourceRoot":"","sources":["../src/Shader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAC;IACnB,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB,mIAAmI;IACnI,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AA0uBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,CA6C3G"}
|