runmat 0.4.9-dev.1 → 0.4.9
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/artifacts/stdlib.snapshot +0 -0
- package/dist/builtins.d.ts +1 -0
- package/dist/builtins.d.ts.map +1 -1
- package/dist/builtins.js.map +1 -1
- package/dist/generated/builtin-examples-catalog.d.ts.map +1 -1
- package/dist/generated/builtin-examples-catalog.js +1 -1
- package/dist/generated/builtin-examples-catalog.js.map +1 -1
- package/dist/generated/builtins/complex.d.ts +4 -0
- package/dist/generated/builtins/complex.d.ts.map +1 -0
- package/dist/generated/builtins/complex.js +157 -0
- package/dist/generated/builtins/complex.js.map +1 -0
- package/dist/generated/builtins/cosd.d.ts +4 -0
- package/dist/generated/builtins/cosd.d.ts.map +1 -0
- package/dist/generated/builtins/cosd.js +109 -0
- package/dist/generated/builtins/cosd.js.map +1 -0
- package/dist/generated/builtins/db.d.ts +4 -0
- package/dist/generated/builtins/db.d.ts.map +1 -0
- package/dist/generated/builtins/db.js +122 -0
- package/dist/generated/builtins/db.js.map +1 -0
- package/dist/generated/builtins/fgetl.d.ts +4 -0
- package/dist/generated/builtins/fgetl.d.ts.map +1 -0
- package/dist/generated/builtins/fgetl.js +133 -0
- package/dist/generated/builtins/fgetl.js.map +1 -0
- package/dist/generated/builtins/fgets.d.ts.map +1 -1
- package/dist/generated/builtins/fgets.js +4 -0
- package/dist/generated/builtins/fgets.js.map +1 -1
- package/dist/generated/builtins/fill3.d.ts +4 -0
- package/dist/generated/builtins/fill3.d.ts.map +1 -0
- package/dist/generated/builtins/fill3.js +152 -0
- package/dist/generated/builtins/fill3.js.map +1 -0
- package/dist/generated/builtins/fminbnd.d.ts +4 -0
- package/dist/generated/builtins/fminbnd.d.ts.map +1 -0
- package/dist/generated/builtins/fminbnd.js +104 -0
- package/dist/generated/builtins/fminbnd.js.map +1 -0
- package/dist/generated/builtins/impulse.d.ts +4 -0
- package/dist/generated/builtins/impulse.d.ts.map +1 -0
- package/dist/generated/builtins/impulse.js +123 -0
- package/dist/generated/builtins/impulse.js.map +1 -0
- package/dist/generated/builtins/integral.d.ts +4 -0
- package/dist/generated/builtins/integral.d.ts.map +1 -0
- package/dist/generated/builtins/integral.js +101 -0
- package/dist/generated/builtins/integral.js.map +1 -0
- package/dist/generated/builtins/mode.d.ts +4 -0
- package/dist/generated/builtins/mode.d.ts.map +1 -0
- package/dist/generated/builtins/mode.js +146 -0
- package/dist/generated/builtins/mode.js.map +1 -0
- package/dist/generated/builtins/optimset.d.ts.map +1 -1
- package/dist/generated/builtins/optimset.js +8 -4
- package/dist/generated/builtins/optimset.js.map +1 -1
- package/dist/generated/builtins/patch.d.ts +4 -0
- package/dist/generated/builtins/patch.d.ts.map +1 -0
- package/dist/generated/builtins/patch.js +135 -0
- package/dist/generated/builtins/patch.js.map +1 -0
- package/dist/generated/builtins/repelem.d.ts +4 -0
- package/dist/generated/builtins/repelem.d.ts.map +1 -0
- package/dist/generated/builtins/repelem.js +135 -0
- package/dist/generated/builtins/repelem.js.map +1 -0
- package/dist/generated/builtins/sawtooth.d.ts +4 -0
- package/dist/generated/builtins/sawtooth.d.ts.map +1 -0
- package/dist/generated/builtins/sawtooth.js +111 -0
- package/dist/generated/builtins/sawtooth.js.map +1 -0
- package/dist/generated/builtins/sinc.d.ts +4 -0
- package/dist/generated/builtins/sinc.d.ts.map +1 -0
- package/dist/generated/builtins/sinc.js +142 -0
- package/dist/generated/builtins/sinc.js.map +1 -0
- package/dist/generated/builtins/sind.d.ts +4 -0
- package/dist/generated/builtins/sind.d.ts.map +1 -0
- package/dist/generated/builtins/sind.js +109 -0
- package/dist/generated/builtins/sind.js.map +1 -0
- package/dist/generated/builtins/square.d.ts +4 -0
- package/dist/generated/builtins/square.d.ts.map +1 -0
- package/dist/generated/builtins/square.js +110 -0
- package/dist/generated/builtins/square.js.map +1 -0
- package/dist/generated/builtins/step.d.ts +4 -0
- package/dist/generated/builtins/step.d.ts.map +1 -0
- package/dist/generated/builtins/step.js +125 -0
- package/dist/generated/builtins/step.js.map +1 -0
- package/dist/generated/builtins/tand.d.ts +4 -0
- package/dist/generated/builtins/tand.d.ts.map +1 -0
- package/dist/generated/builtins/tand.js +109 -0
- package/dist/generated/builtins/tand.js.map +1 -0
- package/dist/generated/builtins-manifest.d.ts.map +1 -1
- package/dist/generated/builtins-manifest.js +363 -1
- package/dist/generated/builtins-manifest.js.map +1 -1
- package/dist/lsp/runmat_lsp.d.ts +2 -2
- package/dist/lsp/runmat_lsp.js +4 -4
- package/dist/lsp/runmat_lsp_bg.wasm +0 -0
- package/dist/lsp/runmat_lsp_bg.wasm.d.ts +2 -2
- package/dist/pkg-web/runmat_wasm_web.d.ts +42 -42
- package/dist/pkg-web/runmat_wasm_web.js +85 -85
- package/dist/pkg-web/runmat_wasm_web_bg.wasm +0 -0
- package/dist/pkg-web/runmat_wasm_web_bg.wasm.d.ts +35 -35
- package/dist/runtime/stdlib.snapshot +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
// @generated by scripts/generate-builtins.cjs
|
|
2
|
+
// Do not edit by hand.
|
|
3
|
+
const builtinDoc = {
|
|
4
|
+
"title": "sinc",
|
|
5
|
+
"category": "math/signal",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"sinc",
|
|
8
|
+
"normalized sinc",
|
|
9
|
+
"signal processing",
|
|
10
|
+
"elementwise",
|
|
11
|
+
"complex"
|
|
12
|
+
],
|
|
13
|
+
"summary": "Normalized sinc, sin(pi*x)/(pi*x), evaluated element-wise.",
|
|
14
|
+
"references": [
|
|
15
|
+
"title: \"MATLAB sinc documentation\""
|
|
16
|
+
],
|
|
17
|
+
"gpu_support": {
|
|
18
|
+
"elementwise": true,
|
|
19
|
+
"reduction": false,
|
|
20
|
+
"precisions": [
|
|
21
|
+
"f32",
|
|
22
|
+
"f64"
|
|
23
|
+
],
|
|
24
|
+
"broadcasting": "matlab",
|
|
25
|
+
"notes": "Providers may execute sinc on-device through unary_sinc. The runtime gathers to the host only when a provider lacks that hook or cannot service the input."
|
|
26
|
+
},
|
|
27
|
+
"fusion": {
|
|
28
|
+
"elementwise": true,
|
|
29
|
+
"reduction": false,
|
|
30
|
+
"max_inputs": 1,
|
|
31
|
+
"constants": "inline"
|
|
32
|
+
},
|
|
33
|
+
"requires_feature": null,
|
|
34
|
+
"tested": {
|
|
35
|
+
"unit": "builtins::math::signal::sinc::tests",
|
|
36
|
+
"integration": "builtins::math::signal::sinc::tests::sinc_gpu_input_stays_resident_when_provider_supports_sinc"
|
|
37
|
+
},
|
|
38
|
+
"description": "`y = sinc(x)` evaluates the normalized sinc function element-wise using MATLAB's definition `sin(pi*x)/(pi*x)`, with `sinc(0)` defined as `1`.",
|
|
39
|
+
"behaviors": [
|
|
40
|
+
"Accepts real or complex scalars, vectors, matrices, and N-D tensors.",
|
|
41
|
+
"Preserves the input shape for vector, matrix, and N-D tensor inputs.",
|
|
42
|
+
"Returns `1` for exactly zero real inputs.",
|
|
43
|
+
"Returns exact `0` for finite nonzero integer-valued real inputs, matching MATLAB's `sinpi`-style integer accuracy where practical.",
|
|
44
|
+
"Logical and integer inputs are promoted to double precision before evaluation.",
|
|
45
|
+
"Complex inputs use the analytic extension `sin(pi*z)/(pi*z)` and return `1 + 0i` for `z == 0`.",
|
|
46
|
+
"GPU inputs stay resident when the active provider supports `unary_sinc`; otherwise RunMat gathers automatically and evaluates with the host implementation."
|
|
47
|
+
],
|
|
48
|
+
"examples": [
|
|
49
|
+
{
|
|
50
|
+
"description": "Evaluate sinc at zero",
|
|
51
|
+
"input": "y = sinc(0)",
|
|
52
|
+
"output": "y = 1"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"description": "Evaluate sinc at integer inputs",
|
|
56
|
+
"input": "x = 1:5;\ny = sinc(x)",
|
|
57
|
+
"output": "y = [0 0 0 0 0]"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"description": "Evaluate normalized sinc values",
|
|
61
|
+
"input": "x = [-1 0 1 0.5];\ny = sinc(x)",
|
|
62
|
+
"output": "y = [0 1 0 0.6366]"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"description": "Preserve matrix shape",
|
|
66
|
+
"input": "A = [0 0.5; 1.5 2];\nY = sinc(A)",
|
|
67
|
+
"output": "Y =\n 1.0000 0.6366\n -0.2122 0"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"description": "Evaluate sinc for a complex value",
|
|
71
|
+
"input": "z = sinc(0.5 + 0.25i)"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"description": "Use gpuArray input",
|
|
75
|
+
"input": "g = gpuArray([0 0.5 1]);\ny = sinc(g);\nresult = gather(y)",
|
|
76
|
+
"output": "result = [1 0.6366 0]"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"faqs": [
|
|
80
|
+
{
|
|
81
|
+
"question": "Which sinc definition does RunMat use?",
|
|
82
|
+
"answer": "RunMat uses MATLAB's normalized definition, `sin(pi*x)/(pi*x)`, with the removable singularity at zero defined as `1`."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"question": "Why does `sinc(1:5)` return exact zeros?",
|
|
86
|
+
"answer": "The implementation detects finite nonzero integer-valued real inputs before evaluating the trigonometric expression. This avoids floating-point residuals from `sin(pi*x)` and matches MATLAB's practical `sinpi` behaviour."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"question": "Does `sinc` support complex values?",
|
|
90
|
+
"answer": "Yes. Complex scalars and complex tensors use the analytic extension `sin(pi*z)/(pi*z)` and preserve tensor shape."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"question": "Will `sinc(gpuArray(...))` stay on the GPU?",
|
|
94
|
+
"answer": "Yes when the active provider implements `unary_sinc`. Providers without that hook fall back to host evaluation so zero and integer cases still use the exact MATLAB-compatible path."
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"links": [
|
|
98
|
+
{
|
|
99
|
+
"label": "sin",
|
|
100
|
+
"url": "./sin"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"label": "fft",
|
|
104
|
+
"url": "./fft"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"label": "filter",
|
|
108
|
+
"url": "./filter"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"label": "conv",
|
|
112
|
+
"url": "./conv"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"label": "gpuArray",
|
|
116
|
+
"url": "./gpuarray"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"label": "gather",
|
|
120
|
+
"url": "./gather"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"source": {
|
|
124
|
+
"label": "`crates/runmat-runtime/src/builtins/math/signal/sinc.rs`",
|
|
125
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/signal/sinc.rs"
|
|
126
|
+
},
|
|
127
|
+
"gpu_residency": "`sinc` keeps real GPU tensors resident when the active provider exposes `unary_sinc`. The runtime preserves a host fallback for providers that do not support the hook.",
|
|
128
|
+
"gpu_behavior": [
|
|
129
|
+
"Provider-backed execution uses the same normalized sinc semantics, including `sinc(0) == 1` and exact zeros for finite nonzero integer-valued real inputs.",
|
|
130
|
+
"If the provider declines the operation, RunMat gathers through the active provider and evaluates with the host implementation.",
|
|
131
|
+
"Fusion emits a guarded normalized sinc expression with explicit zero and integer branches for real elementwise graphs."
|
|
132
|
+
],
|
|
133
|
+
"key": "sinc",
|
|
134
|
+
"slug": "sinc",
|
|
135
|
+
"aliases": [],
|
|
136
|
+
"categoryPath": [
|
|
137
|
+
"math",
|
|
138
|
+
"signal"
|
|
139
|
+
]
|
|
140
|
+
};
|
|
141
|
+
export default builtinDoc;
|
|
142
|
+
//# sourceMappingURL=sinc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sinc.js","sourceRoot":"","sources":["../../../src/generated/builtins/sinc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sind.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/sind.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAwGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// @generated by scripts/generate-builtins.cjs
|
|
2
|
+
// Do not edit by hand.
|
|
3
|
+
const builtinDoc = {
|
|
4
|
+
"title": "sind",
|
|
5
|
+
"category": "math/trigonometry",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"sind",
|
|
8
|
+
"sine",
|
|
9
|
+
"degrees",
|
|
10
|
+
"angle",
|
|
11
|
+
"trigonometry",
|
|
12
|
+
"elementwise"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Sine of angles expressed in degrees with MATLAB-exact values at canonical multiples.",
|
|
15
|
+
"references": [],
|
|
16
|
+
"gpu_support": {
|
|
17
|
+
"elementwise": true,
|
|
18
|
+
"reduction": false,
|
|
19
|
+
"precisions": [
|
|
20
|
+
"f64"
|
|
21
|
+
],
|
|
22
|
+
"broadcasting": "elementwise",
|
|
23
|
+
"notes": "GPU inputs are gathered to the host so the reference implementation can guarantee MATLAB-exact values at canonical multiples of 30, 90, 150, and 180 degrees."
|
|
24
|
+
},
|
|
25
|
+
"fusion": {
|
|
26
|
+
"elementwise": false,
|
|
27
|
+
"reduction": false,
|
|
28
|
+
"max_inputs": 1,
|
|
29
|
+
"constants": "inline",
|
|
30
|
+
"notes": "Fusion is intentionally disabled for v1 because the WGSL `sin(x*pi/180)` form would lose MATLAB's exact-value guarantees at canonical angles."
|
|
31
|
+
},
|
|
32
|
+
"requires_feature": null,
|
|
33
|
+
"tested": {
|
|
34
|
+
"unit": "builtins::math::trigonometry::sind::tests",
|
|
35
|
+
"integration": null
|
|
36
|
+
},
|
|
37
|
+
"description": "`y = sind(x)` evaluates the sine of each angle in `x`, interpreting the values in degrees rather than radians. The implementation reduces the angle modulo 360 and special-cases 0, 30, 90, 150, and 180 (and their negative/wrapped counterparts) so the result matches MATLAB's exact 0, ±0.5, and ±1 values without floating-point noise.",
|
|
38
|
+
"behaviors": [
|
|
39
|
+
"Operates element-wise on scalars, vectors, matrices, and N-D tensors.",
|
|
40
|
+
"Integer and logical inputs are promoted to double precision before evaluation.",
|
|
41
|
+
"Returns exactly 0 at multiples of 180 and exactly ±1 at the odd multiples of 90 (±90 + 360k).",
|
|
42
|
+
"Returns exactly ±0.5 at angles congruent to ±30 or ±150 modulo 360.",
|
|
43
|
+
"Complex inputs delegate to the analytic extension of `sin` after scaling by `pi/180`; exact-value treatment for complex operands is deferred.",
|
|
44
|
+
"Output shape matches the input shape; non-finite inputs propagate as `NaN`.",
|
|
45
|
+
"String inputs are unsupported and raise a builtin-scoped error."
|
|
46
|
+
],
|
|
47
|
+
"examples": [
|
|
48
|
+
{
|
|
49
|
+
"description": "Sine of a canonical degree angle",
|
|
50
|
+
"input": "y = sind(30)",
|
|
51
|
+
"output": "y = 0.5"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"description": "Sine of multiples of 180 returns exactly zero",
|
|
55
|
+
"input": "y = sind([0 180 360])",
|
|
56
|
+
"output": "y = [0 0 0]"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"description": "Sine of a vector of common angles",
|
|
60
|
+
"input": "angles = [0 30 45 60 90];\ny = sind(angles)",
|
|
61
|
+
"output": "y = [0 0.5 0.7071 0.8660 1]"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"faqs": [
|
|
65
|
+
{
|
|
66
|
+
"question": "Why does `sind(180)` return exactly zero?",
|
|
67
|
+
"answer": "MATLAB guarantees an exact zero at multiples of 180 to avoid floating-point noise from `pi`. RunMat reduces the angle modulo 360 and short-circuits the canonical cases before delegating to `sin`."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"question": "Is `sind(x)` equivalent to `sin(x*pi/180)`?",
|
|
71
|
+
"answer": "Mathematically yes, but the floating-point result differs at canonical angles because `pi/180` is not exact in binary floating point. `sind` returns the exact MATLAB values at multiples of 30, 90, 150, and 180."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"question": "Does `sind` support arrays?",
|
|
75
|
+
"answer": "Yes. Scalars, vectors, matrices, and N-D tensors are all handled element-wise; the shape of the input is preserved."
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"links": [
|
|
79
|
+
{
|
|
80
|
+
"label": "cosd",
|
|
81
|
+
"url": "./cosd"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"label": "tand",
|
|
85
|
+
"url": "./tand"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"label": "sin",
|
|
89
|
+
"url": "./sin"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"label": "deg2rad",
|
|
93
|
+
"url": "./deg2rad"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"source": {
|
|
97
|
+
"label": "`crates/runmat-runtime/src/builtins/math/trigonometry/sind.rs`",
|
|
98
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/trigonometry/sind.rs"
|
|
99
|
+
},
|
|
100
|
+
"key": "sind",
|
|
101
|
+
"slug": "sind",
|
|
102
|
+
"aliases": [],
|
|
103
|
+
"categoryPath": [
|
|
104
|
+
"math",
|
|
105
|
+
"trigonometry"
|
|
106
|
+
]
|
|
107
|
+
};
|
|
108
|
+
export default builtinDoc;
|
|
109
|
+
//# sourceMappingURL=sind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sind.js","sourceRoot":"","sources":["../../../src/generated/builtins/sind.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE;QACV,MAAM;QACN,MAAM;QACN,SAAS;QACT,OAAO;QACP,cAAc;QACd,aAAa;KACd;IACD,SAAS,EAAE,sFAAsF;IACjG,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE;QACb,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;SACN;QACD,cAAc,EAAE,aAAa;QAC7B,OAAO,EAAE,+JAA+J;KACzK;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,+IAA+I;KACzJ;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,2CAA2C;QACnD,aAAa,EAAE,IAAI;KACpB;IACD,aAAa,EAAE,8UAA8U;IAC7V,WAAW,EAAE;QACX,uEAAuE;QACvE,gFAAgF;QAChF,+FAA+F;QAC/F,qEAAqE;QACrE,+IAA+I;QAC/I,6EAA6E;QAC7E,iEAAiE;KAClE;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,aAAa,EAAE,+CAA+C;YAC9D,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,aAAa;SACxB;QACD;YACE,aAAa,EAAE,mCAAmC;YAClD,OAAO,EAAE,6CAA6C;YACtD,QAAQ,EAAE,6BAA6B;SACxC;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,2CAA2C;YACvD,QAAQ,EAAE,qMAAqM;SAChN;QACD;YACE,UAAU,EAAE,6CAA6C;YACzD,QAAQ,EAAE,oNAAoN;SAC/N;QACD;YACE,UAAU,EAAE,6BAA6B;YACzC,QAAQ,EAAE,qHAAqH;SAChI;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,gEAAgE;QACzE,KAAK,EAAE,6GAA6G;KACrH;IACD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,cAAc;KACf;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/square.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAyGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// @generated by scripts/generate-builtins.cjs
|
|
2
|
+
// Do not edit by hand.
|
|
3
|
+
const builtinDoc = {
|
|
4
|
+
"title": "square",
|
|
5
|
+
"category": "math/signal",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"square",
|
|
8
|
+
"waveform",
|
|
9
|
+
"signal processing",
|
|
10
|
+
"duty cycle",
|
|
11
|
+
"periodic",
|
|
12
|
+
"elementwise"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Generate a periodic square wave with optional duty cycle.",
|
|
15
|
+
"references": [],
|
|
16
|
+
"gpu_support": {
|
|
17
|
+
"elementwise": true,
|
|
18
|
+
"reduction": false,
|
|
19
|
+
"precisions": [
|
|
20
|
+
"f64"
|
|
21
|
+
],
|
|
22
|
+
"broadcasting": "elementwise",
|
|
23
|
+
"notes": "GPU inputs are gathered to the host so the reference implementation can guarantee MATLAB-compatible half-open duty-cycle semantics at the period boundary."
|
|
24
|
+
},
|
|
25
|
+
"fusion": {
|
|
26
|
+
"elementwise": false,
|
|
27
|
+
"reduction": false,
|
|
28
|
+
"max_inputs": 1,
|
|
29
|
+
"constants": "inline",
|
|
30
|
+
"notes": "Fusion is intentionally disabled for v1 because the duty-cycle comparison is cheap on the host and would not materially benefit from kernel fusion."
|
|
31
|
+
},
|
|
32
|
+
"requires_feature": null,
|
|
33
|
+
"tested": {
|
|
34
|
+
"unit": "builtins::math::signal::square::tests",
|
|
35
|
+
"integration": null
|
|
36
|
+
},
|
|
37
|
+
"description": "`y = square(t)` generates a square wave with period `2*pi` at the sample times in `t`, with values in `{-1, +1}`. `y = square(t, duty)` accepts an explicit duty cycle as a percentage in `[0, 100]`: the output is `+1` over the first `duty/100 * 2*pi` of every period and `-1` for the remainder. The default duty cycle is 50% so that `square` produces the standard symmetric square wave.",
|
|
38
|
+
"behaviors": [
|
|
39
|
+
"Operates element-wise on scalars, vectors, matrices, and N-D tensors; preserves input shape.",
|
|
40
|
+
"Reduces input modulo `2*pi` so the waveform is periodic across negative and positive sample times.",
|
|
41
|
+
"Uses half-open interval semantics: `+1` for `phi/(2*pi) < duty/100`, `-1` otherwise.",
|
|
42
|
+
"`duty = 0` produces a constant `-1` waveform; `duty = 100` produces a constant `+1` waveform.",
|
|
43
|
+
"Integer and logical inputs are promoted to double precision before evaluation.",
|
|
44
|
+
"Non-finite sample times (`NaN`, `+Inf`, `-Inf`) propagate as `NaN` element-wise, matching MATLAB.",
|
|
45
|
+
"Complex and text inputs are rejected with a builtin-scoped error.",
|
|
46
|
+
"Rejects `duty` values outside `[0, 100]` and non-scalar `duty` arguments."
|
|
47
|
+
],
|
|
48
|
+
"examples": [
|
|
49
|
+
{
|
|
50
|
+
"description": "Default 50% duty cycle square wave",
|
|
51
|
+
"input": "t = 0:pi/4:2*pi;\ny = square(t)",
|
|
52
|
+
"output": "y = [1 1 1 1 -1 -1 -1 -1 1]"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"description": "25% duty cycle square wave",
|
|
56
|
+
"input": "t = 0:pi/4:2*pi;\ny = square(t, 25)",
|
|
57
|
+
"output": "y = [1 1 -1 -1 -1 -1 -1 -1 1]"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"description": "Constant outputs at the boundaries",
|
|
61
|
+
"input": "y = square([0 pi 2*pi], 100)",
|
|
62
|
+
"output": "y = [1 1 1]"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"faqs": [
|
|
66
|
+
{
|
|
67
|
+
"question": "What happens exactly at the duty-cycle boundary?",
|
|
68
|
+
"answer": "RunMat uses half-open semantics: the boundary phase belongs to the negative half. With the default 50% duty cycle, `square(pi)` returns `-1`. This matches MATLAB's documented behaviour."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"question": "How do I produce a constant `+1` or `-1`?",
|
|
72
|
+
"answer": "Pass `duty = 100` for a constant `+1` waveform and `duty = 0` for a constant `-1` waveform."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"question": "Can `square` accept complex inputs?",
|
|
76
|
+
"answer": "No. `square` is defined on real samples and rejects complex inputs with a builtin-scoped error to match MATLAB."
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"links": [
|
|
80
|
+
{
|
|
81
|
+
"label": "sawtooth",
|
|
82
|
+
"url": "./sawtooth"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"label": "sin",
|
|
86
|
+
"url": "./sin"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"label": "cos",
|
|
90
|
+
"url": "./cos"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "linspace",
|
|
94
|
+
"url": "./linspace"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"source": {
|
|
98
|
+
"label": "`crates/runmat-runtime/src/builtins/math/signal/square.rs`",
|
|
99
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/signal/square.rs"
|
|
100
|
+
},
|
|
101
|
+
"key": "square",
|
|
102
|
+
"slug": "square",
|
|
103
|
+
"aliases": [],
|
|
104
|
+
"categoryPath": [
|
|
105
|
+
"math",
|
|
106
|
+
"signal"
|
|
107
|
+
]
|
|
108
|
+
};
|
|
109
|
+
export default builtinDoc;
|
|
110
|
+
//# sourceMappingURL=square.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square.js","sourceRoot":"","sources":["../../../src/generated/builtins/square.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE;QACV,QAAQ;QACR,UAAU;QACV,mBAAmB;QACnB,YAAY;QACZ,UAAU;QACV,aAAa;KACd;IACD,SAAS,EAAE,2DAA2D;IACtE,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE;QACb,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;SACN;QACD,cAAc,EAAE,aAAa;QAC7B,OAAO,EAAE,4JAA4J;KACtK;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,qJAAqJ;KAC/J;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,uCAAuC;QAC/C,aAAa,EAAE,IAAI;KACpB;IACD,aAAa,EAAE,mYAAmY;IAClZ,WAAW,EAAE;QACX,8FAA8F;QAC9F,oGAAoG;QACpG,sFAAsF;QACtF,+FAA+F;QAC/F,gFAAgF;QAChF,mGAAmG;QACnG,mEAAmE;QACnE,2EAA2E;KAC5E;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,iCAAiC;YAC1C,QAAQ,EAAE,6BAA6B;SACxC;QACD;YACE,aAAa,EAAE,4BAA4B;YAC3C,OAAO,EAAE,qCAAqC;YAC9C,QAAQ,EAAE,+BAA+B;SAC1C;QACD;YACE,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,aAAa;SACxB;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,kDAAkD;YAC9D,QAAQ,EAAE,2LAA2L;SACtM;QACD;YACE,UAAU,EAAE,2CAA2C;YACvD,QAAQ,EAAE,6FAA6F;SACxG;QACD;YACE,UAAU,EAAE,qCAAqC;YACjD,QAAQ,EAAE,iHAAiH;SAC5H;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,yGAAyG;KACjH;IACD,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,QAAQ;KACT;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/step.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAwHjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// @generated by scripts/generate-builtins.cjs
|
|
2
|
+
// Do not edit by hand.
|
|
3
|
+
const builtinDoc = {
|
|
4
|
+
"title": "step",
|
|
5
|
+
"category": "control",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"step",
|
|
8
|
+
"step response",
|
|
9
|
+
"control system",
|
|
10
|
+
"transfer function",
|
|
11
|
+
"tf"
|
|
12
|
+
],
|
|
13
|
+
"summary": "Compute or plot the step response of a SISO transfer-function model.",
|
|
14
|
+
"references": [
|
|
15
|
+
"title: \"MATLAB step documentation\""
|
|
16
|
+
],
|
|
17
|
+
"gpu_support": {
|
|
18
|
+
"elementwise": false,
|
|
19
|
+
"reduction": false,
|
|
20
|
+
"precisions": [],
|
|
21
|
+
"broadcasting": "none",
|
|
22
|
+
"notes": "`step` simulates host-side transfer-function metadata. GPU inputs are not part of the initial `tf` object response path."
|
|
23
|
+
},
|
|
24
|
+
"fusion": {
|
|
25
|
+
"elementwise": false,
|
|
26
|
+
"reduction": false,
|
|
27
|
+
"max_inputs": 0,
|
|
28
|
+
"constants": "inline",
|
|
29
|
+
"notes": "`step` is not fused; it simulates a dynamic system and may render a plot."
|
|
30
|
+
},
|
|
31
|
+
"requires_feature": null,
|
|
32
|
+
"tested": {
|
|
33
|
+
"unit": "builtins::control::step::tests",
|
|
34
|
+
"integration": "crates/runmat-vm/tests/control.rs"
|
|
35
|
+
},
|
|
36
|
+
"description": "`step(sys)` plots the unit-step response of a SISO transfer-function object created by `tf`. `[y, tOut] = step(sys)` returns sampled response data and the time vector. `step(sys, tFinal)` uses a scalar final time, while `step(sys, t)` evaluates at an explicit time vector.",
|
|
37
|
+
"behaviors": [
|
|
38
|
+
"Supports SISO `tf` objects with real coefficients.",
|
|
39
|
+
"Returns the response `y` as a column vector for single-output calls.",
|
|
40
|
+
"Returns `[y, tOut]` for two-output calls.",
|
|
41
|
+
"Plots the response for no-output calls.",
|
|
42
|
+
"Chooses an automatic time vector when no time input is supplied.",
|
|
43
|
+
"Accepts a positive finite scalar final time.",
|
|
44
|
+
"Accepts a finite, nonnegative, nondecreasing explicit time vector.",
|
|
45
|
+
"Discrete-time models use the stored `Ts` sample time."
|
|
46
|
+
],
|
|
47
|
+
"examples": [
|
|
48
|
+
{
|
|
49
|
+
"description": "Returning response data for a first-order system",
|
|
50
|
+
"input": "sys = tf(1, [1 1]);\n[y, t] = step(sys);",
|
|
51
|
+
"output": "y and t are column vectors."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"description": "Using a scalar final time",
|
|
55
|
+
"input": "sys = tf(1, [1 1]);\n[y, t] = step(sys, 5);",
|
|
56
|
+
"output": "t(end) = 5"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"description": "Using an explicit time vector",
|
|
60
|
+
"input": "sys = tf(1, [1 1]);\nt = 0:0.5:2;\ny = step(sys, t);",
|
|
61
|
+
"output": "y is sampled at the values in t."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"description": "Plotting the step response",
|
|
65
|
+
"input": "sys = tf(1, [1 1]);\nstep(sys);",
|
|
66
|
+
"output": "A step-response plot is rendered."
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"faqs": [
|
|
70
|
+
{
|
|
71
|
+
"question": "Does `step` support MIMO models?",
|
|
72
|
+
"answer": "Not yet. This implementation starts with SISO transfer-function objects."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"question": "Does `step` support state-space models?",
|
|
76
|
+
"answer": "Not yet. The initial implementation supports transfer-function objects produced by `tf`."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"question": "Can transfer-function coefficients be complex?",
|
|
80
|
+
"answer": "Not in this first implementation. Complex coefficients return a clear unsupported-input error."
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"links": [
|
|
84
|
+
{
|
|
85
|
+
"label": "tf",
|
|
86
|
+
"url": "./tf"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"label": "plot",
|
|
90
|
+
"url": "./plot"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"source": {
|
|
94
|
+
"label": "`crates/runmat-runtime/src/builtins/control/step.rs`",
|
|
95
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/control/step.rs"
|
|
96
|
+
},
|
|
97
|
+
"syntax": {
|
|
98
|
+
"example": {
|
|
99
|
+
"description": "Supported forms",
|
|
100
|
+
"input": "step(sys)\ny = step(sys)\n[y, tOut] = step(sys)\n[y, tOut] = step(sys, tFinal)\n[y, tOut] = step(sys, t)",
|
|
101
|
+
"output": "Response data is returned when outputs are requested; otherwise a plot is rendered."
|
|
102
|
+
},
|
|
103
|
+
"points": [
|
|
104
|
+
"`sys` must be a SISO `tf` object.",
|
|
105
|
+
"`tFinal` is a positive finite scalar final time.",
|
|
106
|
+
"`t` is a finite, nonnegative, nondecreasing numeric time vector."
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"validation": {
|
|
110
|
+
"summary": "`step` validates object class, coefficient type, properness, sample time, and time-vector inputs before simulation. Unit and integration tests cover first-order response values, scalar final time, explicit vectors, discrete sample-time behavior, multi-output ordering, and VM dispatch.",
|
|
111
|
+
"implementation": {
|
|
112
|
+
"label": "`crates/runmat-runtime/src/builtins/control/step.rs`",
|
|
113
|
+
"url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/control/step.rs"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"gpu_residency": "`step` computes on the host from `tf` metadata and returns host tensors.",
|
|
117
|
+
"key": "step",
|
|
118
|
+
"slug": "step",
|
|
119
|
+
"aliases": [],
|
|
120
|
+
"categoryPath": [
|
|
121
|
+
"control"
|
|
122
|
+
]
|
|
123
|
+
};
|
|
124
|
+
export default builtinDoc;
|
|
125
|
+
//# sourceMappingURL=step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/generated/builtins/step.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACV,MAAM;QACN,eAAe;QACf,gBAAgB;QAChB,mBAAmB;QACnB,IAAI;KACL;IACD,SAAS,EAAE,sEAAsE;IACjF,YAAY,EAAE;QACZ,sCAAsC;KACvC;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,0HAA0H;KACpI;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,2EAA2E;KACrF;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;QACxC,aAAa,EAAE,mCAAmC;KACnD;IACD,aAAa,EAAE,kRAAkR;IACjS,WAAW,EAAE;QACX,oDAAoD;QACpD,sEAAsE;QACtE,2CAA2C;QAC3C,yCAAyC;QACzC,kEAAkE;QAClE,8CAA8C;QAC9C,oEAAoE;QACpE,uDAAuD;KACxD;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,kDAAkD;YACjE,OAAO,EAAE,0CAA0C;YACnD,QAAQ,EAAE,6BAA6B;SACxC;QACD;YACE,aAAa,EAAE,2BAA2B;YAC1C,OAAO,EAAE,6CAA6C;YACtD,QAAQ,EAAE,YAAY;SACvB;QACD;YACE,aAAa,EAAE,+BAA+B;YAC9C,OAAO,EAAE,sDAAsD;YAC/D,QAAQ,EAAE,kCAAkC;SAC7C;QACD;YACE,aAAa,EAAE,4BAA4B;YAC3C,OAAO,EAAE,iCAAiC;YAC1C,QAAQ,EAAE,mCAAmC;SAC9C;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,kCAAkC;YAC9C,QAAQ,EAAE,0EAA0E;SACrF;QACD;YACE,UAAU,EAAE,yCAAyC;YACrD,QAAQ,EAAE,0FAA0F;SACrG;QACD;YACE,UAAU,EAAE,gDAAgD;YAC5D,QAAQ,EAAE,gGAAgG;SAC3G;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;SACd;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,sDAAsD;QAC/D,KAAK,EAAE,mGAAmG;KAC3G;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,0GAA0G;YACnH,QAAQ,EAAE,qFAAqF;SAChG;QACD,QAAQ,EAAE;YACR,mCAAmC;YACnC,kDAAkD;YAClD,kEAAkE;SACnE;KACF;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,+RAA+R;QAC1S,gBAAgB,EAAE;YAChB,OAAO,EAAE,sDAAsD;YAC/D,KAAK,EAAE,mGAAmG;SAC3G;KACF;IACD,eAAe,EAAE,0EAA0E;IAC3F,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,SAAS;KACV;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tand.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/tand.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAwGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|