runmat 0.5.2-dev.6 → 0.5.3-dev.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.
Files changed (128) hide show
  1. package/artifacts/stdlib.snapshot +0 -0
  2. package/dist/fs/index.d.ts +1 -1
  3. package/dist/fs/index.d.ts.map +1 -1
  4. package/dist/fs/provider-types.d.ts +15 -0
  5. package/dist/fs/provider-types.d.ts.map +1 -1
  6. package/dist/generated/builtin-examples-catalog.d.ts.map +1 -1
  7. package/dist/generated/builtin-examples-catalog.js +1 -1
  8. package/dist/generated/builtin-examples-catalog.js.map +1 -1
  9. package/dist/generated/builtins/addpath.d.ts.map +1 -1
  10. package/dist/generated/builtins/addpath.js +6 -0
  11. package/dist/generated/builtins/addpath.js.map +1 -1
  12. package/dist/generated/builtins/axis.d.ts.map +1 -1
  13. package/dist/generated/builtins/axis.js +11 -1
  14. package/dist/generated/builtins/axis.js.map +1 -1
  15. package/dist/generated/builtins/cd.d.ts.map +1 -1
  16. package/dist/generated/builtins/cd.js +6 -0
  17. package/dist/generated/builtins/cd.js.map +1 -1
  18. package/dist/generated/builtins/copyfile.d.ts.map +1 -1
  19. package/dist/generated/builtins/copyfile.js +1 -0
  20. package/dist/generated/builtins/copyfile.js.map +1 -1
  21. package/dist/generated/builtins/csvread.d.ts.map +1 -1
  22. package/dist/generated/builtins/csvread.js +1 -0
  23. package/dist/generated/builtins/csvread.js.map +1 -1
  24. package/dist/generated/builtins/diff.d.ts.map +1 -1
  25. package/dist/generated/builtins/diff.js +13 -2
  26. package/dist/generated/builtins/diff.js.map +1 -1
  27. package/dist/generated/builtins/downsample.d.ts +4 -0
  28. package/dist/generated/builtins/downsample.d.ts.map +1 -0
  29. package/dist/generated/builtins/downsample.js +104 -0
  30. package/dist/generated/builtins/downsample.js.map +1 -0
  31. package/dist/generated/builtins/eq.d.ts.map +1 -1
  32. package/dist/generated/builtins/eq.js +12 -1
  33. package/dist/generated/builtins/eq.js.map +1 -1
  34. package/dist/generated/builtins/figure.d.ts.map +1 -1
  35. package/dist/generated/builtins/figure.js +19 -2
  36. package/dist/generated/builtins/figure.js.map +1 -1
  37. package/dist/generated/builtins/fzero.d.ts.map +1 -1
  38. package/dist/generated/builtins/fzero.js +10 -2
  39. package/dist/generated/builtins/fzero.js.map +1 -1
  40. package/dist/generated/builtins/gauspuls.d.ts +4 -0
  41. package/dist/generated/builtins/gauspuls.d.ts.map +1 -0
  42. package/dist/generated/builtins/gauspuls.js +94 -0
  43. package/dist/generated/builtins/gauspuls.js.map +1 -0
  44. package/dist/generated/builtins/gca.d.ts.map +1 -1
  45. package/dist/generated/builtins/gca.js +5 -0
  46. package/dist/generated/builtins/gca.js.map +1 -1
  47. package/dist/generated/builtins/get.js +3 -3
  48. package/dist/generated/builtins/get.js.map +1 -1
  49. package/dist/generated/builtins/grid.d.ts.map +1 -1
  50. package/dist/generated/builtins/grid.js +10 -4
  51. package/dist/generated/builtins/grid.js.map +1 -1
  52. package/dist/generated/builtins/heaviside.d.ts +4 -0
  53. package/dist/generated/builtins/heaviside.d.ts.map +1 -0
  54. package/dist/generated/builtins/heaviside.js +139 -0
  55. package/dist/generated/builtins/heaviside.js.map +1 -0
  56. package/dist/generated/builtins/hilbert.d.ts +4 -0
  57. package/dist/generated/builtins/hilbert.d.ts.map +1 -0
  58. package/dist/generated/builtins/hilbert.js +134 -0
  59. package/dist/generated/builtins/hilbert.js.map +1 -0
  60. package/dist/generated/builtins/limit.d.ts +4 -0
  61. package/dist/generated/builtins/limit.d.ts.map +1 -0
  62. package/dist/generated/builtins/limit.js +84 -0
  63. package/dist/generated/builtins/limit.js.map +1 -0
  64. package/dist/generated/builtins/null.d.ts +4 -0
  65. package/dist/generated/builtins/null.d.ts.map +1 -0
  66. package/dist/generated/builtins/null.js +116 -0
  67. package/dist/generated/builtins/null.js.map +1 -0
  68. package/dist/generated/builtins/power.d.ts.map +1 -1
  69. package/dist/generated/builtins/power.js +1 -0
  70. package/dist/generated/builtins/power.js.map +1 -1
  71. package/dist/generated/builtins/pulstran.d.ts +4 -0
  72. package/dist/generated/builtins/pulstran.d.ts.map +1 -0
  73. package/dist/generated/builtins/pulstran.js +106 -0
  74. package/dist/generated/builtins/pulstran.js.map +1 -0
  75. package/dist/generated/builtins/rectpuls.d.ts +4 -0
  76. package/dist/generated/builtins/rectpuls.d.ts.map +1 -0
  77. package/dist/generated/builtins/rectpuls.js +95 -0
  78. package/dist/generated/builtins/rectpuls.js.map +1 -0
  79. package/dist/generated/builtins/rlocus.d.ts +4 -0
  80. package/dist/generated/builtins/rlocus.d.ts.map +1 -0
  81. package/dist/generated/builtins/rlocus.js +126 -0
  82. package/dist/generated/builtins/rlocus.js.map +1 -0
  83. package/dist/generated/builtins/set.js +2 -2
  84. package/dist/generated/builtins/set.js.map +1 -1
  85. package/dist/generated/builtins/spreadsheetImportOptions.d.ts +4 -0
  86. package/dist/generated/builtins/spreadsheetImportOptions.d.ts.map +1 -0
  87. package/dist/generated/builtins/spreadsheetImportOptions.js +93 -0
  88. package/dist/generated/builtins/spreadsheetImportOptions.js.map +1 -0
  89. package/dist/generated/builtins/sym.d.ts +4 -0
  90. package/dist/generated/builtins/sym.d.ts.map +1 -0
  91. package/dist/generated/builtins/sym.js +78 -0
  92. package/dist/generated/builtins/sym.js.map +1 -0
  93. package/dist/generated/builtins/syms.d.ts +4 -0
  94. package/dist/generated/builtins/syms.d.ts.map +1 -0
  95. package/dist/generated/builtins/syms.js +84 -0
  96. package/dist/generated/builtins/syms.js.map +1 -0
  97. package/dist/generated/builtins/tripuls.d.ts +4 -0
  98. package/dist/generated/builtins/tripuls.d.ts.map +1 -0
  99. package/dist/generated/builtins/tripuls.js +91 -0
  100. package/dist/generated/builtins/tripuls.js.map +1 -0
  101. package/dist/generated/builtins/uigetfile.d.ts +4 -0
  102. package/dist/generated/builtins/uigetfile.d.ts.map +1 -0
  103. package/dist/generated/builtins/uigetfile.js +95 -0
  104. package/dist/generated/builtins/uigetfile.js.map +1 -0
  105. package/dist/generated/builtins/unwrap.d.ts +4 -0
  106. package/dist/generated/builtins/unwrap.d.ts.map +1 -0
  107. package/dist/generated/builtins/unwrap.js +123 -0
  108. package/dist/generated/builtins/unwrap.js.map +1 -0
  109. package/dist/generated/builtins/upsample.d.ts +4 -0
  110. package/dist/generated/builtins/upsample.d.ts.map +1 -0
  111. package/dist/generated/builtins/upsample.js +104 -0
  112. package/dist/generated/builtins/upsample.js.map +1 -0
  113. package/dist/generated/builtins-manifest.d.ts.map +1 -1
  114. package/dist/generated/builtins-manifest.js +351 -10
  115. package/dist/generated/builtins-manifest.js.map +1 -1
  116. package/dist/index.d.ts +1 -1
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/lsp/runmat_lsp.d.ts +2 -3
  120. package/dist/lsp/runmat_lsp.js +635 -439
  121. package/dist/lsp/runmat_lsp_bg.wasm +0 -0
  122. package/dist/lsp/runmat_lsp_bg.wasm.d.ts +2 -3
  123. package/dist/pkg-web/runmat_wasm_web.d.ts +18 -18
  124. package/dist/pkg-web/runmat_wasm_web.js +754 -313
  125. package/dist/pkg-web/runmat_wasm_web_bg.wasm +0 -0
  126. package/dist/pkg-web/runmat_wasm_web_bg.wasm.d.ts +11 -11
  127. package/dist/runtime/stdlib.snapshot +0 -0
  128. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import type { BuiltinDoc } from "../../builtins.js";
2
+ declare const builtinDoc: BuiltinDoc;
3
+ export default builtinDoc;
4
+ //# sourceMappingURL=null.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/null.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA+GjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,116 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "null",
5
+ "category": "math/linalg/solve",
6
+ "keywords": [
7
+ "null",
8
+ "null space",
9
+ "kernel",
10
+ "rank",
11
+ "svd",
12
+ "rref",
13
+ "orthonormal"
14
+ ],
15
+ "summary": "Compute a basis for a matrix null space.",
16
+ "references": [],
17
+ "gpu_support": {
18
+ "elementwise": false,
19
+ "reduction": false,
20
+ "precisions": [
21
+ "f32",
22
+ "f64"
23
+ ],
24
+ "broadcasting": "none",
25
+ "notes": "GPU inputs are gathered to the host null-space implementation. Real bases are re-uploaded when a provider is available; upload failures return the host result."
26
+ },
27
+ "fusion": {
28
+ "elementwise": false,
29
+ "reduction": false,
30
+ "max_inputs": 2,
31
+ "constants": "inline"
32
+ },
33
+ "requires_feature": null,
34
+ "tested": {
35
+ "unit": "builtins::math::linalg::solve::null::tests",
36
+ "integration": "core::tests::null_row_reduction_builtin_uses_semantic_vm"
37
+ },
38
+ "description": "`null(A)` returns an orthonormal basis for the null space of a real or complex numeric matrix. `null(A, tol)` uses a caller-provided finite, non-negative rank tolerance. `null(A, 'r')` returns a row-reduction basis useful for simple exact-looking dependencies.",
39
+ "behaviors": [
40
+ "Inputs must behave like 2-D matrices. Trailing singleton dimensions are accepted; other higher-rank inputs raise `RunMat:null:InvalidInput`.",
41
+ "`null(A)` computes the default rank tolerance from the singular values as `max(size(A)) * eps(max(svd(A)))`, then returns an orthonormal basis for singular directions at or below that cutoff.",
42
+ "`null(A, tol)` uses `tol` as the rank threshold and returns the corresponding orthonormal null-space basis.",
43
+ "`null(A, 'r')` accepts either char or string scalar options and returns the free-variable basis derived from reduced row echelon form.",
44
+ "Logical and integer inputs are promoted to double precision before null-space evaluation.",
45
+ "Real and complex orthonormal bases use SVD rank decisions and right singular vectors where available; wide matrices complete the orthogonal complement so the full nullity is returned even when the underlying SVD implementation is thin.",
46
+ "Complex inputs return complex null-space bases and use complex row reduction for the `'r'` option.",
47
+ "Full-rank matrices return an empty `n x 0` basis where `n` is the input column count. A `0 x n` matrix returns an `n x n` identity basis."
48
+ ],
49
+ "examples": [
50
+ {
51
+ "description": "Orthonormal null-space basis",
52
+ "input": "A = [1 2; 2 4];\nZ = null(A)",
53
+ "output": "Z is a 2-by-1 orthonormal vector and A*Z is approximately zero"
54
+ },
55
+ {
56
+ "description": "Row-reduction basis",
57
+ "input": "A = [1 2 3; 2 4 6];\nZ = null(A, 'r')",
58
+ "output": "Z = [-2 -3; 1 0; 0 1]"
59
+ },
60
+ {
61
+ "description": "Using a custom tolerance",
62
+ "input": "A = diag([1, 1e-8]);\nZ = null(A, 1e-6)",
63
+ "output": "Z = [0; 1]"
64
+ }
65
+ ],
66
+ "faqs": [
67
+ {
68
+ "question": "What is the difference between `null(A)` and `null(A, 'r')`?",
69
+ "answer": "`null(A)` returns an orthonormal basis. `null(A, 'r')` returns a row-reduction basis where free variables are set to identity columns, so the result is often easier to read for simple dependent systems."
70
+ },
71
+ {
72
+ "question": "Does `null` preserve GPU residency?",
73
+ "answer": "When the input is a real gpuArray, RunMat gathers it to the host, computes the basis, and re-uploads the real result if a provider is available."
74
+ },
75
+ {
76
+ "question": "How is the default tolerance chosen?",
77
+ "answer": "RunMat follows the standard singular-value tolerance shape used by MATLAB-style rank decisions: `max(size(A)) * eps(max(svd(A)))`."
78
+ }
79
+ ],
80
+ "links": [
81
+ {
82
+ "label": "rref",
83
+ "url": "./rref"
84
+ },
85
+ {
86
+ "label": "rank",
87
+ "url": "./rank"
88
+ },
89
+ {
90
+ "label": "pinv",
91
+ "url": "./pinv"
92
+ },
93
+ {
94
+ "label": "svd",
95
+ "url": "./svd"
96
+ }
97
+ ],
98
+ "source": {
99
+ "label": "`crates/runmat-runtime/src/builtins/math/linalg/solve/null.rs`",
100
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/linalg/solve/null.rs"
101
+ },
102
+ "gpu_residency": "When the input is a real gpuArray, RunMat gathers it, computes the null-space basis on the host, and re-uploads the basis if a provider is available. If upload fails, the host tensor is returned.",
103
+ "gpu_behavior": [
104
+ "`null` is an eager solve-style operation. It terminates fusion plans and gathers GPU-resident inputs for null-space evaluation."
105
+ ],
106
+ "key": "null",
107
+ "slug": "null",
108
+ "aliases": [],
109
+ "categoryPath": [
110
+ "math",
111
+ "linalg",
112
+ "solve"
113
+ ]
114
+ };
115
+ export default builtinDoc;
116
+ //# sourceMappingURL=null.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"null.js","sourceRoot":"","sources":["../../../src/generated/builtins/null.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,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,KAAK;QACL,MAAM;QACN,aAAa;KACd;IACD,SAAS,EAAE,0CAA0C;IACrD,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;YACL,KAAK;SACN;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,iKAAiK;KAC3K;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,4CAA4C;QACpD,aAAa,EAAE,0DAA0D;KAC1E;IACD,aAAa,EAAE,sQAAsQ;IACrR,WAAW,EAAE;QACX,8IAA8I;QAC9I,iMAAiM;QACjM,6GAA6G;QAC7G,wIAAwI;QACxI,2FAA2F;QAC3F,6OAA6O;QAC7O,oGAAoG;QACpG,2IAA2I;KAC5I;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,8BAA8B;YAC7C,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,gEAAgE;SAC3E;QACD;YACE,aAAa,EAAE,qBAAqB;YACpC,OAAO,EAAE,uCAAuC;YAChD,QAAQ,EAAE,uBAAuB;SAClC;QACD;YACE,aAAa,EAAE,0BAA0B;YACzC,OAAO,EAAE,yCAAyC;YAClD,QAAQ,EAAE,YAAY;SACvB;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,8DAA8D;YAC1E,QAAQ,EAAE,4MAA4M;SACvN;QACD;YACE,UAAU,EAAE,qCAAqC;YACjD,QAAQ,EAAE,kJAAkJ;SAC7J;QACD;YACE,UAAU,EAAE,sCAAsC;YAClD,QAAQ,EAAE,oIAAoI;SAC/I;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,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,gEAAgE;QACzE,KAAK,EAAE,6GAA6G;KACrH;IACD,eAAe,EAAE,qMAAqM;IACtN,cAAc,EAAE;QACd,iIAAiI;KAClI;IACD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,QAAQ;QACR,OAAO;KACR;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/power.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAsOjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/power.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAuOjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -40,6 +40,7 @@ const builtinDoc = {
40
40
  "description": "`power(A, B)` (or `A .^ B`) raises each element of `A` to the corresponding element of `B`. Implicit expansion, complex results, and domain behavior follow MATLAB semantics.",
41
41
  "behaviors": [
42
42
  "Supports scalars, vectors, matrices, and N-D tensors with the same shape or compatible singleton dimensions. Size mismatches raise the standard MATLAB error.",
43
+ "When either operand is a scalar symbolic expression, `power` and scalar `^` construct a symbolic power expression that can participate in symbolic functions such as `limit`.",
43
44
  "Logical and character inputs are promoted to double precision before powering (`'A'.^2` uses the Unicode code points of the characters).",
44
45
  "Complex bases and/or exponents follow the analytic identity `z.^w = exp(w * log(z))`, so negative bases with fractional exponents return complex results instead of `NaN`.",
45
46
  "Empty tensors propagate emptiness; the result uses the broadcasted size.",
@@ -1 +1 @@
1
- {"version":3,"file":"power.js","sourceRoot":"","sources":["../../../src/generated/builtins/power.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"power.js","sourceRoot":"","sources":["../../../src/generated/builtins/power.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BuiltinDoc } from "../../builtins.js";
2
+ declare const builtinDoc: BuiltinDoc;
3
+ export default builtinDoc;
4
+ //# sourceMappingURL=pulstran.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulstran.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/pulstran.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAqGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,106 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "pulstran",
5
+ "category": "math/signal",
6
+ "keywords": [
7
+ "pulstran",
8
+ "pulse train",
9
+ "rectpuls",
10
+ "tripuls",
11
+ "gauspuls",
12
+ "signal processing"
13
+ ],
14
+ "summary": "Generate pulse trains from named pulse functions, function handles, or sampled prototype pulses.",
15
+ "references": [
16
+ "title: \"MATLAB pulstran documentation\""
17
+ ],
18
+ "gpu_support": {
19
+ "elementwise": false,
20
+ "reduction": false,
21
+ "precisions": [
22
+ "f64"
23
+ ],
24
+ "broadcasting": "none",
25
+ "notes": "GPU numeric inputs are gathered to the host because `pulstran` combines multiple shifted pulse evaluations and may call arbitrary pulse functions."
26
+ },
27
+ "fusion": {
28
+ "elementwise": false,
29
+ "reduction": false,
30
+ "max_inputs": 3,
31
+ "constants": "inline",
32
+ "notes": "`pulstran` materializes a full output vector and terminates fusion plans."
33
+ },
34
+ "requires_feature": null,
35
+ "tested": {
36
+ "unit": "builtins::math::signal::pulstran::tests",
37
+ "integration": "runmat_vm::tests::basics::pulstran_rectpuls_builtin_executes_for_impulse_train_shape"
38
+ },
39
+ "description": "`pulstran(T, D, FUN, P1, ...)` evaluates a pulse function at `T - D(k)` for each delay and sums the results. `D` may be a delay vector or an N-by-2 delay/amplitude matrix. `pulstran(T, D, P, FS)` uses a sampled prototype pulse `P` with sample rate `FS` and linear interpolation.",
40
+ "behaviors": [
41
+ "The output shape matches `T`.",
42
+ "Character, string, and function-handle pulse names are accepted. Built-in fast paths cover `rectpuls`, `tripuls`, and `gauspuls`; other function handles are invoked through the normal `feval` path.",
43
+ "A delay vector uses unit amplitude for every pulse.",
44
+ "An N-by-2 delay matrix uses column one as delay and column two as amplitude.",
45
+ "Sampled prototype pulses are linearly interpolated at `FS`; samples outside the prototype support contribute zero.",
46
+ "Complex and text-valued numeric inputs are rejected with builtin-scoped errors."
47
+ ],
48
+ "examples": [
49
+ {
50
+ "description": "Generate a rectangular pulse train",
51
+ "input": "t = -1:0.5:1;\nd = [-0.5 0.5];\ny = pulstran(t, d, 'rectpuls', 0.25)",
52
+ "output": "y = [0 1 0 1 0]"
53
+ },
54
+ {
55
+ "description": "Use delay amplitudes",
56
+ "input": "t = [0 1];\nd = [0 2; 1 3];\ny = pulstran(t, d, 'rectpuls', 0.25)",
57
+ "output": "y = [2 3]"
58
+ },
59
+ {
60
+ "description": "Use a sampled prototype",
61
+ "input": "t = 0:0.5:2;\nd = [0 1];\np = [0 1 0];\ny = pulstran(t, d, p, 2)",
62
+ "output": "y = [0 1 0 1 0]"
63
+ }
64
+ ],
65
+ "faqs": [
66
+ {
67
+ "question": "Which pulse functions are recognized directly?",
68
+ "answer": "`rectpuls`, `tripuls`, and `gauspuls` have direct built-in paths. Other function handles are dispatched through RunMat's regular function-handle mechanism."
69
+ },
70
+ {
71
+ "question": "Does `pulstran` preserve the orientation of `T`?",
72
+ "answer": "Yes. The output tensor uses the same shape as `T`, including row-vector and column-vector orientation."
73
+ }
74
+ ],
75
+ "links": [
76
+ {
77
+ "label": "rectpuls",
78
+ "url": "./rectpuls"
79
+ },
80
+ {
81
+ "label": "tripuls",
82
+ "url": "./tripuls"
83
+ },
84
+ {
85
+ "label": "gauspuls",
86
+ "url": "./gauspuls"
87
+ },
88
+ {
89
+ "label": "plot",
90
+ "url": "./plot"
91
+ }
92
+ ],
93
+ "source": {
94
+ "label": "`crates/runmat-runtime/src/builtins/math/signal/pulstran.rs`",
95
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/signal/pulstran.rs"
96
+ },
97
+ "key": "pulstran",
98
+ "slug": "pulstran",
99
+ "aliases": [],
100
+ "categoryPath": [
101
+ "math",
102
+ "signal"
103
+ ]
104
+ };
105
+ export default builtinDoc;
106
+ //# sourceMappingURL=pulstran.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulstran.js","sourceRoot":"","sources":["../../../src/generated/builtins/pulstran.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE;QACV,UAAU;QACV,aAAa;QACb,UAAU;QACV,SAAS;QACT,UAAU;QACV,mBAAmB;KACpB;IACD,SAAS,EAAE,kGAAkG;IAC7G,YAAY,EAAE;QACZ,0CAA0C;KAC3C;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;SACN;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,oJAAoJ;KAC9J;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,yCAAyC;QACjD,aAAa,EAAE,sFAAsF;KACtG;IACD,aAAa,EAAE,wRAAwR;IACvS,WAAW,EAAE;QACX,+BAA+B;QAC/B,uMAAuM;QACvM,qDAAqD;QACrD,8EAA8E;QAC9E,oHAAoH;QACpH,iFAAiF;KAClF;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,oCAAoC;YACnD,OAAO,EAAE,sEAAsE;YAC/E,QAAQ,EAAE,iBAAiB;SAC5B;QACD;YACE,aAAa,EAAE,sBAAsB;YACrC,OAAO,EAAE,mEAAmE;YAC5E,QAAQ,EAAE,WAAW;SACtB;QACD;YACE,aAAa,EAAE,yBAAyB;YACxC,OAAO,EAAE,kEAAkE;YAC3E,QAAQ,EAAE,iBAAiB;SAC5B;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,gDAAgD;YAC5D,QAAQ,EAAE,6JAA6J;SACxK;QACD;YACE,UAAU,EAAE,kDAAkD;YAC9D,QAAQ,EAAE,wGAAwG;SACnH;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,2GAA2G;KACnH;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,QAAQ;KACT;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=rectpuls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectpuls.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/rectpuls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA0FjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,95 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "rectpuls",
5
+ "category": "math/signal",
6
+ "keywords": [
7
+ "rectpuls",
8
+ "rectangular pulse",
9
+ "pulse train",
10
+ "signal processing",
11
+ "elementwise"
12
+ ],
13
+ "summary": "Generate sampled rectangular pulses.",
14
+ "references": [
15
+ "title: \"MATLAB rectpuls documentation\""
16
+ ],
17
+ "gpu_support": {
18
+ "elementwise": false,
19
+ "reduction": false,
20
+ "precisions": [
21
+ "f64"
22
+ ],
23
+ "broadcasting": "none",
24
+ "notes": "GPU inputs are gathered to the host and evaluated with the scalar reference implementation."
25
+ },
26
+ "fusion": {
27
+ "elementwise": false,
28
+ "reduction": false,
29
+ "max_inputs": 1,
30
+ "constants": "inline",
31
+ "notes": "Fusion is disabled because width validation and boundary half-amplitude semantics are handled by the host builtin."
32
+ },
33
+ "requires_feature": null,
34
+ "tested": {
35
+ "unit": "builtins::math::signal::rectpuls::tests",
36
+ "integration": null
37
+ },
38
+ "description": "`rectpuls(T)` returns samples of a unit-width rectangular pulse centered at zero. `rectpuls(T, W)` uses pulse width `W`.",
39
+ "behaviors": [
40
+ "Operates element-wise on real numeric scalars, vectors, matrices, and N-D tensors; preserves input shape.",
41
+ "Returns `1` for `abs(T) < W/2`, `0.5` at `abs(T) == W/2`, and `0` outside the pulse.",
42
+ "The width must be positive and finite.",
43
+ "Integer and logical inputs are promoted to double precision before evaluation.",
44
+ "Complex and text inputs are rejected with a builtin-scoped error."
45
+ ],
46
+ "examples": [
47
+ {
48
+ "description": "Default unit-width rectangular pulse",
49
+ "input": "t = -0.5:0.25:0.5;\ny = rectpuls(t)",
50
+ "output": "y = [0.5 1 1 1 0.5]"
51
+ },
52
+ {
53
+ "description": "Custom pulse width",
54
+ "input": "t = -1:0.5:1;\ny = rectpuls(t, 0.5)",
55
+ "output": "y = [0 0 1 0 0]"
56
+ }
57
+ ],
58
+ "faqs": [
59
+ {
60
+ "question": "What happens at the exact pulse edge?",
61
+ "answer": "RunMat returns `0.5` at `abs(T) == W/2`, matching the standard sampled rectangular pulse convention."
62
+ },
63
+ {
64
+ "question": "Can `rectpuls` be used inside `pulstran`?",
65
+ "answer": "Yes. `pulstran(T, D, 'rectpuls', W)` evaluates rectangular pulses centered at each delay."
66
+ }
67
+ ],
68
+ "links": [
69
+ {
70
+ "label": "pulstran",
71
+ "url": "./pulstran"
72
+ },
73
+ {
74
+ "label": "tripuls",
75
+ "url": "./tripuls"
76
+ },
77
+ {
78
+ "label": "gauspuls",
79
+ "url": "./gauspuls"
80
+ }
81
+ ],
82
+ "source": {
83
+ "label": "`crates/runmat-runtime/src/builtins/math/signal/rectpuls.rs`",
84
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/signal/rectpuls.rs"
85
+ },
86
+ "key": "rectpuls",
87
+ "slug": "rectpuls",
88
+ "aliases": [],
89
+ "categoryPath": [
90
+ "math",
91
+ "signal"
92
+ ]
93
+ };
94
+ export default builtinDoc;
95
+ //# sourceMappingURL=rectpuls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectpuls.js","sourceRoot":"","sources":["../../../src/generated/builtins/rectpuls.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE;QACV,UAAU;QACV,mBAAmB;QACnB,aAAa;QACb,mBAAmB;QACnB,aAAa;KACd;IACD,SAAS,EAAE,sCAAsC;IACjD,YAAY,EAAE;QACZ,0CAA0C;KAC3C;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE;YACZ,KAAK;SACN;QACD,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,6FAA6F;KACvG;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,oHAAoH;KAC9H;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,yCAAyC;QACjD,aAAa,EAAE,IAAI;KACpB;IACD,aAAa,EAAE,0HAA0H;IACzI,WAAW,EAAE;QACX,2GAA2G;QAC3G,sFAAsF;QACtF,wCAAwC;QACxC,gFAAgF;QAChF,mEAAmE;KACpE;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,sCAAsC;YACrD,OAAO,EAAE,qCAAqC;YAC9C,QAAQ,EAAE,qBAAqB;SAChC;QACD;YACE,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,qCAAqC;YAC9C,QAAQ,EAAE,iBAAiB;SAC5B;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,uCAAuC;YACnD,QAAQ,EAAE,sGAAsG;SACjH;QACD;YACE,UAAU,EAAE,2CAA2C;YACvD,QAAQ,EAAE,2FAA2F;SACtG;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,2GAA2G;KACnH;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,QAAQ;KACT;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=rlocus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlocus.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/rlocus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAyHjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,126 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "rlocus",
5
+ "category": "control",
6
+ "keywords": [
7
+ "rlocus",
8
+ "root locus",
9
+ "control system",
10
+ "transfer function",
11
+ "tf"
12
+ ],
13
+ "summary": "Compute or plot root loci of SISO transfer-function or state-space models.",
14
+ "references": [
15
+ "title: \"MATLAB rlocus documentation\""
16
+ ],
17
+ "gpu_support": {
18
+ "elementwise": false,
19
+ "reduction": false,
20
+ "precisions": [],
21
+ "broadcasting": "none",
22
+ "notes": "`rlocus` computes host-side polynomial roots from transfer-function metadata. GPU-resident coefficient inputs are gathered by `tf` before model construction."
23
+ },
24
+ "fusion": {
25
+ "elementwise": false,
26
+ "reduction": false,
27
+ "max_inputs": 0,
28
+ "constants": "inline",
29
+ "notes": "`rlocus` performs model analysis and plotting, so it terminates numeric fusion chains."
30
+ },
31
+ "requires_feature": null,
32
+ "tested": {
33
+ "unit": "builtins::control::rlocus::tests",
34
+ "integration": "crates/runmat-vm/tests/control.rs"
35
+ },
36
+ "description": "`rlocus(sys, ...)` plots or returns closed-loop pole locations for supported SISO `tf` and `ss` models. Roots are computed from the characteristic polynomial `den(sys) + k*num(sys)` for each gain value.",
37
+ "behaviors": [
38
+ "Supports SISO `tf` objects with real or complex coefficients.",
39
+ "Supports SISO `ss` objects by converting state-space metadata to equivalent numerator and denominator polynomials.",
40
+ "Accepts an explicit finite nonnegative gain vector `k`.",
41
+ "Chooses a deterministic logarithmic gain grid when `k` is omitted and adds samples around real positive breakaway candidates.",
42
+ "Returns `r` as a branches-by-gains matrix, using complex output when any branch has a nonzero imaginary component.",
43
+ "Returns `[r, k]` for two-output calls, where `k` is a row vector.",
44
+ "Plots branch trajectories for no-output calls and marks open-loop poles and zeros.",
45
+ "Supports continuous-time and discrete-time `tf` models.",
46
+ "Input/output delays raise clear unsupported-model diagnostics."
47
+ ],
48
+ "examples": [
49
+ {
50
+ "description": "Return roots for explicit gains",
51
+ "input": "H = tf(1, [1 1]);\n[r, k] = rlocus(H, [0 1 3]);\nfprintf(\"%.0f %.0f %.0f %.0f\\n\", r(1,1), r(1,2), r(1,3), k(3));",
52
+ "output": "-1 -2 -4 3"
53
+ },
54
+ {
55
+ "description": "Plot a root locus",
56
+ "input": "s = tf('s');\nH = (s + 2) / (s^2 + 3*s + 4);\nrlocus(H);\nfprintf(\"ok\\n\");",
57
+ "output": "ok"
58
+ },
59
+ {
60
+ "description": "Use a discrete-time transfer function",
61
+ "input": "H = tf(1, [1 -0.5], 0.1);\nr = rlocus(H, 0.5);\nfprintf(\"%.1f\\n\", r(1));",
62
+ "output": "0.0"
63
+ }
64
+ ],
65
+ "faqs": [
66
+ {
67
+ "question": "What equation does `rlocus` solve?",
68
+ "answer": "For each gain `k`, it computes roots of `den(sys) + k*num(sys)`, matching unity negative-feedback root-locus convention."
69
+ },
70
+ {
71
+ "question": "Does `rlocus` support state-space or MIMO models?",
72
+ "answer": "`rlocus` supports SISO `ss` models. MIMO model arrays remain unsupported by the current RunMat control-model path."
73
+ },
74
+ {
75
+ "question": "Does `rlocus` run on the GPU?",
76
+ "answer": "No. It is a model-analysis operation and returns host-resident tensors."
77
+ }
78
+ ],
79
+ "links": [
80
+ {
81
+ "label": "tf",
82
+ "url": "./tf"
83
+ },
84
+ {
85
+ "label": "feedback",
86
+ "url": "./feedback"
87
+ },
88
+ {
89
+ "label": "plot",
90
+ "url": "./plot"
91
+ }
92
+ ],
93
+ "source": {
94
+ "label": "`crates/runmat-runtime/src/builtins/control/rlocus.rs`",
95
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/control/rlocus.rs"
96
+ },
97
+ "syntax": {
98
+ "example": {
99
+ "description": "Supported forms",
100
+ "input": "rlocus(sys)\nrlocus(sys, k)\nr = rlocus(sys)\nr = rlocus(sys, k)\n[r, k] = rlocus(sys)\n[r, k] = rlocus(sys, k)",
101
+ "output": "Root-locus data is returned when outputs are requested; otherwise a plot is rendered."
102
+ },
103
+ "points": [
104
+ "`sys` must be a SISO `tf` or `ss` object.",
105
+ "`k` must be a finite, nonnegative numeric vector.",
106
+ "`r` has one row per root-locus branch and one column per gain value.",
107
+ "`k` is returned as a `1 x N` row vector."
108
+ ]
109
+ },
110
+ "validation": {
111
+ "summary": "`rlocus` validates object class, delay properties, gain-vector type/shape/range, output shapes, continuous and discrete characteristic polynomials, complex roots, plotting smoke, and VM dispatch.",
112
+ "implementation": {
113
+ "label": "`crates/runmat-runtime/src/builtins/control/rlocus.rs`",
114
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/control/rlocus.rs"
115
+ }
116
+ },
117
+ "gpu_residency": "`rlocus` returns host-resident root and gain tensors.",
118
+ "key": "rlocus",
119
+ "slug": "rlocus",
120
+ "aliases": [],
121
+ "categoryPath": [
122
+ "control"
123
+ ]
124
+ };
125
+ export default builtinDoc;
126
+ //# sourceMappingURL=rlocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlocus.js","sourceRoot":"","sources":["../../../src/generated/builtins/rlocus.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE;QACV,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,mBAAmB;QACnB,IAAI;KACL;IACD,SAAS,EAAE,4EAA4E;IACvF,YAAY,EAAE;QACZ,wCAAwC;KACzC;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,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,wFAAwF;KAClG;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,kCAAkC;QAC1C,aAAa,EAAE,mCAAmC;KACnD;IACD,aAAa,EAAE,4MAA4M;IAC3N,WAAW,EAAE;QACX,+DAA+D;QAC/D,oHAAoH;QACpH,yDAAyD;QACzD,+HAA+H;QAC/H,oHAAoH;QACpH,mEAAmE;QACnE,oFAAoF;QACpF,yDAAyD;QACzD,gEAAgE;KACjE;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,iCAAiC;YAChD,OAAO,EAAE,qHAAqH;YAC9H,QAAQ,EAAE,YAAY;SACvB;QACD;YACE,aAAa,EAAE,mBAAmB;YAClC,OAAO,EAAE,+EAA+E;YACxF,QAAQ,EAAE,IAAI;SACf;QACD;YACE,aAAa,EAAE,uCAAuC;YACtD,OAAO,EAAE,6EAA6E;YACtF,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,oCAAoC;YAChD,QAAQ,EAAE,0HAA0H;SACrI;QACD;YACE,UAAU,EAAE,mDAAmD;YAC/D,QAAQ,EAAE,oHAAoH;SAC/H;QACD;YACE,UAAU,EAAE,+BAA+B;YAC3C,QAAQ,EAAE,yEAAyE;SACpF;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;SACd;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,wDAAwD;QACjE,KAAK,EAAE,qGAAqG;KAC7G;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,iHAAiH;YAC1H,QAAQ,EAAE,uFAAuF;SAClG;QACD,QAAQ,EAAE;YACR,2CAA2C;YAC3C,mDAAmD;YACnD,sEAAsE;YACtE,0CAA0C;SAC3C;KACF;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,qMAAqM;QAChN,gBAAgB,EAAE;YAChB,OAAO,EAAE,wDAAwD;YACjE,KAAK,EAAE,qGAAqG;SAC7G;KACF;IACD,eAAe,EAAE,uDAAuD;IACxE,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,SAAS;KACV;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -19,7 +19,7 @@ const builtinDoc = {
19
19
  "behaviors": [
20
20
  "`set` requires a plotting handle followed by one or more property/value pairs.",
21
21
  "Different handle families accept different properties, and unsupported properties raise plotting errors rather than silently succeeding.",
22
- "Axes-local state such as limits, log modes, and legend visibility can be updated through axes handles.",
22
+ "Axes-local state such as limits, log modes, legend visibility, and axes font size can be updated through axes handles.",
23
23
  "Plot-child properties such as line width, display names, marker styling, and selected object semantics are updated in place through the returned plot handles.",
24
24
  "Legend and text objects participate in the same property path, so figure annotation workflows stay consistent with the rest of the handle model."
25
25
  ],
@@ -30,7 +30,7 @@ const builtinDoc = {
30
30
  },
31
31
  {
32
32
  "description": "Update axes-local state through an axes handle",
33
- "input": "ax = subplot(1, 2, 2);\nplot(1:5, [2 3 5 4 1]);\nset(ax, 'XScale', 'log', 'Grid', false);"
33
+ "input": "ax = subplot(1, 2, 2);\nplot(1:5, [2 3 5 4 1]);\nset(ax, 'XScale', 'log', 'Grid', false, 'FontSize', 12);"
34
34
  },
35
35
  {
36
36
  "description": "Change a legend after it has been created",
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/generated/builtins/set.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;QACZ,uBAAuB;KACxB;IACD,SAAS,EAAE,oGAAoG;IAC/G,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;KACzC;IACD,aAAa,EAAE,oNAAoN;IACnO,WAAW,EAAE;QACX,gFAAgF;QAChF,0IAA0I;QAC1I,wGAAwG;QACxG,gKAAgK;QAChK,kJAAkJ;KACnJ;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,6BAA6B;YAC5C,OAAO,EAAE,qGAAqG;SAC/G;QACD;YACE,aAAa,EAAE,gDAAgD;YAC/D,OAAO,EAAE,2FAA2F;SACrG;QACD;YACE,aAAa,EAAE,2CAA2C;YAC1D,OAAO,EAAE,yGAAyG;SACnH;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,iDAAiD;YAC7D,QAAQ,EAAE,8JAA8J;SACzK;QACD;YACE,UAAU,EAAE,qEAAqE;YACjF,QAAQ,EAAE,sUAAsU;SACjV;QACD;YACE,UAAU,EAAE,yEAAyE;YACrF,QAAQ,EAAE,6KAA6K;SACxL;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,0DAA0D;QACnE,KAAK,EAAE,uGAAuG;KAC/G;IACD,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,UAAU;KACX;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/generated/builtins/set.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;QACZ,uBAAuB;KACxB;IACD,SAAS,EAAE,oGAAoG;IAC/G,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,gCAAgC;KACzC;IACD,aAAa,EAAE,oNAAoN;IACnO,WAAW,EAAE;QACX,gFAAgF;QAChF,0IAA0I;QAC1I,wHAAwH;QACxH,gKAAgK;QAChK,kJAAkJ;KACnJ;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,6BAA6B;YAC5C,OAAO,EAAE,qGAAqG;SAC/G;QACD;YACE,aAAa,EAAE,gDAAgD;YAC/D,OAAO,EAAE,2GAA2G;SACrH;QACD;YACE,aAAa,EAAE,2CAA2C;YAC1D,OAAO,EAAE,yGAAyG;SACnH;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,iDAAiD;YAC7D,QAAQ,EAAE,8JAA8J;SACzK;QACD;YACE,UAAU,EAAE,qEAAqE;YACjF,QAAQ,EAAE,sUAAsU;SACjV;QACD;YACE,UAAU,EAAE,yEAAyE;YACrF,QAAQ,EAAE,6KAA6K;SACxL;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;QACD;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE,6CAA6C;SACrD;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;QACD;YACE,OAAO,EAAE,yBAAyB;YAClC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,0DAA0D;QACnE,KAAK,EAAE,uGAAuG;KAC/G;IACD,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,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=spreadsheetImportOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spreadsheetImportOptions.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/spreadsheetImportOptions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAwFjB,CAAC;AAEF,eAAe,UAAU,CAAC"}