runmat 0.4.10-dev.1 → 0.4.10-dev.3

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.
@@ -0,0 +1,4 @@
1
+ import type { BuiltinDoc } from "../../builtins.js";
2
+ declare const builtinDoc: BuiltinDoc;
3
+ export default builtinDoc;
4
+ //# sourceMappingURL=contour3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contour3.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/contour3.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": "contour3",
5
+ "category": "plotting",
6
+ "keywords": [
7
+ "contour3",
8
+ "3d contour",
9
+ "contour lines",
10
+ "iso-lines",
11
+ "level sets",
12
+ "matlab contour3"
13
+ ],
14
+ "summary": "Create 3-D contour line plots where each contour is drawn at its scalar level height.",
15
+ "gpu_support": {
16
+ "elementwise": false,
17
+ "reduction": false,
18
+ "precisions": [
19
+ "single",
20
+ "double"
21
+ ],
22
+ "broadcasting": "none",
23
+ "notes": "`contour3` uses the shared contour-generation path and can keep GPU-resident Z inputs on device through the WGPU plotting pipeline."
24
+ },
25
+ "fusion": {
26
+ "elementwise": false,
27
+ "reduction": false,
28
+ "max_inputs": 4,
29
+ "constants": "inline"
30
+ },
31
+ "requires_feature": null,
32
+ "tested": {
33
+ "unit": "builtins::plotting::contour3::tests"
34
+ },
35
+ "description": "`contour3` creates 3-D contour line plots from scalar fields. It accepts the same core inputs as `contour`, but writes each isoline at the corresponding Z level instead of projecting every line onto a flat plane.",
36
+ "behaviors": [
37
+ "`contour3(Z)` uses implicit X and Y axes derived from the Z matrix shape.",
38
+ "`contour3(X, Y, Z)` accepts explicit vector axes or meshgrid-style X and Y matrices.",
39
+ "A scalar fourth argument selects the number of contour levels; a vector fourth argument selects exact contour levels.",
40
+ "LineSpec color tokens such as `'k'` and name-value pairs such as `'LineWidth'` are accepted.",
41
+ "GPU-aware contour generation is used when the shared plotting path can operate directly on GPU-resident scalar fields."
42
+ ],
43
+ "options": [
44
+ "`'LevelList'` / `'Levels'` accepts an explicit, strictly increasing vector of contour values.",
45
+ "`'LevelStep'` specifies the spacing between generated contour levels.",
46
+ "`'LineColor'` accepts MATLAB color strings, RGB triples, `'auto'`, and `'none'`.",
47
+ "`'LineWidth'` controls contour line thickness."
48
+ ],
49
+ "examples": [
50
+ {
51
+ "description": "Create a basic 3-D contour plot",
52
+ "input": "[X, Y] = meshgrid(-2:0.25:2, -2:0.25:2);\nZ = X .* exp(-X.^2 - Y.^2);\ncontour3(X, Y, Z);"
53
+ },
54
+ {
55
+ "description": "Use explicit contour levels with high-contrast lines",
56
+ "input": "[X, Y] = meshgrid(linspace(-3, 3, 80), linspace(-3, 3, 80));\nZ = sin(X) .* cos(Y);\ncontour3(X, Y, Z, [-0.75 -0.25 0.25 0.75], 'Color', [0.05 0.35 0.95], 'LineWidth', 2.25);\nzlabel('Potential');\nview(45, 30);"
57
+ },
58
+ {
59
+ "description": "Inspect the returned contour handle",
60
+ "input": "Z = peaks(40);\nh = contour3(Z, 12, 'Color', [0.9 0.2 0.05], 'LineWidth', 2.0);\nget(h, 'Type')",
61
+ "output": "ans =\n 'contour'"
62
+ }
63
+ ],
64
+ "faqs": [
65
+ {
66
+ "question": "How is contour3 different from contour?",
67
+ "answer": "`contour` draws contour lines on a single flat plane. `contour3` places each contour line at its own scalar level on the Z axis, which makes level height visible in the 3-D camera."
68
+ },
69
+ {
70
+ "question": "Can contour3 be combined with surface plots?",
71
+ "answer": "Yes. Use `hold on` to overlay `contour3` with `surf`, `mesh`, `plot3`, or `scatter3`. Because `contour3` is camera-aware, it shares the same 3-D axes state as other 3-D plot types."
72
+ }
73
+ ],
74
+ "links": [
75
+ {
76
+ "label": "contour",
77
+ "url": "./contour"
78
+ },
79
+ {
80
+ "label": "contourf",
81
+ "url": "./contourf"
82
+ },
83
+ {
84
+ "label": "plot3",
85
+ "url": "./plot3"
86
+ },
87
+ {
88
+ "label": "surf",
89
+ "url": "./surf"
90
+ },
91
+ {
92
+ "label": "Plot replay and export",
93
+ "url": "/docs/plotting/plot-replay-and-export"
94
+ }
95
+ ],
96
+ "source": {
97
+ "label": "`crates/runmat-runtime/src/builtins/plotting/ops/contour3.rs`",
98
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/plotting/ops/contour3.rs"
99
+ },
100
+ "gpu_residency": "`contour3` preserves GPU residency when the shared WGPU plotting context can consume the Z buffer directly. If that path is unavailable, RunMat gathers once and builds the same contour geometry on the CPU.",
101
+ "key": "contour3",
102
+ "slug": "contour3",
103
+ "aliases": [],
104
+ "categoryPath": [
105
+ "plotting"
106
+ ]
107
+ };
108
+ export default builtinDoc;
109
+ //# sourceMappingURL=contour3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contour3.js","sourceRoot":"","sources":["../../../src/generated/builtins/contour3.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,UAAU;QACV,YAAY;QACZ,eAAe;QACf,WAAW;QACX,YAAY;QACZ,iBAAiB;KAClB;IACD,SAAS,EAAE,uFAAuF;IAClG,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,QAAQ;YACR,QAAQ;SACT;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,qIAAqI;KAC/I;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,qCAAqC;KAC9C;IACD,aAAa,EAAE,sNAAsN;IACrO,WAAW,EAAE;QACX,2EAA2E;QAC3E,sFAAsF;QACtF,uHAAuH;QACvH,8FAA8F;QAC9F,wHAAwH;KACzH;IACD,SAAS,EAAE;QACT,+FAA+F;QAC/F,uEAAuE;QACvE,kFAAkF;QAClF,gDAAgD;KACjD;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,iCAAiC;YAChD,OAAO,EAAE,2FAA2F;SACrG;QACD;YACE,aAAa,EAAE,sDAAsD;YACrE,OAAO,EAAE,qNAAqN;SAC/N;QACD;YACE,aAAa,EAAE,qCAAqC;YACpD,OAAO,EAAE,iGAAiG;YAC1G,QAAQ,EAAE,sBAAsB;SACjC;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,yCAAyC;YACrD,QAAQ,EAAE,sLAAsL;SACjM;QACD;YACE,UAAU,EAAE,8CAA8C;YAC1D,QAAQ,EAAE,sLAAsL;SACjM;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,+DAA+D;QACxE,KAAK,EAAE,4GAA4G;KACpH;IACD,eAAe,EAAE,+MAA+M;IAChO,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { BuiltinDoc } from "../../builtins.js";
2
+ declare const builtinDoc: BuiltinDoc;
3
+ export default builtinDoc;
4
+ //# sourceMappingURL=qammod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qammod.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/qammod.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAuGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,108 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "qammod",
5
+ "category": "comms/modulation",
6
+ "keywords": [
7
+ "qammod",
8
+ "qam",
9
+ "modulation",
10
+ "communications",
11
+ "gray",
12
+ "binary",
13
+ "constellation",
14
+ "gpu"
15
+ ],
16
+ "summary": "Map integer symbols onto a rectangular QAM complex-baseband constellation.",
17
+ "references": [
18
+ "https://www.mathworks.com/help/comm/ref/qammod.html"
19
+ ],
20
+ "gpu_support": {
21
+ "elementwise": false,
22
+ "reduction": false,
23
+ "precisions": [
24
+ "f32",
25
+ "f64",
26
+ "i32",
27
+ "bool"
28
+ ],
29
+ "broadcasting": "none",
30
+ "notes": "gpuArray inputs are gathered through the active provider and modulated on the host because RunMat does not yet represent complex-valued GPU tensor handles. The result is a host ComplexTensor."
31
+ },
32
+ "fusion": {
33
+ "elementwise": false,
34
+ "reduction": false,
35
+ "max_inputs": 1,
36
+ "constants": "inline"
37
+ },
38
+ "requires_feature": null,
39
+ "tested": {
40
+ "unit": "builtins::comms::qammod::tests"
41
+ },
42
+ "description": "`qammod(X, M)` maps integer symbols in `X` to complex QAM constellation points for power-of-two modulation order `M`. The default symbol order is Gray-coded. `qammod(X, M, 'bin')` uses binary column-wise ordering, and a custom mapping vector assigns symbols to constellation points from the upper-left point downward by column and then left to right.",
43
+ "behaviors": [
44
+ "`X` must contain finite integer values in the inclusive range `[0, M-1]`.",
45
+ "`M` must be a power-of-two integer greater than one.",
46
+ "Square QAM orders such as 4, 16, 64, and 256 use symmetric odd integer amplitudes with minimum distance two.",
47
+ "Non-square power-of-two orders use a rectangular grid with the larger dimension on the in-phase axis.",
48
+ "The default `'gray'` order applies Gray coding independently to the in-phase and quadrature grid indexes.",
49
+ "`'UnitAveragePower', true` scales the complete constellation so its average power is one.",
50
+ "`'OutputDataType', 'single'` rounds the real and imaginary samples through single precision before returning the host complex tensor.",
51
+ "`'PlotConstellation', true` and `InputType='bit'` are not implemented yet."
52
+ ],
53
+ "examples": [
54
+ {
55
+ "description": "Default 16-QAM Gray mapping",
56
+ "input": "y = qammod(0:15, 16)",
57
+ "output": "y = [-3+3i -3+1i -3-3i -3-1i -1+3i -1+1i -1-3i -1-1i 3+3i 3+1i 3-3i 3-1i 1+3i 1+1i 1-3i 1-1i]"
58
+ },
59
+ {
60
+ "description": "Binary symbol ordering",
61
+ "input": "y = qammod(0:4, 16, 'bin')",
62
+ "output": "y = [-3+3i -3+1i -3-1i -3-3i -1+3i]"
63
+ },
64
+ {
65
+ "description": "Unit-average-power 16-QAM",
66
+ "input": "y = qammod(0:15, 16, 'UnitAveragePower', true);\nmean(abs(y).^2)",
67
+ "output": "ans = 1"
68
+ }
69
+ ],
70
+ "faqs": [
71
+ {
72
+ "question": "Does qammod execute on the GPU?",
73
+ "answer": "It accepts gpuArray inputs, but the current runtime gathers them to host memory and returns a host ComplexTensor because complex GPU tensor handles are not yet part of RunMat's value model."
74
+ },
75
+ {
76
+ "question": "Is bit input supported?",
77
+ "answer": "Not in this first implementation. Use integer symbols or convert bit groups to integer symbols before calling qammod."
78
+ }
79
+ ],
80
+ "links": [
81
+ {
82
+ "label": "gpuArray",
83
+ "url": "./gpuarray"
84
+ },
85
+ {
86
+ "label": "gather",
87
+ "url": "./gather"
88
+ }
89
+ ],
90
+ "source": {
91
+ "label": "`crates/runmat-runtime/src/builtins/comms/qammod.rs`",
92
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/comms/qammod.rs"
93
+ },
94
+ "gpu_residency": "The builtin declares `GatherImmediately` residency. A gpuArray input is downloaded once through the dispatcher and then mapped to complex host output.",
95
+ "gpu_behavior": [
96
+ "RunMat's current accelerator API stores real-valued GPU buffers. Since `qammod` necessarily produces complex-valued samples, the GPU-aware implementation preserves correctness by gathering device input and producing a `ComplexTensor` on the host.",
97
+ "The registered GPU metadata advertises the supported input scalar classes and the provider hook name future accelerators can use once complex GPU outputs are represented."
98
+ ],
99
+ "key": "qammod",
100
+ "slug": "qammod",
101
+ "aliases": [],
102
+ "categoryPath": [
103
+ "comms",
104
+ "modulation"
105
+ ]
106
+ };
107
+ export default builtinDoc;
108
+ //# sourceMappingURL=qammod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qammod.js","sourceRoot":"","sources":["../../../src/generated/builtins/qammod.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE;QACV,QAAQ;QACR,KAAK;QACL,YAAY;QACZ,gBAAgB;QAChB,MAAM;QACN,QAAQ;QACR,eAAe;QACf,KAAK;KACN;IACD,SAAS,EAAE,4EAA4E;IACvF,YAAY,EAAE;QACZ,qDAAqD;KACtD;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;YACL,KAAK;YACL,KAAK;YACL,MAAM;SACP;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,iMAAiM;KAC3M;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;KACzC;IACD,aAAa,EAAE,gWAAgW;IAC/W,WAAW,EAAE;QACX,2EAA2E;QAC3E,sDAAsD;QACtD,8GAA8G;QAC9G,uGAAuG;QACvG,2GAA2G;QAC3G,2FAA2F;QAC3F,uIAAuI;QACvI,4EAA4E;KAC7E;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,6BAA6B;YAC5C,OAAO,EAAE,sBAAsB;YAC/B,QAAQ,EAAE,+FAA+F;SAC1G;QACD;YACE,aAAa,EAAE,wBAAwB;YACvC,OAAO,EAAE,4BAA4B;YACrC,QAAQ,EAAE,qCAAqC;SAChD;QACD;YACE,aAAa,EAAE,2BAA2B;YAC1C,OAAO,EAAE,kEAAkE;YAC3E,QAAQ,EAAE,SAAS;SACpB;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,iCAAiC;YAC7C,QAAQ,EAAE,+LAA+L;SAC1M;QACD;YACE,UAAU,EAAE,yBAAyB;YACrC,QAAQ,EAAE,uHAAuH;SAClI;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,sDAAsD;QAC/D,KAAK,EAAE,mGAAmG;KAC3G;IACD,eAAe,EAAE,wJAAwJ;IACzK,cAAc,EAAE;QACd,wPAAwP;QACxP,4KAA4K;KAC7K;IACD,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,OAAO;QACP,YAAY;KACb;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtins-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/builtins-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,eAAO,MAAM,eAAe,EAAE,oBAAoB,EAmwQjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAma9D,CAAC;AAEF,eAAO,MAAM,4BAA4B,sEAC0C,CAAC"}
1
+ {"version":3,"file":"builtins-manifest.d.ts","sourceRoot":"","sources":["../../src/generated/builtins-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,eAAO,MAAM,eAAe,EAAE,oBAAoB,EA8yQjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAqa9D,CAAC;AAEF,eAAO,MAAM,4BAA4B,sEAC0C,CAAC"}
@@ -1000,6 +1000,26 @@ export const builtinManifest = [
1000
1000
  "summary": "Create contour line plots for level sets, iso-lines, and MATLAB `contour` workflows.",
1001
1001
  "exampleCount": 4
1002
1002
  },
1003
+ {
1004
+ "key": "contour3",
1005
+ "title": "contour3",
1006
+ "slug": "contour3",
1007
+ "aliases": [],
1008
+ "category": "plotting",
1009
+ "categoryPath": [
1010
+ "plotting"
1011
+ ],
1012
+ "keywords": [
1013
+ "contour3",
1014
+ "3d contour",
1015
+ "contour lines",
1016
+ "iso-lines",
1017
+ "level sets",
1018
+ "matlab contour3"
1019
+ ],
1020
+ "summary": "Create 3-D contour line plots where each contour is drawn at its scalar level height.",
1021
+ "exampleCount": 3
1022
+ },
1003
1023
  {
1004
1024
  "key": "contourf",
1005
1025
  "title": "contourf",
@@ -5739,6 +5759,29 @@ export const builtinManifest = [
5739
5759
  "summary": "Return the absolute path to the folder where RunMat is currently executing.",
5740
5760
  "exampleCount": 6
5741
5761
  },
5762
+ {
5763
+ "key": "qammod",
5764
+ "title": "qammod",
5765
+ "slug": "qammod",
5766
+ "aliases": [],
5767
+ "category": "comms/modulation",
5768
+ "categoryPath": [
5769
+ "comms",
5770
+ "modulation"
5771
+ ],
5772
+ "keywords": [
5773
+ "qammod",
5774
+ "qam",
5775
+ "modulation",
5776
+ "communications",
5777
+ "gray",
5778
+ "binary",
5779
+ "constellation",
5780
+ "gpu"
5781
+ ],
5782
+ "summary": "Map integer symbols onto a rectangular QAM complex-baseband constellation.",
5783
+ "exampleCount": 3
5784
+ },
5742
5785
  {
5743
5786
  "key": "qr",
5744
5787
  "title": "qr",
@@ -8503,6 +8546,7 @@ export const builtinDocLoaders = {
8503
8546
  "containers.map": () => import("./builtins/containers.Map.js").then((mod) => mod.default),
8504
8547
  "contains": () => import("./builtins/contains.js").then((mod) => mod.default),
8505
8548
  "contour": () => import("./builtins/contour.js").then((mod) => mod.default),
8549
+ "contour3": () => import("./builtins/contour3.js").then((mod) => mod.default),
8506
8550
  "contourf": () => import("./builtins/contourf.js").then((mod) => mod.default),
8507
8551
  "conv": () => import("./builtins/conv.js").then((mod) => mod.default),
8508
8552
  "conv2": () => import("./builtins/conv2.js").then((mod) => mod.default),
@@ -8736,6 +8780,7 @@ export const builtinDocLoaders = {
8736
8780
  "ppval": () => import("./builtins/ppval.js").then((mod) => mod.default),
8737
8781
  "prod": () => import("./builtins/prod.js").then((mod) => mod.default),
8738
8782
  "pwd": () => import("./builtins/pwd.js").then((mod) => mod.default),
8783
+ "qammod": () => import("./builtins/qammod.js").then((mod) => mod.default),
8739
8784
  "qr": () => import("./builtins/qr.js").then((mod) => mod.default),
8740
8785
  "quiver": () => import("./builtins/quiver.js").then((mod) => mod.default),
8741
8786
  "rad2deg": () => import("./builtins/rad2deg.js").then((mod) => mod.default),