@johnhenry/math 0.1.0 → 0.3.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 +5 -4
- package/dist/Distributions.d.ts +86 -16
- package/dist/Distributions.d.ts.map +1 -1
- package/dist/Distributions.js +340 -89
- package/dist/Distributions.js.map +1 -1
- package/dist/EigenGeneral.d.ts +22 -0
- package/dist/EigenGeneral.d.ts.map +1 -0
- package/dist/EigenGeneral.js +327 -0
- package/dist/EigenGeneral.js.map +1 -0
- package/dist/Frobenius.d.ts +60 -0
- package/dist/Frobenius.d.ts.map +1 -0
- package/dist/Frobenius.js +162 -0
- package/dist/Frobenius.js.map +1 -0
- package/dist/Graph.d.ts +26 -0
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +75 -0
- package/dist/Graph.js.map +1 -1
- package/dist/MatrixMath.d.ts +10 -0
- package/dist/MatrixMath.d.ts.map +1 -1
- package/dist/MatrixMath.js +11 -0
- package/dist/MatrixMath.js.map +1 -1
- package/dist/MonteCarlo.d.ts +106 -0
- package/dist/MonteCarlo.d.ts.map +1 -0
- package/dist/MonteCarlo.js +183 -0
- package/dist/MonteCarlo.js.map +1 -0
- package/dist/Random.d.ts +31 -0
- package/dist/Random.d.ts.map +1 -0
- package/dist/Random.js +95 -0
- package/dist/Random.js.map +1 -0
- package/dist/Regression.d.ts +114 -0
- package/dist/Regression.d.ts.map +1 -0
- package/dist/Regression.js +338 -0
- package/dist/Regression.js.map +1 -0
- 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/SpecialFunctions.d.ts +3 -3
- package/dist/SpecialFunctions.d.ts.map +1 -1
- package/dist/SpecialFunctions.js +61 -51
- package/dist/SpecialFunctions.js.map +1 -1
- package/dist/Symbolic.d.ts +12 -0
- package/dist/Symbolic.d.ts.map +1 -1
- package/dist/Symbolic.js +16 -0
- package/dist/Symbolic.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Distributions.ts +391 -94
- package/src/EigenGeneral.ts +342 -0
- package/src/Frobenius.ts +203 -0
- package/src/Graph.ts +68 -0
- package/src/MatrixMath.ts +13 -0
- package/src/MonteCarlo.ts +257 -0
- package/src/Random.ts +104 -0
- package/src/Regression.ts +423 -0
- package/src/Shader.ts +837 -0
- package/src/SpecialFunctions.ts +52 -48
- package/src/Symbolic.ts +18 -0
- package/src/index.ts +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shader.js","sourceRoot":"","sources":["../src/Shader.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,16 +12,16 @@ export declare class SpecialFunctions {
|
|
|
12
12
|
static lnGamma(x: number): number;
|
|
13
13
|
/** The beta function B(a, b) = Γ(a)Γ(b)/Γ(a+b). */
|
|
14
14
|
static beta(a: number, b: number): number;
|
|
15
|
-
/** The error function erf(x). */
|
|
15
|
+
/** The error function erf(x) (to ~1e-15, via the regularised incomplete gamma P(1/2, x²)). */
|
|
16
16
|
static erf(x: number): number;
|
|
17
|
-
/** The complementary error function erfc(x) = 1 − erf(x). */
|
|
17
|
+
/** The complementary error function erfc(x) = 1 − erf(x), accurate in the upper tail (no cancellation). */
|
|
18
18
|
static erfc(x: number): number;
|
|
19
19
|
/**
|
|
20
20
|
* The regularised lower incomplete gamma function P(a, x) = γ(a, x)/Γ(a).
|
|
21
21
|
* (This is the CDF of the gamma/chi-square distributions.)
|
|
22
22
|
*/
|
|
23
23
|
static regularizedGammaP(a: number, x: number): number;
|
|
24
|
-
/** The regularised upper incomplete gamma function Q(a, x) = 1 − P(a, x). */
|
|
24
|
+
/** The regularised upper incomplete gamma function Q(a, x) = 1 − P(a, x), computed directly in the upper tail. */
|
|
25
25
|
static regularizedGammaQ(a: number, x: number): number;
|
|
26
26
|
/**
|
|
27
27
|
* The regularised incomplete beta function I_x(a, b). (This is the CDF of the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecialFunctions.d.ts","sourceRoot":"","sources":["../src/SpecialFunctions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,qBAAa,gBAAgB;IAC3B,uDAAuD;IACvD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAS/B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IASjC,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,
|
|
1
|
+
{"version":3,"file":"SpecialFunctions.d.ts","sourceRoot":"","sources":["../src/SpecialFunctions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,qBAAa,gBAAgB;IAC3B,uDAAuD;IACvD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAS/B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IASjC,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,8FAA8F;IAC9F,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAM7B,2GAA2G;IAC3G,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAM9B;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAOtD,kHAAkH;IAClH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAOtD;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAS1E"}
|
package/dist/SpecialFunctions.js
CHANGED
|
@@ -37,20 +37,20 @@ export class SpecialFunctions {
|
|
|
37
37
|
static beta(a, b) {
|
|
38
38
|
return Math.exp(SpecialFunctions.lnGamma(a) + SpecialFunctions.lnGamma(b) - SpecialFunctions.lnGamma(a + b));
|
|
39
39
|
}
|
|
40
|
-
/** The error function erf(x). */
|
|
40
|
+
/** The error function erf(x) (to ~1e-15, via the regularised incomplete gamma P(1/2, x²)). */
|
|
41
41
|
static erf(x) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
((((1.061405429 * t - 1.453152027) * t + 1.421413741) * t - 0.284496736) * t + 0.254829592) *
|
|
47
|
-
t *
|
|
48
|
-
Math.exp(-ax * ax);
|
|
49
|
-
return sign * y;
|
|
42
|
+
if (x === 0 || Number.isNaN(x))
|
|
43
|
+
return x;
|
|
44
|
+
const v = SpecialFunctions.regularizedGammaP(0.5, x * x);
|
|
45
|
+
return x < 0 ? -v : v;
|
|
50
46
|
}
|
|
51
|
-
/** The complementary error function erfc(x) = 1 − erf(x). */
|
|
47
|
+
/** The complementary error function erfc(x) = 1 − erf(x), accurate in the upper tail (no cancellation). */
|
|
52
48
|
static erfc(x) {
|
|
53
|
-
|
|
49
|
+
if (Number.isNaN(x))
|
|
50
|
+
return x;
|
|
51
|
+
if (x < 0)
|
|
52
|
+
return 2 - SpecialFunctions.regularizedGammaQ(0.5, x * x);
|
|
53
|
+
return SpecialFunctions.regularizedGammaQ(0.5, x * x);
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* The regularised lower incomplete gamma function P(a, x) = γ(a, x)/Γ(a).
|
|
@@ -61,47 +61,19 @@ export class SpecialFunctions {
|
|
|
61
61
|
return Number.NaN;
|
|
62
62
|
if (x === 0)
|
|
63
63
|
return 0;
|
|
64
|
-
if (x
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
let sum = 1 / a;
|
|
68
|
-
let del = sum;
|
|
69
|
-
for (let n = 0; n < 200; n++) {
|
|
70
|
-
ap++;
|
|
71
|
-
del *= x / ap;
|
|
72
|
-
sum += del;
|
|
73
|
-
if (Math.abs(del) < Math.abs(sum) * 1e-15)
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
return sum * Math.exp(-x + a * Math.log(x) - SpecialFunctions.lnGamma(a));
|
|
77
|
-
}
|
|
78
|
-
// continued fraction for the upper part Q, then P = 1 - Q
|
|
79
|
-
const tiny = 1e-300;
|
|
80
|
-
let b = x + 1 - a;
|
|
81
|
-
let c = 1 / tiny;
|
|
82
|
-
let d = 1 / b;
|
|
83
|
-
let h = d;
|
|
84
|
-
for (let i = 1; i < 200; i++) {
|
|
85
|
-
const an = -i * (i - a);
|
|
86
|
-
b += 2;
|
|
87
|
-
d = an * d + b;
|
|
88
|
-
if (Math.abs(d) < tiny)
|
|
89
|
-
d = tiny;
|
|
90
|
-
c = b + an / c;
|
|
91
|
-
if (Math.abs(c) < tiny)
|
|
92
|
-
c = tiny;
|
|
93
|
-
d = 1 / d;
|
|
94
|
-
const del = d * c;
|
|
95
|
-
h *= del;
|
|
96
|
-
if (Math.abs(del - 1) < 1e-15)
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
const q = Math.exp(-x + a * Math.log(x) - SpecialFunctions.lnGamma(a)) * h;
|
|
100
|
-
return 1 - q;
|
|
64
|
+
if (x === Number.POSITIVE_INFINITY)
|
|
65
|
+
return 1;
|
|
66
|
+
return x < a + 1 ? gammaSeries(a, x) : 1 - gammaContinuedFraction(a, x);
|
|
101
67
|
}
|
|
102
|
-
/** The regularised upper incomplete gamma function Q(a, x) = 1 − P(a, x). */
|
|
68
|
+
/** The regularised upper incomplete gamma function Q(a, x) = 1 − P(a, x), computed directly in the upper tail. */
|
|
103
69
|
static regularizedGammaQ(a, x) {
|
|
104
|
-
|
|
70
|
+
if (x < 0 || a <= 0)
|
|
71
|
+
return Number.NaN;
|
|
72
|
+
if (x === 0)
|
|
73
|
+
return 1;
|
|
74
|
+
if (x === Number.POSITIVE_INFINITY)
|
|
75
|
+
return 0;
|
|
76
|
+
return x < a + 1 ? 1 - gammaSeries(a, x) : gammaContinuedFraction(a, x);
|
|
105
77
|
}
|
|
106
78
|
/**
|
|
107
79
|
* The regularised incomplete beta function I_x(a, b). (This is the CDF of the
|
|
@@ -132,7 +104,7 @@ function betaContinuedFraction(a, b, x) {
|
|
|
132
104
|
d = tiny;
|
|
133
105
|
d = 1 / d;
|
|
134
106
|
let h = d;
|
|
135
|
-
for (let m = 1; m <
|
|
107
|
+
for (let m = 1; m < 1000; m++) {
|
|
136
108
|
const m2 = 2 * m;
|
|
137
109
|
let aa = (m * (b - m) * x) / ((qam + m2) * (a + m2));
|
|
138
110
|
d = 1 + aa * d;
|
|
@@ -158,4 +130,42 @@ function betaContinuedFraction(a, b, x) {
|
|
|
158
130
|
}
|
|
159
131
|
return h;
|
|
160
132
|
}
|
|
133
|
+
/** Series for P(a, x), valid and fast for x < a + 1. */
|
|
134
|
+
function gammaSeries(a, x) {
|
|
135
|
+
let ap = a;
|
|
136
|
+
let sum = 1 / a;
|
|
137
|
+
let del = sum;
|
|
138
|
+
for (let n = 0; n < 1000; n++) {
|
|
139
|
+
ap++;
|
|
140
|
+
del *= x / ap;
|
|
141
|
+
sum += del;
|
|
142
|
+
if (Math.abs(del) < Math.abs(sum) * 1e-16)
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
return sum * Math.exp(-x + a * Math.log(x) - SpecialFunctions.lnGamma(a));
|
|
146
|
+
}
|
|
147
|
+
/** Lentz continued fraction for Q(a, x), valid and fast for x >= a + 1. */
|
|
148
|
+
function gammaContinuedFraction(a, x) {
|
|
149
|
+
const tiny = 1e-300;
|
|
150
|
+
let b = x + 1 - a;
|
|
151
|
+
let c = 1 / tiny;
|
|
152
|
+
let d = 1 / b;
|
|
153
|
+
let h = d;
|
|
154
|
+
for (let i = 1; i < 1000; i++) {
|
|
155
|
+
const an = -i * (i - a);
|
|
156
|
+
b += 2;
|
|
157
|
+
d = an * d + b;
|
|
158
|
+
if (Math.abs(d) < tiny)
|
|
159
|
+
d = tiny;
|
|
160
|
+
c = b + an / c;
|
|
161
|
+
if (Math.abs(c) < tiny)
|
|
162
|
+
c = tiny;
|
|
163
|
+
d = 1 / d;
|
|
164
|
+
const del = d * c;
|
|
165
|
+
h *= del;
|
|
166
|
+
if (Math.abs(del - 1) < 1e-16)
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
return Math.exp(-x + a * Math.log(x) - SpecialFunctions.lnGamma(a)) * h;
|
|
170
|
+
}
|
|
161
171
|
//# sourceMappingURL=SpecialFunctions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecialFunctions.js","sourceRoot":"","sources":["../src/SpecialFunctions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,OAAO,GAAG;IACd,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,kBAAkB;IACrH,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB;CAClE,CAAC;AAEF,MAAM,OAAO,gBAAgB;IAC3B,uDAAuD;IACvD,MAAM,CAAC,KAAK,CAAC,CAAS;QACpB,IAAI,CAAC,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,OAAO,CAAC,CAAS;QACtB,IAAI,CAAC,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1G,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"SpecialFunctions.js","sourceRoot":"","sources":["../src/SpecialFunctions.ts"],"names":[],"mappings":"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"}
|
package/dist/Symbolic.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Rational } from "./Rational.ts";
|
|
2
|
+
import { type ShaderOptions, type ShaderResult } from "./Shader.ts";
|
|
2
3
|
import type { Structure } from "./Structure.ts";
|
|
3
4
|
export type FuncName = "sin" | "cos" | "tan" | "exp" | "ln" | "sqrt" | "asin" | "acos" | "atan" | "sinh" | "cosh" | "tanh" | "cot" | "sec" | "csc" | "asinh" | "acosh" | "atanh" | "coth" | "sech" | "csch" | "acot" | "asec" | "acsc" | "acoth" | "asech" | "acsch" | "abs" | "log10" | "log2" | "cbrt" | "floor" | "ceil" | "round" | "sign" | "trunc" | "expm1" | "log1p" | "sigmoid" | "erf" | "relu";
|
|
4
5
|
/** Elementary functions that take exactly two `Expr` operands (see the `call2` `Expr` variant). */
|
|
@@ -372,6 +373,17 @@ export declare class Symbolic {
|
|
|
372
373
|
*/
|
|
373
374
|
static evaluateOverStructure<T>(expr: Expr | string, structure: Structure<T>, env?: Record<string, T>): T;
|
|
374
375
|
static toString(expr: Expr | string): string;
|
|
376
|
+
/**
|
|
377
|
+
* Compile `expr` to a GLSL ES 3.0 expression over `float` (default) or, with
|
|
378
|
+
* `{ complex: true }`, over `vec2` complex numbers (the helpers it needs, such as
|
|
379
|
+
* `mx_cmul`, are returned in `helpers` and emitted once). Output is deterministic.
|
|
380
|
+
* Refuses nodes with no shader form (`sum`, `product`, `erf`, `gcd`, `lcm`, and anything
|
|
381
|
+
* not closed under the complex numbers in complex mode) with a `ShaderUnsupportedError`.
|
|
382
|
+
* Shader `pow` of a negative base with a non-integer exponent is undefined, unlike JS `NaN`.
|
|
383
|
+
*/
|
|
384
|
+
static toGLSL(expr: Expr | string, options?: ShaderOptions): ShaderResult;
|
|
385
|
+
/** As {@link toGLSL}, for WGSL (`f32` / `vec2<f32>`; `select` replaces the ternary). */
|
|
386
|
+
static toWGSL(expr: Expr | string, options?: ShaderOptions): ShaderResult;
|
|
375
387
|
/** Render `expr` as a LaTeX string, e.g. `"x/2"` -> `"\\frac{x}{2}"`. */
|
|
376
388
|
static toLatex(expr: Expr | string): string;
|
|
377
389
|
/**
|
package/dist/Symbolic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Symbolic.d.ts","sourceRoot":"","sources":["../src/Symbolic.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Symbolic.d.ts","sourceRoot":"","sources":["../src/Symbolic.ts"],"names":[],"mappings":"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"}
|
package/dist/Symbolic.js
CHANGED
|
@@ -8,6 +8,7 @@ import { FUNC_DERIVATIVE_RULES } from "./differentiation-rules.js";
|
|
|
8
8
|
import { MatrixMath } from "./MatrixMath.js";
|
|
9
9
|
import { Numerical } from "./Numerical.js";
|
|
10
10
|
import { Rational } from "./Rational.js";
|
|
11
|
+
import { compileShader } from "./Shader.js";
|
|
11
12
|
import { SpecialFunctions } from "./SpecialFunctions.js";
|
|
12
13
|
const FUNCS = [
|
|
13
14
|
"sin",
|
|
@@ -686,6 +687,21 @@ export class Symbolic {
|
|
|
686
687
|
static toString(expr) {
|
|
687
688
|
return render(typeof expr === "string" ? Symbolic.parse(expr) : expr, 0);
|
|
688
689
|
}
|
|
690
|
+
/**
|
|
691
|
+
* Compile `expr` to a GLSL ES 3.0 expression over `float` (default) or, with
|
|
692
|
+
* `{ complex: true }`, over `vec2` complex numbers (the helpers it needs, such as
|
|
693
|
+
* `mx_cmul`, are returned in `helpers` and emitted once). Output is deterministic.
|
|
694
|
+
* Refuses nodes with no shader form (`sum`, `product`, `erf`, `gcd`, `lcm`, and anything
|
|
695
|
+
* not closed under the complex numbers in complex mode) with a `ShaderUnsupportedError`.
|
|
696
|
+
* Shader `pow` of a negative base with a non-integer exponent is undefined, unlike JS `NaN`.
|
|
697
|
+
*/
|
|
698
|
+
static toGLSL(expr, options = {}) {
|
|
699
|
+
return compileShader(typeof expr === "string" ? Symbolic.parse(expr) : expr, "glsl", options);
|
|
700
|
+
}
|
|
701
|
+
/** As {@link toGLSL}, for WGSL (`f32` / `vec2<f32>`; `select` replaces the ternary). */
|
|
702
|
+
static toWGSL(expr, options = {}) {
|
|
703
|
+
return compileShader(typeof expr === "string" ? Symbolic.parse(expr) : expr, "wgsl", options);
|
|
704
|
+
}
|
|
689
705
|
/** Render `expr` as a LaTeX string, e.g. `"x/2"` -> `"\\frac{x}{2}"`. */
|
|
690
706
|
static toLatex(expr) {
|
|
691
707
|
return toLatexRec(typeof expr === "string" ? Symbolic.parse(expr) : expr, 0);
|