runmat 0.4.9-dev.2 → 0.4.10-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 (83) hide show
  1. package/artifacts/stdlib.snapshot +0 -0
  2. package/dist/builtins.d.ts +1 -0
  3. package/dist/builtins.d.ts.map +1 -1
  4. package/dist/builtins.js.map +1 -1
  5. package/dist/generated/builtin-examples-catalog.d.ts.map +1 -1
  6. package/dist/generated/builtin-examples-catalog.js +1 -1
  7. package/dist/generated/builtin-examples-catalog.js.map +1 -1
  8. package/dist/generated/builtins/complex.d.ts +4 -0
  9. package/dist/generated/builtins/complex.d.ts.map +1 -0
  10. package/dist/generated/builtins/complex.js +157 -0
  11. package/dist/generated/builtins/complex.js.map +1 -0
  12. package/dist/generated/builtins/cosd.d.ts +4 -0
  13. package/dist/generated/builtins/cosd.d.ts.map +1 -0
  14. package/dist/generated/builtins/cosd.js +109 -0
  15. package/dist/generated/builtins/cosd.js.map +1 -0
  16. package/dist/generated/builtins/db.d.ts +4 -0
  17. package/dist/generated/builtins/db.d.ts.map +1 -0
  18. package/dist/generated/builtins/db.js +122 -0
  19. package/dist/generated/builtins/db.js.map +1 -0
  20. package/dist/generated/builtins/fill3.d.ts +4 -0
  21. package/dist/generated/builtins/fill3.d.ts.map +1 -0
  22. package/dist/generated/builtins/fill3.js +152 -0
  23. package/dist/generated/builtins/fill3.js.map +1 -0
  24. package/dist/generated/builtins/fminbnd.d.ts +4 -0
  25. package/dist/generated/builtins/fminbnd.d.ts.map +1 -0
  26. package/dist/generated/builtins/fminbnd.js +104 -0
  27. package/dist/generated/builtins/fminbnd.js.map +1 -0
  28. package/dist/generated/builtins/integral.d.ts +4 -0
  29. package/dist/generated/builtins/integral.d.ts.map +1 -0
  30. package/dist/generated/builtins/integral.js +101 -0
  31. package/dist/generated/builtins/integral.js.map +1 -0
  32. package/dist/generated/builtins/mode.d.ts +4 -0
  33. package/dist/generated/builtins/mode.d.ts.map +1 -0
  34. package/dist/generated/builtins/mode.js +146 -0
  35. package/dist/generated/builtins/mode.js.map +1 -0
  36. package/dist/generated/builtins/optimset.d.ts.map +1 -1
  37. package/dist/generated/builtins/optimset.js +8 -4
  38. package/dist/generated/builtins/optimset.js.map +1 -1
  39. package/dist/generated/builtins/patch.d.ts +4 -0
  40. package/dist/generated/builtins/patch.d.ts.map +1 -0
  41. package/dist/generated/builtins/patch.js +135 -0
  42. package/dist/generated/builtins/patch.js.map +1 -0
  43. package/dist/generated/builtins/repelem.d.ts +4 -0
  44. package/dist/generated/builtins/repelem.d.ts.map +1 -0
  45. package/dist/generated/builtins/repelem.js +135 -0
  46. package/dist/generated/builtins/repelem.js.map +1 -0
  47. package/dist/generated/builtins/sawtooth.d.ts +4 -0
  48. package/dist/generated/builtins/sawtooth.d.ts.map +1 -0
  49. package/dist/generated/builtins/sawtooth.js +111 -0
  50. package/dist/generated/builtins/sawtooth.js.map +1 -0
  51. package/dist/generated/builtins/sinc.d.ts +4 -0
  52. package/dist/generated/builtins/sinc.d.ts.map +1 -0
  53. package/dist/generated/builtins/sinc.js +142 -0
  54. package/dist/generated/builtins/sinc.js.map +1 -0
  55. package/dist/generated/builtins/sind.d.ts +4 -0
  56. package/dist/generated/builtins/sind.d.ts.map +1 -0
  57. package/dist/generated/builtins/sind.js +109 -0
  58. package/dist/generated/builtins/sind.js.map +1 -0
  59. package/dist/generated/builtins/square.d.ts +4 -0
  60. package/dist/generated/builtins/square.d.ts.map +1 -0
  61. package/dist/generated/builtins/square.js +110 -0
  62. package/dist/generated/builtins/square.js.map +1 -0
  63. package/dist/generated/builtins/step.d.ts +4 -0
  64. package/dist/generated/builtins/step.d.ts.map +1 -0
  65. package/dist/generated/builtins/step.js +125 -0
  66. package/dist/generated/builtins/step.js.map +1 -0
  67. package/dist/generated/builtins/tand.d.ts +4 -0
  68. package/dist/generated/builtins/tand.d.ts.map +1 -0
  69. package/dist/generated/builtins/tand.js +109 -0
  70. package/dist/generated/builtins/tand.js.map +1 -0
  71. package/dist/generated/builtins-manifest.d.ts.map +1 -1
  72. package/dist/generated/builtins-manifest.js +323 -1
  73. package/dist/generated/builtins-manifest.js.map +1 -1
  74. package/dist/lsp/runmat_lsp.d.ts +2 -2
  75. package/dist/lsp/runmat_lsp.js +4 -4
  76. package/dist/lsp/runmat_lsp_bg.wasm +0 -0
  77. package/dist/lsp/runmat_lsp_bg.wasm.d.ts +2 -2
  78. package/dist/pkg-web/runmat_wasm_web.d.ts +42 -42
  79. package/dist/pkg-web/runmat_wasm_web.js +85 -85
  80. package/dist/pkg-web/runmat_wasm_web_bg.wasm +0 -0
  81. package/dist/pkg-web/runmat_wasm_web_bg.wasm.d.ts +35 -35
  82. package/dist/runtime/stdlib.snapshot +0 -0
  83. package/package.json +1 -1
@@ -0,0 +1,104 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "fminbnd",
5
+ "category": "math/optim",
6
+ "keywords": [
7
+ "fminbnd",
8
+ "bounded minimization",
9
+ "brent",
10
+ "golden section",
11
+ "parabolic interpolation",
12
+ "optimization"
13
+ ],
14
+ "summary": "Find a local minimum of a scalar function on a bounded interval using Brent's method.",
15
+ "references": [
16
+ "https://www.mathworks.com/help/matlab/ref/fminbnd.html"
17
+ ],
18
+ "gpu_support": {
19
+ "elementwise": false,
20
+ "reduction": false,
21
+ "precisions": [],
22
+ "broadcasting": "none",
23
+ "notes": "The solver runs on the host. Callback functions may still call GPU-aware builtins."
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::math::optim::fminbnd::tests",
34
+ "integration": "runmat-vm/tests/closures.rs::fminbnd_accepts_anonymous_function"
35
+ },
36
+ "description": "`x = fminbnd(fun, x1, x2)` searches the closed interval `[x1, x2]` for a local minimum of the scalar function `fun` using Brent's method (golden-section search combined with parabolic interpolation). Additional output arities expose the function value at the minimum, an exit flag, and a diagnostic struct.",
37
+ "behaviors": [
38
+ "The function handle must return a finite real scalar for every sampled point in the interval.",
39
+ "If `x1 > x2`, the bounds are inconsistent and `exitflag = -2`.",
40
+ "If `x1 == x2`, that point is returned with `exitflag = 1`.",
41
+ "Options are supplied as a struct, usually built with `optimset`. `TolX`, `MaxIter`, `MaxFunEvals`, and `Display` are accepted.",
42
+ "`Display` may be `'off'`, `'iter'`, `'notify'` (default; only prints when the solver fails to converge), or `'final'`.",
43
+ "`exitflag` is `1` on convergence within `TolX`, `0` when the iteration or evaluation budget is exhausted.",
44
+ "The fourth output is a struct with `iterations`, `funcCount`, `algorithm`, and `message` fields."
45
+ ],
46
+ "examples": [
47
+ {
48
+ "description": "Minimize a quadratic",
49
+ "input": "x = fminbnd(@(x) (x-2).^2, 0, 5)",
50
+ "output": "x =\n 2.0000"
51
+ },
52
+ {
53
+ "description": "Capture the function value too",
54
+ "input": "[x, fval] = fminbnd(@(x) (x-3).^2 + 1, 0, 5)",
55
+ "output": "x =\n 3.0000\nfval =\n 1.0000"
56
+ },
57
+ {
58
+ "description": "Tighten tolerances",
59
+ "input": "opts = optimset('TolX', 1e-10, 'Display', 'off');\n[x, fval, exitflag] = fminbnd(@cos, 0, pi, opts)",
60
+ "output": "x =\n 3.1416\nfval =\n -1.0000\nexitflag =\n 1"
61
+ }
62
+ ],
63
+ "faqs": [
64
+ {
65
+ "question": "Does fminbnd support unbounded minimization?",
66
+ "answer": "No. `fminbnd` requires finite scalar bounds. Use `fminunc` or `fminsearch` for unconstrained problems."
67
+ },
68
+ {
69
+ "question": "Can I retrieve the iteration history?",
70
+ "answer": "Yes — request the four-output form `[x, fval, exitflag, output] = fminbnd(...)` to receive a struct with `iterations`, `funcCount`, `algorithm`, and `message`."
71
+ },
72
+ {
73
+ "question": "Does fminbnd guarantee a global minimum?",
74
+ "answer": "No. Brent's method converges to a local minimum on `[x1, x2]`. For multi-modal functions, narrow the interval to bracket the desired minimum."
75
+ }
76
+ ],
77
+ "links": [
78
+ {
79
+ "label": "fzero",
80
+ "url": "./fzero"
81
+ },
82
+ {
83
+ "label": "fsolve",
84
+ "url": "./fsolve"
85
+ },
86
+ {
87
+ "label": "optimset",
88
+ "url": "./optimset"
89
+ }
90
+ ],
91
+ "source": {
92
+ "label": "`crates/runmat-runtime/src/builtins/math/optim/fminbnd.rs`",
93
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/optim/fminbnd.rs"
94
+ },
95
+ "key": "fminbnd",
96
+ "slug": "fminbnd",
97
+ "aliases": [],
98
+ "categoryPath": [
99
+ "math",
100
+ "optim"
101
+ ]
102
+ };
103
+ export default builtinDoc;
104
+ //# sourceMappingURL=fminbnd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fminbnd.js","sourceRoot":"","sources":["../../../src/generated/builtins/fminbnd.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE;QACV,SAAS;QACT,sBAAsB;QACtB,OAAO;QACP,gBAAgB;QAChB,yBAAyB;QACzB,cAAc;KACf;IACD,SAAS,EAAE,uFAAuF;IAClG,YAAY,EAAE;QACZ,wDAAwD;KACzD;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,oFAAoF;KAC9F;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,uCAAuC;QAC/C,aAAa,EAAE,iEAAiE;KACjF;IACD,aAAa,EAAE,oTAAoT;IACnU,WAAW,EAAE;QACX,+FAA+F;QAC/F,gEAAgE;QAChE,4DAA4D;QAC5D,gIAAgI;QAChI,wHAAwH;QACxH,2GAA2G;QAC3G,kGAAkG;KACnG;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,sBAAsB;YACrC,OAAO,EAAE,kCAAkC;YAC3C,QAAQ,EAAE,iBAAiB;SAC5B;QACD;YACE,aAAa,EAAE,gCAAgC;YAC/C,OAAO,EAAE,8CAA8C;YACvD,QAAQ,EAAE,qCAAqC;SAChD;QACD;YACE,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,qGAAqG;YAC9G,QAAQ,EAAE,yDAAyD;SACpE;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,8CAA8C;YAC1D,QAAQ,EAAE,wGAAwG;SACnH;QACD;YACE,UAAU,EAAE,uCAAuC;YACnD,QAAQ,EAAE,iKAAiK;SAC5K;QACD;YACE,UAAU,EAAE,0CAA0C;YACtD,QAAQ,EAAE,+IAA+I;SAC1J;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;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,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,OAAO;KACR;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=integral.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integral.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/integral.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAgGjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,101 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "integral",
5
+ "category": "math/optim",
6
+ "keywords": [
7
+ "integral",
8
+ "numerical integration",
9
+ "adaptive quadrature",
10
+ "quadrature",
11
+ "function handle"
12
+ ],
13
+ "summary": "Approximate a finite scalar definite integral using adaptive quadrature.",
14
+ "references": [
15
+ "https://www.mathworks.com/help/matlab/ref/integral.html"
16
+ ],
17
+ "gpu_support": {
18
+ "elementwise": false,
19
+ "reduction": false,
20
+ "precisions": [],
21
+ "broadcasting": "none",
22
+ "notes": "The adaptive solver runs on the host. Callback functions may still call GPU-aware builtins."
23
+ },
24
+ "fusion": {
25
+ "elementwise": false,
26
+ "reduction": false,
27
+ "max_inputs": 3,
28
+ "constants": "inline"
29
+ },
30
+ "requires_feature": null,
31
+ "tested": {
32
+ "unit": "builtins::math::optim::integral::tests",
33
+ "integration": "runmat-vm/tests/closures.rs::integral_accepts_anonymous_function"
34
+ },
35
+ "description": "`q = integral(fun, a, b)` approximates the definite integral of `fun` from `a` to `b`. The first implementation supports scalar-valued integrands over finite real bounds.",
36
+ "behaviors": [
37
+ "The function may be a named function handle such as `@sin`, an anonymous function such as `@(x) x.^2`, or a function-handle string.",
38
+ "The integration loop evaluates the integrand at scalar sample points and adapts subintervals using Simpson error estimates.",
39
+ "The integrand must return a finite real scalar. Array-valued and complex-valued integrands are not supported yet.",
40
+ "Finite reversed bounds are accepted and negate the result. Equal bounds return zero.",
41
+ "`AbsTol`, `RelTol`, and `MaxFunEvals` name/value options are accepted for the initial scalar implementation."
42
+ ],
43
+ "examples": [
44
+ {
45
+ "description": "Integrate a polynomial anonymous function",
46
+ "input": "q = integral(@(x) x.^2, 0, 1)",
47
+ "output": "q =\n 0.3333"
48
+ },
49
+ {
50
+ "description": "Integrate sine over one half-period",
51
+ "input": "q = integral(@sin, 0, pi)",
52
+ "output": "q =\n 2.0000"
53
+ },
54
+ {
55
+ "description": "Set tighter tolerances",
56
+ "input": "q = integral(@sin, 0, pi, 'AbsTol', 1e-12, 'RelTol', 1e-8)",
57
+ "output": "q =\n 2.0000"
58
+ }
59
+ ],
60
+ "faqs": [
61
+ {
62
+ "question": "Is this the same as trapz?",
63
+ "answer": "No. `integral` evaluates a function handle adaptively over continuous bounds. `trapz` integrates already-sampled discrete data."
64
+ },
65
+ {
66
+ "question": "Does integral support vector-valued functions?",
67
+ "answer": "Not yet. The initial implementation supports finite real scalar-valued integrands."
68
+ },
69
+ {
70
+ "question": "Does integral run on the GPU?",
71
+ "answer": "The adaptive solver runs on the host because it repeatedly invokes user code through function-handle dispatch. The callback itself may call GPU-aware builtins."
72
+ }
73
+ ],
74
+ "links": [
75
+ {
76
+ "label": "trapz",
77
+ "url": "./trapz"
78
+ },
79
+ {
80
+ "label": "cumtrapz",
81
+ "url": "./cumtrapz"
82
+ },
83
+ {
84
+ "label": "fzero",
85
+ "url": "./fzero"
86
+ }
87
+ ],
88
+ "source": {
89
+ "label": "`crates/runmat-runtime/src/builtins/math/optim/integral.rs`",
90
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/math/optim/integral.rs"
91
+ },
92
+ "key": "integral",
93
+ "slug": "integral",
94
+ "aliases": [],
95
+ "categoryPath": [
96
+ "math",
97
+ "optim"
98
+ ]
99
+ };
100
+ export default builtinDoc;
101
+ //# sourceMappingURL=integral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integral.js","sourceRoot":"","sources":["../../../src/generated/builtins/integral.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE;QACV,UAAU;QACV,uBAAuB;QACvB,qBAAqB;QACrB,YAAY;QACZ,iBAAiB;KAClB;IACD,SAAS,EAAE,0EAA0E;IACrF,YAAY,EAAE;QACZ,yDAAyD;KAC1D;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,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;KACtB;IACD,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE;QACR,MAAM,EAAE,wCAAwC;QAChD,aAAa,EAAE,kEAAkE;KAClF;IACD,aAAa,EAAE,4KAA4K;IAC3L,WAAW,EAAE;QACX,qIAAqI;QACrI,6HAA6H;QAC7H,mHAAmH;QACnH,sFAAsF;QACtF,8GAA8G;KAC/G;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,2CAA2C;YAC1D,OAAO,EAAE,+BAA+B;YACxC,QAAQ,EAAE,iBAAiB;SAC5B;QACD;YACE,aAAa,EAAE,qCAAqC;YACpD,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,iBAAiB;SAC5B;QACD;YACE,aAAa,EAAE,wBAAwB;YACvC,OAAO,EAAE,4DAA4D;YACrE,QAAQ,EAAE,iBAAiB;SAC5B;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,4BAA4B;YACxC,QAAQ,EAAE,iIAAiI;SAC5I;QACD;YACE,UAAU,EAAE,gDAAgD;YAC5D,QAAQ,EAAE,oFAAoF;SAC/F;QACD;YACE,UAAU,EAAE,+BAA+B;YAC3C,QAAQ,EAAE,iKAAiK;SAC5K;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,YAAY;SACpB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,0GAA0G;KAClH;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,OAAO;KACR;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=mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/mode.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UA6IjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,146 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "mode",
5
+ "category": "stats/summary",
6
+ "keywords": [
7
+ "mode",
8
+ "frequency",
9
+ "statistics",
10
+ "reduction",
11
+ "ties"
12
+ ],
13
+ "summary": "Most frequent value along a dimension with MATLAB-compatible tie semantics.",
14
+ "references": [],
15
+ "gpu_support": {
16
+ "elementwise": false,
17
+ "reduction": false,
18
+ "precisions": [
19
+ "f64"
20
+ ],
21
+ "broadcasting": "none",
22
+ "notes": "Mode currently executes on the host; GPU tensors are gathered to the CPU before computing the result."
23
+ },
24
+ "fusion": {
25
+ "elementwise": false,
26
+ "reduction": false,
27
+ "max_inputs": 1,
28
+ "constants": "inline"
29
+ },
30
+ "requires_feature": null,
31
+ "tested": {
32
+ "unit": "builtins::stats::summary::mode::tests"
33
+ },
34
+ "description": "`mode(A)` returns the value that appears most frequently in `A`. When multiple values share the same maximum frequency, the smallest tied value is returned in `M`, matching MATLAB. Requesting `[M, F, C] = mode(A)` additionally yields the frequency of the mode and a cell array `C` whose entries are sorted column vectors of the tied values for each slice.",
35
+ "behaviors": [
36
+ "`mode(A)` reduces along the first non-singleton dimension of `A`.",
37
+ "`mode(A, dim)` reduces along the specified dimension (1-based, `>= 1`).",
38
+ "`mode(A, 'all')` collapses every element of `A` into a single scalar mode.",
39
+ "`[M, F, C] = mode(A, ...)` additionally returns the frequency `F` of the mode (as a double) and a cell array `C` of sorted tied values per slice.",
40
+ "Ties resolve to the smallest tied value in `M`, while `C` contains the full tied set sorted in ascending order.",
41
+ "NaN entries are ignored. If a slice is entirely `NaN` (or empty), the corresponding `M` value is `NaN`, `F` is `0`, and the cell entry is an empty `0 × 1` column.",
42
+ "Logical, integer, and boolean inputs are promoted to double precision before counting frequencies.",
43
+ "Dimensions larger than `ndims(A)` treat the input as having trailing singleton dimensions, so each slice contains a single element."
44
+ ],
45
+ "examples": [
46
+ {
47
+ "description": "Mode of a vector with a clear majority",
48
+ "input": "x = [1 2 2 3 3 3 4];\nm = mode(x)",
49
+ "output": "m = 3"
50
+ },
51
+ {
52
+ "description": "Ties return the smallest value with the full sorted set",
53
+ "input": "x = [1 1 2 2];\n[m, f, c] = mode(x)",
54
+ "output": "m = 1\nf = 2\nc = {[1; 2]}"
55
+ },
56
+ {
57
+ "description": "Column-wise mode of a matrix",
58
+ "input": "A = [1 2 1; 2 2 3; 2 4 3];\nm = mode(A)",
59
+ "output": "m = [2 2 3]"
60
+ },
61
+ {
62
+ "description": "Mode along the second dimension",
63
+ "input": "A = [1 2 1; 2 2 3; 2 4 3];\nm = mode(A, 2)",
64
+ "output": "m = [1; 2; 2]"
65
+ },
66
+ {
67
+ "description": "Mode across every element",
68
+ "input": "A = [1 2 3; 2 3 2];\nm = mode(A, 'all')",
69
+ "output": "m = 2"
70
+ },
71
+ {
72
+ "description": "NaN values are ignored unless every element is NaN",
73
+ "input": "x = [1 NaN 2 2 NaN];\n[m, f] = mode(x)",
74
+ "output": "m = 2\nf = 2"
75
+ }
76
+ ],
77
+ "faqs": [
78
+ {
79
+ "question": "How are ties resolved?",
80
+ "answer": "`M` returns the smallest value among the tied set. The third output `C` contains every tied value sorted in ascending order as a column vector."
81
+ },
82
+ {
83
+ "question": "What happens with NaN values?",
84
+ "answer": "NaN entries are skipped while counting frequencies. If a slice is entirely NaN, RunMat returns `NaN` for the mode, `0` for the frequency, and an empty `0 × 1` column in the cell array."
85
+ },
86
+ {
87
+ "question": "Does mode support logical or integer inputs?",
88
+ "answer": "Yes. Logical and integer arrays are promoted to double precision before counting, matching MATLAB."
89
+ },
90
+ {
91
+ "question": "Can I reduce across all elements of an array?",
92
+ "answer": "Use `mode(A, 'all')` to collapse every element of `A` into a single scalar."
93
+ },
94
+ {
95
+ "question": "Does mode execute on the GPU?",
96
+ "answer": "Not today. GPU tensors are gathered to the host so the result remains bit-for-bit MATLAB compatible; future providers may expose dedicated mode kernels."
97
+ }
98
+ ],
99
+ "links": [
100
+ {
101
+ "label": "mean",
102
+ "url": "./mean"
103
+ },
104
+ {
105
+ "label": "median",
106
+ "url": "./median"
107
+ },
108
+ {
109
+ "label": "max",
110
+ "url": "./max"
111
+ },
112
+ {
113
+ "label": "min",
114
+ "url": "./min"
115
+ },
116
+ {
117
+ "label": "std",
118
+ "url": "./std"
119
+ },
120
+ {
121
+ "label": "var",
122
+ "url": "./var"
123
+ },
124
+ {
125
+ "label": "histcounts",
126
+ "url": "./histcounts"
127
+ },
128
+ {
129
+ "label": "unique",
130
+ "url": "./unique"
131
+ }
132
+ ],
133
+ "source": {
134
+ "label": "`crates/runmat-runtime/src/builtins/stats/summary/mode.rs`",
135
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/stats/summary/mode.rs"
136
+ },
137
+ "key": "mode",
138
+ "slug": "mode",
139
+ "aliases": [],
140
+ "categoryPath": [
141
+ "stats",
142
+ "summary"
143
+ ]
144
+ };
145
+ export default builtinDoc;
146
+ //# sourceMappingURL=mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../src/generated/builtins/mode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"optimset.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/optimset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAkEjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"optimset.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/optimset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAsEjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -11,7 +11,7 @@ const builtinDoc = {
11
11
  "MaxIter",
12
12
  "Display"
13
13
  ],
14
- "summary": "Create or update an optimization options structure for fzero and fsolve.",
14
+ "summary": "Create or update an optimization options structure for fminbnd, fzero, and fsolve.",
15
15
  "references": [
16
16
  "https://www.mathworks.com/help/matlab/ref/optimset.html"
17
17
  ],
@@ -32,7 +32,7 @@ const builtinDoc = {
32
32
  "tested": {
33
33
  "unit": "builtins::math::optim::optimset::tests"
34
34
  },
35
- "description": "`opts = optimset(name, value, ...)` creates a struct of optimization options. `opts = optimset(old, name, value, ...)` copies an existing options struct and applies overrides.",
35
+ "description": "`opts = optimset(name, value, ...)` creates a struct of optimization options. `opts = optimset(old, name, value, ...)` copies an existing options struct and applies overrides. The resulting struct can be passed to optimization builtins such as `fminbnd`, `fzero`, and `fsolve`.",
36
36
  "behaviors": [
37
37
  "Option names are case-insensitive for the builtins that consume them.",
38
38
  "`TolX`, `TolFun`, `MaxIter`, `MaxFunEvals`, and `Display` are canonicalized when constructed with `optimset`.",
@@ -40,12 +40,16 @@ const builtinDoc = {
40
40
  ],
41
41
  "examples": [
42
42
  {
43
- "description": "Create options for fzero",
44
- "input": "opts = optimset('TolX', 1e-10, 'Display', 'off');\nx = fzero(@sin, [3 4], opts)",
43
+ "description": "Create options for fminbnd",
44
+ "input": "opts = optimset('TolX', 1e-10, 'Display', 'off');\nx = fminbnd(@cos, 0, pi, opts)",
45
45
  "output": "x =\n 3.1416"
46
46
  }
47
47
  ],
48
48
  "links": [
49
+ {
50
+ "label": "fminbnd",
51
+ "url": "./fminbnd"
52
+ },
49
53
  {
50
54
  "label": "fzero",
51
55
  "url": "./fzero"
@@ -1 +1 @@
1
- {"version":3,"file":"optimset.js","sourceRoot":"","sources":["../../../src/generated/builtins/optimset.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE;QACV,UAAU;QACV,SAAS;QACT,MAAM;QACN,QAAQ;QACR,SAAS;QACT,SAAS;KACV;IACD,SAAS,EAAE,0EAA0E;IACrF,YAAY,EAAE;QACZ,yDAAyD;KAC1D;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,4BAA4B;KACtC;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,wCAAwC;KACjD;IACD,aAAa,EAAE,iLAAiL;IAChM,WAAW,EAAE;QACX,uEAAuE;QACvE,+GAA+G;QAC/G,qEAAqE;KACtE;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,0BAA0B;YACzC,OAAO,EAAE,iFAAiF;YAC1F,QAAQ,EAAE,iBAAiB;SAC5B;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,0GAA0G;KAClH;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,OAAO;KACR;CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"optimset.js","sourceRoot":"","sources":["../../../src/generated/builtins/optimset.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE;QACV,UAAU;QACV,SAAS;QACT,MAAM;QACN,QAAQ;QACR,SAAS;QACT,SAAS;KACV;IACD,SAAS,EAAE,oFAAoF;IAC/F,YAAY,EAAE;QACZ,yDAAyD;KAC1D;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;QACtB,OAAO,EAAE,4BAA4B;KACtC;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,wCAAwC;KACjD;IACD,aAAa,EAAE,uRAAuR;IACtS,WAAW,EAAE;QACX,uEAAuE;QACvE,+GAA+G;QAC/G,qEAAqE;KACtE;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,4BAA4B;YAC3C,OAAO,EAAE,mFAAmF;YAC5F,QAAQ,EAAE,iBAAiB;SAC5B;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,WAAW;SACnB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU;SAClB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,0GAA0G;KAClH;IACD,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE;QACd,MAAM;QACN,OAAO;KACR;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=patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAkIjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,135 @@
1
+ // @generated by scripts/generate-builtins.cjs
2
+ // Do not edit by hand.
3
+ const builtinDoc = {
4
+ "title": "patch",
5
+ "category": "plotting",
6
+ "keywords": [
7
+ "patch",
8
+ "polygon",
9
+ "filled polygon",
10
+ "faces",
11
+ "vertices",
12
+ "matlab patch",
13
+ "graphics primitive"
14
+ ],
15
+ "summary": "Create MATLAB-compatible colored polygon patch objects from coordinate data or Faces/Vertices definitions.",
16
+ "gpu_support": {
17
+ "elementwise": false,
18
+ "reduction": false,
19
+ "precisions": [
20
+ "single",
21
+ "double"
22
+ ],
23
+ "broadcasting": "none",
24
+ "notes": "`patch` is a plotting sink. The initial implementation gathers GPU-resident coordinate inputs, triangulates polygon faces on the host, then renders through RunMat's shared GPU plotting renderer."
25
+ },
26
+ "fusion": {
27
+ "elementwise": false,
28
+ "reduction": false,
29
+ "max_inputs": 4,
30
+ "constants": "inline"
31
+ },
32
+ "requires_feature": null,
33
+ "tested": {
34
+ "unit": "builtins::plotting::patch::tests",
35
+ "integration": "runmat-plot/src/plots/patch.rs"
36
+ },
37
+ "description": "`patch` creates filled polygon graphics objects. RunMat supports practical MATLAB forms including `patch(X,Y,C)`, `patch(X,Y,Z,C)`, name-value `XData`/`YData`/`ZData`, `Faces`/`Vertices`, struct input, explicit axes handles, and common face, edge, alpha, line-width, display-name, and visibility properties.",
38
+ "behaviors": [
39
+ "Vector coordinate inputs create one polygon.",
40
+ "Matrix coordinate inputs create one polygon per column.",
41
+ "Patch edges close automatically, matching MATLAB's open-polygon behavior.",
42
+ "`Faces` values are interpreted as MATLAB-style one-based vertex indices.",
43
+ "2-D vertices are accepted as N-by-2; 3-D vertices are accepted as N-by-3.",
44
+ "The returned value is a patch graphics handle that works with `get`, `set`, `ishandle`, and `isgraphics`.",
45
+ "Per-vertex or per-face `CData` colormap interpolation is not yet implemented; non-scalar color data is accepted only as compatibility input and currently falls back to the default face color unless `FaceColor` supplies a concrete RGB/color-name value."
46
+ ],
47
+ "options": [
48
+ "`FaceColor` accepts color names, RGB triples, `flat`, or `none`.",
49
+ "`EdgeColor` accepts color names, RGB triples, or `none`.",
50
+ "`FaceAlpha` and `EdgeAlpha` accept numeric values from 0 to 1.",
51
+ "`LineWidth`, `DisplayName`, and `Visible` use the shared plotting property model.",
52
+ "`FaceColor`, `EdgeColor`, alpha, line width, display name, visibility, `Faces`, `Vertices`, `XData`, `YData`, and `ZData` are the first supported patch property set. Lighting, normals, texture coordinates, and callback properties are deferred."
53
+ ],
54
+ "examples": [
55
+ {
56
+ "description": "Create a triangle patch",
57
+ "input": "x = [0 1 0];\ny = [0 0 1];\npatch(x, y, 'red');"
58
+ },
59
+ {
60
+ "description": "Create two rectangle patches from matrix columns",
61
+ "input": "X = [0 2; 1 3; 1 3; 0 2];\nY = [0 0; 0 0; 1 1; 1 1];\npatch(X, Y, 'cyan', 'EdgeColor', 'black');"
62
+ },
63
+ {
64
+ "description": "Create a patch from Faces and Vertices",
65
+ "input": "V = [0 0; 1 0; 1 1; 0 1];\nF = [1 2 3 4];\nh = patch('Faces', F, 'Vertices', V, 'FaceColor', [0.2 0.6 0.9]);\nget(h, 'Type')",
66
+ "output": "ans =\n 'patch'"
67
+ },
68
+ {
69
+ "description": "Create a 3-D patch",
70
+ "input": "V = [0 0 0; 1 0 0; 0.5 1 0.5];\nF = [1 2 3];\npatch('Faces', F, 'Vertices', V, 'FaceAlpha', 0.6);\nview(3);"
71
+ }
72
+ ],
73
+ "faqs": [
74
+ {
75
+ "question": "Does patch close polygons automatically?",
76
+ "answer": "Yes. You can provide open polygon coordinate lists; RunMat closes the edge loop when rendering the patch."
77
+ },
78
+ {
79
+ "question": "Are Faces indices zero-based or one-based?",
80
+ "answer": "They are one-based to match MATLAB. `Faces = [1 2 3]` references the first, second, and third rows of `Vertices`."
81
+ },
82
+ {
83
+ "question": "Does patch have a direct GPU-resident geometry path?",
84
+ "answer": "Not yet. RunMat gathers GPU-resident patch inputs for validation and triangulation, then submits the resulting geometry to the shared GPU renderer. A direct GPU triangulation/packing path can be added later for very large patch meshes."
85
+ }
86
+ ],
87
+ "links": [
88
+ {
89
+ "label": "surf",
90
+ "url": "./surf"
91
+ },
92
+ {
93
+ "label": "plot3",
94
+ "url": "./plot3"
95
+ },
96
+ {
97
+ "label": "fill",
98
+ "url": "./fill"
99
+ },
100
+ {
101
+ "label": "get",
102
+ "url": "./get"
103
+ },
104
+ {
105
+ "label": "set",
106
+ "url": "./set"
107
+ },
108
+ {
109
+ "label": "Graphics Handles",
110
+ "url": "/docs/plotting/graphics-handles"
111
+ },
112
+ {
113
+ "label": "Plot replay and export",
114
+ "url": "/docs/plotting/plot-replay-and-export"
115
+ }
116
+ ],
117
+ "source": {
118
+ "label": "`crates/runmat-runtime/src/builtins/plotting/ops/patch.rs`",
119
+ "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/plotting/ops/patch.rs"
120
+ },
121
+ "gpu_residency": "`patch` gathers GPU-resident coordinate inputs in the first implementation because MATLAB-compatible patch parsing requires shape validation, one-based Faces handling, NaN padding, and polygon triangulation. The rendered geometry still flows through the shared GPU plotting renderer.",
122
+ "gpu_behavior": [
123
+ "Patch rendering is a plotting sink and fusion barrier.",
124
+ "Host and gathered-GPU inputs produce the same graphics object and handle behavior.",
125
+ "A future direct GPU path should preserve the same Faces/Vertices semantics and only replace the triangulation/packing step."
126
+ ],
127
+ "key": "patch",
128
+ "slug": "patch",
129
+ "aliases": [],
130
+ "categoryPath": [
131
+ "plotting"
132
+ ]
133
+ };
134
+ export default builtinDoc;
135
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/generated/builtins/patch.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,uBAAuB;AAIvB,MAAM,UAAU,GAAe;IAC7B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE;QACV,OAAO;QACP,SAAS;QACT,gBAAgB;QAChB,OAAO;QACP,UAAU;QACV,cAAc;QACd,oBAAoB;KACrB;IACD,SAAS,EAAE,4GAA4G;IACvH,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,oMAAoM;KAC9M;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,kCAAkC;QAC1C,aAAa,EAAE,gCAAgC;KAChD;IACD,aAAa,EAAE,qTAAqT;IACpU,WAAW,EAAE;QACX,8CAA8C;QAC9C,yDAAyD;QACzD,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,2GAA2G;QAC3G,6PAA6P;KAC9P;IACD,SAAS,EAAE;QACT,kEAAkE;QAClE,0DAA0D;QAC1D,gEAAgE;QAChE,mFAAmF;QACnF,qPAAqP;KACtP;IACD,UAAU,EAAE;QACV;YACE,aAAa,EAAE,yBAAyB;YACxC,OAAO,EAAE,iDAAiD;SAC3D;QACD;YACE,aAAa,EAAE,kDAAkD;YACjE,OAAO,EAAE,kGAAkG;SAC5G;QACD;YACE,aAAa,EAAE,wCAAwC;YACvD,OAAO,EAAE,8HAA8H;YACvI,QAAQ,EAAE,oBAAoB;SAC/B;QACD;YACE,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,6GAA6G;SACvH;KACF;IACD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,0CAA0C;YACtD,QAAQ,EAAE,2GAA2G;SACtH;QACD;YACE,UAAU,EAAE,4CAA4C;YACxD,QAAQ,EAAE,mHAAmH;SAC9H;QACD;YACE,UAAU,EAAE,sDAAsD;YAClE,QAAQ,EAAE,6OAA6O;SACxP;KACF;IACD,OAAO,EAAE;QACP;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,SAAS;SACjB;QACD;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;SACf;QACD;YACE,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,iCAAiC;SACzC;QACD;YACE,OAAO,EAAE,wBAAwB;YACjC,KAAK,EAAE,uCAAuC;SAC/C;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,yGAAyG;KACjH;IACD,eAAe,EAAE,6RAA6R;IAC9S,cAAc,EAAE;QACd,wDAAwD;QACxD,oFAAoF;QACpF,6HAA6H;KAC9H;IACD,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,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=repelem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repelem.d.ts","sourceRoot":"","sources":["../../../src/generated/builtins/repelem.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,UAAU,EAAE,UAkIjB,CAAC;AAEF,eAAe,UAAU,CAAC"}