numbl 0.1.0 → 0.1.2

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 (209) hide show
  1. package/README.md +1 -1
  2. package/dist-cli/cli.js +7277 -3344
  3. package/dist-lib/graphics/types.d.ts +262 -0
  4. package/dist-lib/lib.d.ts +19 -0
  5. package/dist-lib/lib.js +53709 -0
  6. package/dist-lib/numbl-core/diagnostics/errors.d.ts +8 -0
  7. package/dist-lib/numbl-core/diagnostics/index.d.ts +27 -0
  8. package/dist-lib/numbl-core/executeCode.d.ts +70 -0
  9. package/dist-lib/numbl-core/externalAccessDirective.d.ts +6 -0
  10. package/dist-lib/numbl-core/fileIOAdapter.d.ts +61 -0
  11. package/dist-lib/numbl-core/functionResolve.d.ts +59 -0
  12. package/dist-lib/numbl-core/helpers/arithmetic.d.ts +47 -0
  13. package/dist-lib/numbl-core/helpers/bessel.d.ts +40 -0
  14. package/dist-lib/numbl-core/helpers/check-helpers.d.ts +50 -0
  15. package/dist-lib/numbl-core/helpers/constants.d.ts +6 -0
  16. package/dist-lib/numbl-core/helpers/dummy.d.ts +5 -0
  17. package/dist-lib/numbl-core/helpers/erf.d.ts +5 -0
  18. package/dist-lib/numbl-core/helpers/linsolve.d.ts +26 -0
  19. package/dist-lib/numbl-core/helpers/ode-rk.d.ts +83 -0
  20. package/dist-lib/numbl-core/helpers/prng.d.ts +17 -0
  21. package/dist-lib/numbl-core/helpers/reduction/cumulative.d.ts +8 -0
  22. package/dist-lib/numbl-core/helpers/reduction/min-max.d.ts +5 -0
  23. package/dist-lib/numbl-core/helpers/reduction-helpers.d.ts +58 -0
  24. package/dist-lib/numbl-core/helpers/registry.d.ts +7 -0
  25. package/dist-lib/numbl-core/helpers/shape-utils.d.ts +7 -0
  26. package/dist-lib/numbl-core/helpers/sparse-arithmetic.d.ts +16 -0
  27. package/dist-lib/numbl-core/helpers/string.d.ts +5 -0
  28. package/dist-lib/numbl-core/interpreter/builtins/arithmetic.d.ts +4 -0
  29. package/dist-lib/numbl-core/interpreter/builtins/array-construction.d.ts +4 -0
  30. package/dist-lib/numbl-core/interpreter/builtins/array-extras.d.ts +5 -0
  31. package/dist-lib/numbl-core/interpreter/builtins/array-manipulation.d.ts +7 -0
  32. package/dist-lib/numbl-core/interpreter/builtins/cell-struct.d.ts +5 -0
  33. package/dist-lib/numbl-core/interpreter/builtins/complex.d.ts +4 -0
  34. package/dist-lib/numbl-core/interpreter/builtins/dictionary.d.ts +15 -0
  35. package/dist-lib/numbl-core/interpreter/builtins/fft.d.ts +7 -0
  36. package/dist-lib/numbl-core/interpreter/builtins/help-text.d.ts +5 -0
  37. package/dist-lib/numbl-core/interpreter/builtins/index.d.ts +34 -0
  38. package/dist-lib/numbl-core/interpreter/builtins/introspection.d.ts +6 -0
  39. package/dist-lib/numbl-core/interpreter/builtins/linear-algebra.d.ts +9 -0
  40. package/dist-lib/numbl-core/interpreter/builtins/math.d.ts +4 -0
  41. package/dist-lib/numbl-core/interpreter/builtins/misc.d.ts +4 -0
  42. package/dist-lib/numbl-core/interpreter/builtins/numerical.d.ts +10 -0
  43. package/dist-lib/numbl-core/interpreter/builtins/predicates.d.ts +4 -0
  44. package/dist-lib/numbl-core/interpreter/builtins/prng.d.ts +4 -0
  45. package/dist-lib/numbl-core/interpreter/builtins/reductions.d.ts +6 -0
  46. package/dist-lib/numbl-core/interpreter/builtins/set-operations.d.ts +4 -0
  47. package/dist-lib/numbl-core/interpreter/builtins/sparse.d.ts +4 -0
  48. package/dist-lib/numbl-core/interpreter/builtins/special-math.d.ts +4 -0
  49. package/dist-lib/numbl-core/interpreter/builtins/string-extras.d.ts +5 -0
  50. package/dist-lib/numbl-core/interpreter/builtins/strings.d.ts +7 -0
  51. package/dist-lib/numbl-core/interpreter/builtins/time-system.d.ts +5 -0
  52. package/dist-lib/numbl-core/interpreter/builtins/type-constructors.d.ts +5 -0
  53. package/dist-lib/numbl-core/interpreter/builtins/types.d.ts +109 -0
  54. package/dist-lib/numbl-core/interpreter/builtins/utility.d.ts +4 -0
  55. package/dist-lib/numbl-core/interpreter/builtins/validation.d.ts +4 -0
  56. package/dist-lib/numbl-core/interpreter/interpreter.d.ts +146 -0
  57. package/dist-lib/numbl-core/interpreter/interpreterExec.d.ts +51 -0
  58. package/dist-lib/numbl-core/interpreter/interpreterFunctions.d.ts +41 -0
  59. package/dist-lib/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +18 -0
  60. package/dist-lib/numbl-core/interpreter/jit/index.d.ts +7 -0
  61. package/dist-lib/numbl-core/interpreter/jit/jitCodegen.d.ts +5 -0
  62. package/dist-lib/numbl-core/interpreter/jit/jitHelpers.d.ts +5 -0
  63. package/dist-lib/numbl-core/interpreter/jit/jitLoop.d.ts +25 -0
  64. package/dist-lib/numbl-core/interpreter/jit/jitLoopAnalysis.d.ts +25 -0
  65. package/dist-lib/numbl-core/interpreter/jit/jitLower.d.ts +20 -0
  66. package/dist-lib/numbl-core/interpreter/jit/jitTypes.d.ts +168 -0
  67. package/dist-lib/numbl-core/interpreter/types.d.ts +77 -0
  68. package/dist-lib/numbl-core/jsUserFunctions.d.ts +25 -0
  69. package/dist-lib/numbl-core/lexer/helpers.d.ts +15 -0
  70. package/dist-lib/numbl-core/lexer/index.d.ts +4 -0
  71. package/dist-lib/numbl-core/lexer/keywords.d.ts +3 -0
  72. package/dist-lib/numbl-core/lexer/token-config.d.ts +94 -0
  73. package/dist-lib/numbl-core/lexer/tokenizer.d.ts +9 -0
  74. package/dist-lib/numbl-core/lexer/types.d.ts +78 -0
  75. package/dist-lib/numbl-core/lowering/classInfo.d.ts +36 -0
  76. package/dist-lib/numbl-core/lowering/constants.d.ts +4 -0
  77. package/dist-lib/numbl-core/lowering/errors.d.ts +17 -0
  78. package/dist-lib/numbl-core/lowering/index.d.ts +3 -0
  79. package/dist-lib/numbl-core/lowering/itemTypes.d.ts +87 -0
  80. package/dist-lib/numbl-core/lowering/loweringContext.d.ts +206 -0
  81. package/dist-lib/numbl-core/native/bridge-resolve.d.ts +14 -0
  82. package/dist-lib/numbl-core/native/lapack-bridge.d.ts +387 -0
  83. package/dist-lib/numbl-core/native/ts-lapack-bridge.d.ts +9 -0
  84. package/dist-lib/numbl-core/parser/ArgumentsParser.d.ts +28 -0
  85. package/dist-lib/numbl-core/parser/ClassParser.d.ts +18 -0
  86. package/dist-lib/numbl-core/parser/CommandParser.d.ts +31 -0
  87. package/dist-lib/numbl-core/parser/ControlFlowParser.d.ts +16 -0
  88. package/dist-lib/numbl-core/parser/ExpressionParser.d.ts +32 -0
  89. package/dist-lib/numbl-core/parser/FunctionParser.d.ts +10 -0
  90. package/dist-lib/numbl-core/parser/Parser.d.ts +17 -0
  91. package/dist-lib/numbl-core/parser/ParserBase.d.ts +35 -0
  92. package/dist-lib/numbl-core/parser/StatementParser.d.ts +13 -0
  93. package/dist-lib/numbl-core/parser/errors.d.ts +15 -0
  94. package/dist-lib/numbl-core/parser/index.d.ts +7 -0
  95. package/dist-lib/numbl-core/parser/types.d.ts +316 -0
  96. package/dist-lib/numbl-core/runtime/compare.d.ts +5 -0
  97. package/dist-lib/numbl-core/runtime/constructors.d.ts +35 -0
  98. package/dist-lib/numbl-core/runtime/convert.d.ts +10 -0
  99. package/dist-lib/numbl-core/runtime/display.d.ts +6 -0
  100. package/dist-lib/numbl-core/runtime/error.d.ts +73 -0
  101. package/dist-lib/numbl-core/runtime/index.d.ts +12 -0
  102. package/dist-lib/numbl-core/runtime/indexing.d.ts +10 -0
  103. package/dist-lib/numbl-core/runtime/plotUtils.d.ts +215 -0
  104. package/dist-lib/numbl-core/runtime/runtime.d.ts +314 -0
  105. package/dist-lib/numbl-core/runtime/runtimeDispatch.d.ts +27 -0
  106. package/dist-lib/numbl-core/runtime/runtimeHelpers.d.ts +31 -0
  107. package/dist-lib/numbl-core/runtime/runtimeIndexing.d.ts +28 -0
  108. package/dist-lib/numbl-core/runtime/runtimeMemberAccess.d.ts +26 -0
  109. package/dist-lib/numbl-core/runtime/runtimeOperators.d.ts +24 -0
  110. package/dist-lib/numbl-core/runtime/runtimePlot.d.ts +99 -0
  111. package/dist-lib/numbl-core/runtime/sentinels.d.ts +4 -0
  112. package/dist-lib/numbl-core/runtime/specialBuiltinNames.d.ts +2 -0
  113. package/dist-lib/numbl-core/runtime/specialBuiltins.d.ts +13 -0
  114. package/dist-lib/numbl-core/runtime/struct-access.d.ts +6 -0
  115. package/dist-lib/numbl-core/runtime/syncChannel.d.ts +1 -0
  116. package/dist-lib/numbl-core/runtime/tensor-construction.d.ts +10 -0
  117. package/dist-lib/numbl-core/runtime/types.d.ts +110 -0
  118. package/dist-lib/numbl-core/runtime/utils.d.ts +20 -0
  119. package/dist-lib/numbl-core/stdlib-bundle.d.ts +3 -0
  120. package/dist-lib/numbl-core/systemAdapter.d.ts +23 -0
  121. package/dist-lib/numbl-core/version.d.ts +2 -0
  122. package/dist-lib/numbl-core/workspace/index.d.ts +4 -0
  123. package/dist-lib/numbl-core/workspace/types.d.ts +16 -0
  124. package/dist-lib/ts-lapack/src/BLAS/daxpy.d.ts +1 -0
  125. package/dist-lib/ts-lapack/src/BLAS/dcopy.d.ts +1 -0
  126. package/dist-lib/ts-lapack/src/BLAS/ddot.d.ts +1 -0
  127. package/dist-lib/ts-lapack/src/BLAS/dgemm.d.ts +1 -0
  128. package/dist-lib/ts-lapack/src/BLAS/dgemm_optimized.d.ts +1 -0
  129. package/dist-lib/ts-lapack/src/BLAS/dgemv.d.ts +1 -0
  130. package/dist-lib/ts-lapack/src/BLAS/dger.d.ts +1 -0
  131. package/dist-lib/ts-lapack/src/BLAS/dnrm2.d.ts +1 -0
  132. package/dist-lib/ts-lapack/src/BLAS/drot.d.ts +1 -0
  133. package/dist-lib/ts-lapack/src/BLAS/dscal.d.ts +1 -0
  134. package/dist-lib/ts-lapack/src/BLAS/dswap.d.ts +1 -0
  135. package/dist-lib/ts-lapack/src/BLAS/dtrmm.d.ts +1 -0
  136. package/dist-lib/ts-lapack/src/BLAS/dtrmv.d.ts +1 -0
  137. package/dist-lib/ts-lapack/src/BLAS/dtrsm.d.ts +1 -0
  138. package/dist-lib/ts-lapack/src/BLAS/idamax.d.ts +1 -0
  139. package/dist-lib/ts-lapack/src/SRC/dbdsqr.d.ts +10 -0
  140. package/dist-lib/ts-lapack/src/SRC/dgebak.d.ts +1 -0
  141. package/dist-lib/ts-lapack/src/SRC/dgebal.d.ts +5 -0
  142. package/dist-lib/ts-lapack/src/SRC/dgebd2.d.ts +1 -0
  143. package/dist-lib/ts-lapack/src/SRC/dgebrd.d.ts +1 -0
  144. package/dist-lib/ts-lapack/src/SRC/dgeev.d.ts +3 -0
  145. package/dist-lib/ts-lapack/src/SRC/dgehd2.d.ts +1 -0
  146. package/dist-lib/ts-lapack/src/SRC/dgehrd.d.ts +1 -0
  147. package/dist-lib/ts-lapack/src/SRC/dgelq2.d.ts +1 -0
  148. package/dist-lib/ts-lapack/src/SRC/dgelqf.d.ts +1 -0
  149. package/dist-lib/ts-lapack/src/SRC/dgeqr2.d.ts +1 -0
  150. package/dist-lib/ts-lapack/src/SRC/dgeqrf.d.ts +1 -0
  151. package/dist-lib/ts-lapack/src/SRC/dgeqrf_optimized.d.ts +1 -0
  152. package/dist-lib/ts-lapack/src/SRC/dgesvd.d.ts +28 -0
  153. package/dist-lib/ts-lapack/src/SRC/dgetrf.d.ts +1 -0
  154. package/dist-lib/ts-lapack/src/SRC/dgetrf2.d.ts +1 -0
  155. package/dist-lib/ts-lapack/src/SRC/dgetri.d.ts +1 -0
  156. package/dist-lib/ts-lapack/src/SRC/dhseqr.d.ts +32 -0
  157. package/dist-lib/ts-lapack/src/SRC/dlabrd.d.ts +1 -0
  158. package/dist-lib/ts-lapack/src/SRC/dlacpy.d.ts +18 -0
  159. package/dist-lib/ts-lapack/src/SRC/dladiv.d.ts +9 -0
  160. package/dist-lib/ts-lapack/src/SRC/dlaexc.d.ts +21 -0
  161. package/dist-lib/ts-lapack/src/SRC/dlahqr.d.ts +24 -0
  162. package/dist-lib/ts-lapack/src/SRC/dlahr2.d.ts +1 -0
  163. package/dist-lib/ts-lapack/src/SRC/dlaln2.d.ts +5 -0
  164. package/dist-lib/ts-lapack/src/SRC/dlamch.d.ts +1 -0
  165. package/dist-lib/ts-lapack/src/SRC/dlange.d.ts +1 -0
  166. package/dist-lib/ts-lapack/src/SRC/dlanv2.d.ts +12 -0
  167. package/dist-lib/ts-lapack/src/SRC/dlapy2.d.ts +1 -0
  168. package/dist-lib/ts-lapack/src/SRC/dlaqr1.d.ts +1 -0
  169. package/dist-lib/ts-lapack/src/SRC/dlaqr30.d.ts +81 -0
  170. package/dist-lib/ts-lapack/src/SRC/dlaqr5.d.ts +38 -0
  171. package/dist-lib/ts-lapack/src/SRC/dlarf.d.ts +18 -0
  172. package/dist-lib/ts-lapack/src/SRC/dlarf1f.d.ts +1 -0
  173. package/dist-lib/ts-lapack/src/SRC/dlarfb.d.ts +25 -0
  174. package/dist-lib/ts-lapack/src/SRC/dlarfg.d.ts +4 -0
  175. package/dist-lib/ts-lapack/src/SRC/dlarft.d.ts +20 -0
  176. package/dist-lib/ts-lapack/src/SRC/dlarfx.d.ts +17 -0
  177. package/dist-lib/ts-lapack/src/SRC/dlartg.d.ts +5 -0
  178. package/dist-lib/ts-lapack/src/SRC/dlas2.d.ts +4 -0
  179. package/dist-lib/ts-lapack/src/SRC/dlascl.d.ts +1 -0
  180. package/dist-lib/ts-lapack/src/SRC/dlaset.d.ts +19 -0
  181. package/dist-lib/ts-lapack/src/SRC/dlasr.d.ts +1 -0
  182. package/dist-lib/ts-lapack/src/SRC/dlassq.d.ts +18 -0
  183. package/dist-lib/ts-lapack/src/SRC/dlasv2.d.ts +8 -0
  184. package/dist-lib/ts-lapack/src/SRC/dlaswp.d.ts +1 -0
  185. package/dist-lib/ts-lapack/src/SRC/dlasy2.d.ts +5 -0
  186. package/dist-lib/ts-lapack/src/SRC/dorg2r.d.ts +1 -0
  187. package/dist-lib/ts-lapack/src/SRC/dorgbr.d.ts +1 -0
  188. package/dist-lib/ts-lapack/src/SRC/dorghr.d.ts +1 -0
  189. package/dist-lib/ts-lapack/src/SRC/dorgl2.d.ts +1 -0
  190. package/dist-lib/ts-lapack/src/SRC/dorglq.d.ts +1 -0
  191. package/dist-lib/ts-lapack/src/SRC/dorgqr.d.ts +1 -0
  192. package/dist-lib/ts-lapack/src/SRC/dorgqr_optimized.d.ts +1 -0
  193. package/dist-lib/ts-lapack/src/SRC/dorm2r.d.ts +1 -0
  194. package/dist-lib/ts-lapack/src/SRC/dormhr.d.ts +1 -0
  195. package/dist-lib/ts-lapack/src/SRC/dormqr.d.ts +1 -0
  196. package/dist-lib/ts-lapack/src/SRC/dpotf2.d.ts +1 -0
  197. package/dist-lib/ts-lapack/src/SRC/dtrevc3.d.ts +27 -0
  198. package/dist-lib/ts-lapack/src/SRC/dtrexc.d.ts +24 -0
  199. package/dist-lib/ts-lapack/src/SRC/dtrti2.d.ts +1 -0
  200. package/dist-lib/ts-lapack/src/SRC/dtrtri.d.ts +1 -0
  201. package/dist-lib/ts-lapack/src/utils/constants.d.ts +28 -0
  202. package/dist-lib/ts-lapack/src/utils/iladlc.d.ts +1 -0
  203. package/dist-lib/ts-lapack/src/utils/iladlr.d.ts +1 -0
  204. package/dist-lib/ts-lapack/src/utils/ilaenv.d.ts +1 -0
  205. package/dist-lib/ts-lapack/src/utils/xerbla.d.ts +1 -0
  206. package/dist-plot-viewer/assets/index-BjKyNJgj.js +4426 -0
  207. package/dist-plot-viewer/index.html +1 -1
  208. package/package.json +12 -2
  209. package/dist-plot-viewer/assets/index-BMYdzDaW.js +0 -4426
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Plot-related operations for the runtime.
3
+ */
4
+ import { type RuntimeValue } from "../runtime/index.js";
5
+ import type { PlotInstruction } from "../../graphics/types.js";
6
+ import type { ExecOptions } from "../executeCode.js";
7
+ import type { Runtime } from "./runtime.js";
8
+ export declare function plotInstr(plotInstructions: PlotInstruction[], instr: {
9
+ type: "set_figure_handle";
10
+ handle: unknown;
11
+ } | {
12
+ type: "plot";
13
+ x: unknown;
14
+ y: unknown;
15
+ } | {
16
+ type: "set_hold";
17
+ value: unknown;
18
+ } | {
19
+ type: "set_title";
20
+ text: unknown;
21
+ } | {
22
+ type: "set_xlabel";
23
+ text: unknown;
24
+ } | {
25
+ type: "set_ylabel";
26
+ text: unknown;
27
+ } | {
28
+ type: "set_shading";
29
+ shading: unknown;
30
+ } | {
31
+ type: "close";
32
+ } | {
33
+ type: "close_all";
34
+ } | {
35
+ type: "clf";
36
+ } | {
37
+ type: "set_subplot";
38
+ rows: unknown;
39
+ cols: unknown;
40
+ index: unknown;
41
+ } | {
42
+ type: "set_sgtitle";
43
+ text: unknown;
44
+ } | {
45
+ type: "set_grid";
46
+ value: unknown;
47
+ } | {
48
+ type: "set_zlabel";
49
+ text: unknown;
50
+ } | {
51
+ type: "set_colorbar";
52
+ value: unknown;
53
+ } | {
54
+ type: "set_colormap";
55
+ name: unknown;
56
+ } | {
57
+ type: "set_axis";
58
+ value: unknown;
59
+ }): void;
60
+ export declare function viewCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
61
+ export declare function plotCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
62
+ export declare function plot3Call(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
63
+ export declare function surfCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
64
+ export declare function imagescCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
65
+ export declare function contourCall(plotInstructions: PlotInstruction[], args: RuntimeValue[], filled: boolean): void;
66
+ export declare function meshCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
67
+ export declare function scatterCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
68
+ export declare function barCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
69
+ export declare function barhCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
70
+ export declare function bar3Call(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
71
+ export declare function bar3hCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
72
+ export declare function stairsCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
73
+ export declare function errorbarCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
74
+ export declare function semilogxCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
75
+ export declare function semilogyCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
76
+ export declare function areaCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
77
+ export declare function loglogCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
78
+ /**
79
+ * fplot(f), fplot(f, xinterval), fplot(funx, funy),
80
+ * fplot(funx, funy, tinterval), fplot(..., LineSpec)
81
+ */
82
+ export declare function fplotCall(rt: Runtime, plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
83
+ /**
84
+ * fplot3(funx, funy, funz), fplot3(funx, funy, funz, tinterval),
85
+ * fplot3(..., LineSpec)
86
+ */
87
+ export declare function fplot3Call(rt: Runtime, plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
88
+ export declare function scatter3Call(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
89
+ export declare function histogramCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
90
+ export declare function histogram2Call(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
91
+ export declare function boxchartCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
92
+ export declare function swarmchartCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
93
+ export declare function swarmchart3Call(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
94
+ export declare function piechartCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
95
+ export declare function donutchartCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
96
+ export declare function heatmapCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
97
+ export declare function legendCall(plotInstructions: PlotInstruction[], args: RuntimeValue[]): void;
98
+ export declare function drawnow(plotInstructions: PlotInstruction[], options: ExecOptions): void;
99
+ export declare function pause(seconds: unknown): void;
@@ -0,0 +1,4 @@
1
+ /** Sentinel value representing the colon operator (:) in indexing. */
2
+ export declare const COLON_SENTINEL: unique symbol;
3
+ /** Sentinel value representing the `end` keyword in indexing. */
4
+ export declare const END_SENTINEL: unique symbol;
@@ -0,0 +1,2 @@
1
+ /** Names of all special builtins. Standalone module to avoid circular imports. */
2
+ export declare const SPECIAL_BUILTIN_NAMES: readonly string[];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Special builtin functions that require direct runtime access.
3
+ *
4
+ * These builtins are registered as IBuiltins (via registerDynamicIBuiltin)
5
+ * that close over the Runtime instance, unifying them with the standard
6
+ * IBuiltin dispatch path.
7
+ */
8
+ import type { Runtime } from "./runtime.js";
9
+ export { SPECIAL_BUILTIN_NAMES } from "./specialBuiltinNames.js";
10
+ /**
11
+ * Register all special builtins as IBuiltins closing over the runtime instance.
12
+ */
13
+ export declare function registerSpecialBuiltins(rt: Runtime): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Struct and class instance field access.
3
+ */
4
+ import { type RuntimeValue } from "./types.js";
5
+ export declare function getRTValueField(base: RuntimeValue, field: string): RuntimeValue;
6
+ export declare function setRTValueField(base: RuntimeValue, field: string, value: RuntimeValue): RuntimeValue;
@@ -0,0 +1 @@
1
+ export declare function syncSleep(ms: number): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Range creation and tensor concatenation.
3
+ */
4
+ import { type RuntimeValue, type RuntimeTensor } from "./types.js";
5
+ /** Create a range start:end or start:step:end */
6
+ export declare function makeRangeTensor(start: number, step: number, end: number): RuntimeTensor;
7
+ /** Horizontal concatenation [A, B] */
8
+ export declare function horzcat(...values: RuntimeValue[]): RuntimeValue;
9
+ /** Vertical concatenation [A; B] */
10
+ export declare function vertcat(...values: RuntimeValue[]): RuntimeValue;
@@ -0,0 +1,110 @@
1
+ export declare const USE_FLOAT32: boolean;
2
+ export declare const FloatXArray: Float32ArrayConstructor | Float64ArrayConstructor;
3
+ export type FloatXArrayType = Float32Array | Float64Array;
4
+ export type RuntimeValue = number | boolean | string | RuntimeTensor | RuntimeChar | RuntimeCell | RuntimeStruct | RuntimeFunction | RuntimeClassInstance | RuntimeComplexNumber | RuntimeDummyHandle | RuntimeStructArray | RuntimeSparseMatrix | RuntimeDictionary;
5
+ export type RuntimeNumber = number;
6
+ export type RuntimeLogical = boolean;
7
+ export type RuntimeString = string;
8
+ export declare const isRuntimeNumber: (value: RuntimeValue) => value is RuntimeNumber;
9
+ export declare const isRuntimeLogical: (value: RuntimeValue) => value is RuntimeLogical;
10
+ export declare const isRuntimeString: (value: RuntimeValue) => value is RuntimeString;
11
+ export declare const isRuntimeChar: (value: RuntimeValue) => value is RuntimeChar;
12
+ export declare const isRuntimeTensor: (value: RuntimeValue) => value is RuntimeTensor;
13
+ export declare const isRuntimeCell: (value: RuntimeValue) => value is RuntimeCell;
14
+ export declare const isRuntimeStruct: (value: RuntimeValue) => value is RuntimeStruct;
15
+ export declare const isRuntimeFunction: (value: RuntimeValue) => value is RuntimeFunction;
16
+ export declare const isRuntimeClassInstance: (value: RuntimeValue) => value is RuntimeClassInstance;
17
+ export declare const isRuntimeComplexNumber: (value: RuntimeValue) => value is RuntimeComplexNumber;
18
+ export declare const isRuntimeDummyHandle: (value: RuntimeValue) => value is RuntimeDummyHandle;
19
+ export declare const isRuntimeStructArray: (value: RuntimeValue) => value is RuntimeStructArray;
20
+ export declare const isRuntimeSparseMatrix: (value: RuntimeValue) => value is RuntimeSparseMatrix;
21
+ export declare const isRuntimeDictionary: (value: RuntimeValue) => value is RuntimeDictionary;
22
+ export declare const kstr: (value: RuntimeValue) => string;
23
+ export type RuntimeTensor = {
24
+ kind: "tensor";
25
+ data: FloatXArrayType;
26
+ imag?: FloatXArrayType;
27
+ shape: number[];
28
+ /** When true, this tensor represents a logical (boolean) array from comparisons/logical ops. */
29
+ _isLogical?: boolean;
30
+ /** Reference count for copy-on-write. When > 1, data is shared and must be copied before mutation. */
31
+ _rc: number;
32
+ };
33
+ export type RuntimeChar = {
34
+ kind: "char";
35
+ value: string;
36
+ /** Optional shape for multi-row char arrays. If absent, shape is [1, value.length].
37
+ * For multi-row arrays, value contains all rows concatenated (each row is shape[1] chars). */
38
+ shape?: number[];
39
+ };
40
+ export type RuntimeCell = {
41
+ kind: "cell";
42
+ data: RuntimeValue[];
43
+ shape: number[];
44
+ /** Reference count for copy-on-write. When > 1, data is shared and must be copied before mutation. */
45
+ _rc: number;
46
+ };
47
+ export type RuntimeStruct = {
48
+ kind: "struct";
49
+ fields: Map<string, RuntimeValue>;
50
+ };
51
+ export type RuntimeFunction = {
52
+ kind: "function";
53
+ name: string;
54
+ /** For closures: captured variables */
55
+ captures: RuntimeValue[];
56
+ /** The underlying callable — either a builtin or user-defined function name */
57
+ impl: "builtin" | "user";
58
+ /** For anonymous functions and user function handles: the underlying JS closure */
59
+ jsFn?: (...args: unknown[]) => unknown;
60
+ /** When true, jsFn expects nargout as its first argument */
61
+ jsFnExpectsNargout?: boolean;
62
+ /** Number of input parameters (for nargin(handle)) */
63
+ nargin?: number;
64
+ };
65
+ export type RuntimeClassInstance = {
66
+ kind: "class_instance";
67
+ className: string;
68
+ fields: Map<string, RuntimeValue>;
69
+ /** True if this class inherits from handle (reference semantics). */
70
+ isHandleClass: boolean;
71
+ /** For classes that inherit from built-in types (e.g. classdef Foo < double),
72
+ * stores the underlying built-in data. */
73
+ _builtinData?: RuntimeValue;
74
+ };
75
+ export type RuntimeComplexNumber = {
76
+ kind: "complex_number";
77
+ re: number;
78
+ im: number;
79
+ };
80
+ export type RuntimeDummyHandle = {
81
+ kind: "dummy_handle";
82
+ };
83
+ /** A 1-D array of structs that all share the same field names. **/
84
+ export type RuntimeStructArray = {
85
+ kind: "struct_array";
86
+ fieldNames: string[];
87
+ elements: RuntimeStruct[];
88
+ };
89
+ /** Sparse matrix in CSC (Compressed Sparse Column) format, matching MATLAB's internal representation. */
90
+ export type RuntimeSparseMatrix = {
91
+ kind: "sparse_matrix";
92
+ m: number;
93
+ n: number;
94
+ ir: Int32Array;
95
+ jc: Int32Array;
96
+ pr: Float64Array;
97
+ pi?: Float64Array;
98
+ _rc: number;
99
+ };
100
+ /** Dictionary mapping unique keys to values (MATLAB R2022b+). */
101
+ export type RuntimeDictionary = {
102
+ kind: "dictionary";
103
+ /** Entries keyed by a hash string of the RuntimeValue key, preserving insertion order. */
104
+ entries: Map<string, {
105
+ key: RuntimeValue;
106
+ value: RuntimeValue;
107
+ }>;
108
+ keyType?: string;
109
+ valueType?: string;
110
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tensor shape/indexing utilities and copy-on-write helpers.
3
+ */
4
+ import { type RuntimeValue, type RuntimeTensor } from "./types.js";
5
+ /** Get 2D size (rows, cols) from shape, padding with 1s as needed */
6
+ export declare function tensorSize2D(t: RuntimeTensor): [number, number];
7
+ /** Compute total number of elements from shape */
8
+ export declare function numel(shape: number[]): number;
9
+ /** Column-major index for 2D: element at (row, col) in a matrix with `rows` rows */
10
+ export declare function colMajorIndex(row: number, col: number, rows: number): number;
11
+ /** Convert linear index to subscripts (column-major) */
12
+ export declare function ind2sub(shape: number[], idx: number): number[];
13
+ /** Convert subscripts to linear index (column-major) */
14
+ export declare function sub2ind(shape: number[], subs: number[]): number;
15
+ /**
16
+ * Share an RuntimeValue for assignment (COW): increments refcount on tensors/cells
17
+ * so that mIndexStore knows to copy before mutating.
18
+ * Returns a new wrapper object that shares the same underlying data.
19
+ */
20
+ export declare function shareRuntimeValue(v: RuntimeValue): RuntimeValue;
@@ -0,0 +1,3 @@
1
+ import type { WorkspaceFile } from "./workspace/types.js";
2
+ export declare const stdlibFiles: WorkspaceFile[];
3
+ export declare const shimFiles: WorkspaceFile[];
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Platform-agnostic system adapter.
3
+ *
4
+ * numbl-core defines this interface but never imports Node.js process.
5
+ * Concrete implementations are injected from the host environment
6
+ * via ExecOptions.system.
7
+ */
8
+ export interface SystemAdapter {
9
+ /** Get a single env var value, or undefined if not set. */
10
+ getEnv(name: string): string | undefined;
11
+ /** Get all env vars as key-value pairs. */
12
+ getAllEnv(): Record<string, string>;
13
+ /** Set an env var. */
14
+ setEnv(name: string, value: string): void;
15
+ /** Return the current working directory. */
16
+ cwd(): string;
17
+ /** Change the current working directory. Throws on failure. */
18
+ chdir(dir: string): void;
19
+ /** Return the platform string (e.g. "linux", "darwin", "win32"). */
20
+ platform(): string;
21
+ /** Return the CPU architecture string (e.g. "x64", "arm64"). */
22
+ arch(): string;
23
+ }
@@ -0,0 +1,2 @@
1
+ /** Numbl version, used for JIT disk cache invalidation. */
2
+ export declare const NUMBL_VERSION = "0.1.2";
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Workspace — multi-file support for cross-file function calls.
3
+ */
4
+ export type { WorkspaceFile, NativeBridge } from "./types.js";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Type definitions for workspace multi-file support.
3
+ */
4
+ export interface WorkspaceFile {
5
+ name: string;
6
+ source: string;
7
+ data?: Uint8Array;
8
+ }
9
+ /**
10
+ * Bridge for loading native shared libraries (.so/.dll/.dylib).
11
+ * Implemented outside numbl-core (e.g. via koffi in the CLI) since
12
+ * native FFI is not available in browser environments.
13
+ */
14
+ export interface NativeBridge {
15
+ load(libraryPath: string): unknown;
16
+ }
@@ -0,0 +1 @@
1
+ export declare function daxpy(n: number, da: number, dx: Float64Array, dxOff: number, incx: number, dy: Float64Array, dyOff: number, incy: number): void;
@@ -0,0 +1 @@
1
+ export declare function dcopy(n: number, dx: Float64Array, dxOff: number, incx: number, dy: Float64Array, dyOff: number, incy: number): void;
@@ -0,0 +1 @@
1
+ export declare function ddot(n: number, dx: Float64Array, dxOff: number, incx: number, dy: Float64Array, dyOff: number, incy: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgemm(transa: number, transb: number, m: number, n: number, k: number, alpha: number, a: Float64Array, aOff: number, lda: number, b: Float64Array, bOff: number, ldb: number, beta: number, c: Float64Array, cOff: number, ldc: number): void;
@@ -0,0 +1 @@
1
+ export declare function dgemm_optimized(transa: number, transb: number, m: number, n: number, k: number, alpha: number, a: Float64Array, aOff: number, lda: number, b: Float64Array, bOff: number, ldb: number, beta: number, c: Float64Array, cOff: number, ldc: number): void;
@@ -0,0 +1 @@
1
+ export declare function dgemv(trans: number, m: number, n: number, alpha: number, a: Float64Array, aOff: number, lda: number, x: Float64Array, xOff: number, incx: number, beta: number, y: Float64Array, yOff: number, incy: number): void;
@@ -0,0 +1 @@
1
+ export declare function dger(m: number, n: number, alpha: number, x: Float64Array, xOff: number, incx: number, y: Float64Array, yOff: number, incy: number, a: Float64Array, aOff: number, lda: number): void;
@@ -0,0 +1 @@
1
+ export declare function dnrm2(n: number, x: Float64Array, xOff: number, incx: number): number;
@@ -0,0 +1 @@
1
+ export declare function drot(n: number, dx: Float64Array, dxOff: number, incx: number, dy: Float64Array, dyOff: number, incy: number, c: number, s: number): void;
@@ -0,0 +1 @@
1
+ export declare function dscal(n: number, da: number, dx: Float64Array, dxOff: number, incx: number): void;
@@ -0,0 +1 @@
1
+ export declare function dswap(n: number, dx: Float64Array, dxOff: number, incx: number, dy: Float64Array, dyOff: number, incy: number): void;
@@ -0,0 +1 @@
1
+ export declare function dtrmm(side: number, uplo: number, transa: number, diag: number, m: number, n: number, alpha: number, a: Float64Array, aOff: number, lda: number, b: Float64Array, bOff: number, ldb: number): void;
@@ -0,0 +1 @@
1
+ export declare function dtrmv(uplo: number, trans: number, diag: number, n: number, a: Float64Array, aOff: number, lda: number, x: Float64Array, xOff: number, incx: number): void;
@@ -0,0 +1 @@
1
+ export declare function dtrsm(side: number, uplo: number, transa: number, diag: number, m: number, n: number, alpha: number, a: Float64Array, aOff: number, lda: number, b: Float64Array, bOff: number, ldb: number): void;
@@ -0,0 +1 @@
1
+ export declare function idamax(n: number, dx: Float64Array, dxOff: number, incx: number): number;
@@ -0,0 +1,10 @@
1
+ export declare function dbdsqr(uplo: number, // UPPER=0 or LOWER=1
2
+ n: number, ncvt: number, // number of columns of VT
3
+ nru: number, // number of rows of U
4
+ ncc: number, // number of columns of C
5
+ d: Float64Array, dOff: number, // diagonal (length n)
6
+ e: Float64Array, eOff: number, // off-diagonal (length n-1)
7
+ vt: Float64Array, vtOff: number, ldvt: number, // right singular vectors
8
+ u: Float64Array, uOff: number, ldu: number, // left singular vectors
9
+ c: Float64Array, cOff: number, ldc: number, // additional matrix
10
+ work: Float64Array, workOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgebak(job: number, side: number, n: number, ilo: number, ihi: number, scale: Float64Array, scaleOff: number, m: number, v: Float64Array, vOff: number, ldv: number): number;
@@ -0,0 +1,5 @@
1
+ export declare function dgebal(job: number, n: number, a: Float64Array, aOff: number, lda: number, scale: Float64Array, scaleOff: number): {
2
+ ilo: number;
3
+ ihi: number;
4
+ info: number;
5
+ };
@@ -0,0 +1 @@
1
+ export declare function dgebd2(m: number, n: number, a: Float64Array, aOff: number, lda: number, d: Float64Array, dOff: number, e: Float64Array, eOff: number, tauq: Float64Array, tauqOff: number, taup: Float64Array, taupOff: number, work: Float64Array, workOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgebrd(m: number, n: number, a: Float64Array, aOff: number, lda: number, d: Float64Array, dOff: number, e: Float64Array, eOff: number, tauq: Float64Array, tauqOff: number, taup: Float64Array, taupOff: number, work: Float64Array, workOff: number, lwork: number): number;
@@ -0,0 +1,3 @@
1
+ export declare function dgeev(jobvl: number, // 0='N', 1='V'
2
+ jobvr: number, // 0='N', 1='V'
3
+ n: number, a: Float64Array, aOff: number, lda: number, wr: Float64Array, wrOff: number, wi: Float64Array, wiOff: number, vl: Float64Array, vlOff: number, ldvl: number, vr: Float64Array, vrOff: number, ldvr: number, work: Float64Array, workOff: number, lwork: number, balance?: boolean): number;
@@ -0,0 +1 @@
1
+ export declare function dgehd2(n: number, ilo: number, ihi: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number, work: Float64Array, workOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgehrd(n: number, ilo: number, ihi: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number, work: Float64Array, workOff: number, lwork: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgelq2(m: number, n: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number, work: Float64Array, workOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgelqf(m: number, n: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number, work: Float64Array, workOff: number, lwork: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgeqr2(m: number, n: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number, work: Float64Array, workOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgeqrf(m: number, n: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgeqrf_optimized(m: number, n: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number): number;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * DGESVD computes the singular value decomposition (SVD) of a real
3
+ * M-by-N matrix A, optionally computing the left and/or right singular
4
+ * vectors.
5
+ *
6
+ * @param jobu - 0='A' all M columns of U, 1='S' first min(m,n) columns,
7
+ * 2='O' overwrite A, 3='N' no left vectors
8
+ * @param jobvt - 0='A' all N rows of V**T, 1='S' first min(m,n) rows,
9
+ * 2='O' overwrite A, 3='N' no right vectors
10
+ * @param m - Number of rows of A (>= 0)
11
+ * @param n - Number of columns of A (>= 0)
12
+ * @param a - Matrix A, dimension (lda, n), modified on exit
13
+ * @param aOff - Offset into a
14
+ * @param lda - Leading dimension of a (>= max(1, m))
15
+ * @param s - Singular values, dimension min(m,n), descending order
16
+ * @param sOff - Offset into s
17
+ * @param u - Left singular vectors, dimension (ldu, ucol)
18
+ * @param uOff - Offset into u
19
+ * @param ldu - Leading dimension of u
20
+ * @param vt - Right singular vectors, dimension (ldvt, n)
21
+ * @param vtOff - Offset into vt
22
+ * @param ldvt - Leading dimension of vt
23
+ * @param work - Workspace array
24
+ * @param workOff - Offset into work
25
+ * @param lwork - Workspace size; -1 for query
26
+ * @returns info: 0 success, <0 illegal arg, >0 DBDSQR did not converge
27
+ */
28
+ export declare function dgesvd(jobu: number, jobvt: number, m: number, n: number, a: Float64Array, aOff: number, lda: number, s: Float64Array, sOff: number, u: Float64Array, uOff: number, ldu: number, vt: Float64Array, vtOff: number, ldvt: number, work: Float64Array, workOff: number, lwork: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgetrf(m: number, n: number, a: Float64Array, lda: number, ipiv: Int32Array): number;
@@ -0,0 +1 @@
1
+ export declare function dgetrf2(m: number, n: number, a: Float64Array, aOff: number, lda: number, ipiv: Int32Array, ipivOff: number): number;
@@ -0,0 +1 @@
1
+ export declare function dgetri(n: number, a: Float64Array, lda: number, ipiv: Int32Array): number;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * DHSEQR computes the eigenvalues of a Hessenberg matrix H and,
3
+ * optionally, the matrices T and Z from the Schur decomposition
4
+ * H = Z T Z**T, where T is an upper quasi-triangular matrix (the
5
+ * Schur form), and Z is the orthogonal matrix of Schur vectors.
6
+ *
7
+ * Optionally Z may be postmultiplied into an input orthogonal
8
+ * matrix Q so that this routine can give the Schur factorization
9
+ * of a matrix A which has been reduced to the Hessenberg form H
10
+ * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T.
11
+ *
12
+ * @param job - 0='E' (eigenvalues only), 1='S' (Schur form)
13
+ * @param compz - 0='N' (no Schur vectors), 1='I' (initialize Z to identity), 2='V' (input Z given)
14
+ * @param n - order of the matrix H (>= 0)
15
+ * @param ilo - 1-based lower index of balanced submatrix
16
+ * @param ihi - 1-based upper index of balanced submatrix
17
+ * @param h - Hessenberg matrix, dimension (ldh, n)
18
+ * @param hOff - offset into h
19
+ * @param ldh - leading dimension of h
20
+ * @param wr - real parts of eigenvalues, dimension (n)
21
+ * @param wrOff - offset into wr
22
+ * @param wi - imaginary parts of eigenvalues, dimension (n)
23
+ * @param wiOff - offset into wi
24
+ * @param z - Schur vectors matrix, dimension (ldz, n)
25
+ * @param zOff - offset into z
26
+ * @param ldz - leading dimension of z
27
+ * @param work - workspace array, dimension (lwork)
28
+ * @param workOff - offset into work
29
+ * @param lwork - dimension of workspace (-1 for workspace query)
30
+ * @returns INFO: 0 = success, < 0 = invalid argument, > 0 = convergence failure
31
+ */
32
+ export declare function dhseqr(job: number, compz: number, n: number, ilo: number, ihi: number, h: Float64Array, hOff: number, ldh: number, wr: Float64Array, wrOff: number, wi: Float64Array, wiOff: number, z: Float64Array, zOff: number, ldz: number, work: Float64Array, workOff: number, lwork: number): number;
@@ -0,0 +1 @@
1
+ export declare function dlabrd(m: number, n: number, nb: number, a: Float64Array, aOff: number, lda: number, d: Float64Array, dOff: number, e: Float64Array, eOff: number, tauq: Float64Array, tauqOff: number, taup: Float64Array, taupOff: number, x: Float64Array, xOff: number, ldx: number, y: Float64Array, yOff: number, ldy: number): void;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * DLACPY copies all or part of a two-dimensional matrix A to another
3
+ * matrix B.
4
+ *
5
+ * @param uplo - Specifies the part of matrix A to copy:
6
+ * UPPER (0) = copy upper triangular part,
7
+ * LOWER (1) = copy lower triangular part,
8
+ * anything else = copy the entire matrix.
9
+ * @param m - Number of rows of the matrix A. m >= 0.
10
+ * @param n - Number of columns of the matrix A. n >= 0.
11
+ * @param a - Source matrix, dimension (lda, n).
12
+ * @param aOff - Offset into array a.
13
+ * @param lda - Leading dimension of a. lda >= max(1, m).
14
+ * @param b - Destination matrix, dimension (ldb, n).
15
+ * @param bOff - Offset into array b.
16
+ * @param ldb - Leading dimension of b. ldb >= max(1, m).
17
+ */
18
+ export declare function dlacpy(uplo: number, m: number, n: number, a: Float64Array, aOff: number, lda: number, b: Float64Array, bOff: number, ldb: number): void;
@@ -0,0 +1,9 @@
1
+ export declare function dladiv(a: number, b: number, c: number, d: number): {
2
+ p: number;
3
+ q: number;
4
+ };
5
+ export declare function dladiv1(a: number, b: number, c: number, d: number): {
6
+ p: number;
7
+ q: number;
8
+ };
9
+ export declare function dladiv2(a: number, b: number, c: number, d: number, r: number, t: number): number;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * DLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in
3
+ * an upper quasi-triangular matrix T by an orthogonal similarity
4
+ * transformation.
5
+ *
6
+ * @param wantq - true: accumulate transformation in Q; false: do not
7
+ * @param n - order of the matrix T (>= 0)
8
+ * @param t - upper quasi-triangular matrix, dimension (ldt, n)
9
+ * @param tOff - offset into t
10
+ * @param ldt - leading dimension of t
11
+ * @param q - orthogonal matrix, dimension (ldq, n), updated if wantq
12
+ * @param qOff - offset into q
13
+ * @param ldq - leading dimension of q
14
+ * @param j1 - index of the first row of the first block T11 (1-based)
15
+ * @param n1 - order of the first block T11 (0, 1, or 2)
16
+ * @param n2 - order of the second block T22 (0, 1, or 2)
17
+ * @param work - workspace, dimension (n)
18
+ * @param workOff - offset into work
19
+ * @returns INFO: 0 = success, 1 = swap rejected (ill-conditioned)
20
+ */
21
+ export declare function dlaexc(wantq: boolean, n: number, t: Float64Array, tOff: number, ldt: number, q: Float64Array, qOff: number, ldq: number, j1: number, n1: number, n2: number, work: Float64Array, workOff: number): number;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * DLAHQR computes the eigenvalues and optionally the Schur factorization
3
+ * of an upper Hessenberg matrix H.
4
+ *
5
+ * @param wantt - true: compute full Schur form T; false: only eigenvalues
6
+ * @param wantz - true: accumulate transformations into Z; false: no Z update
7
+ * @param n - order of the matrix H (>= 0)
8
+ * @param ilo - 1-based index, first row/col of active block
9
+ * @param ihi - 1-based index, last row/col of active block
10
+ * @param h - Hessenberg matrix, dimension (ldh, n)
11
+ * @param hOff - offset into h
12
+ * @param ldh - leading dimension of h
13
+ * @param wr - real parts of eigenvalues, dimension (n)
14
+ * @param wrOff - offset into wr
15
+ * @param wi - imaginary parts of eigenvalues, dimension (n)
16
+ * @param wiOff - offset into wi
17
+ * @param iloz - first row of Z to which transformations apply (1-based)
18
+ * @param ihiz - last row of Z to which transformations apply (1-based)
19
+ * @param z - Schur vectors matrix, dimension (ldz, n)
20
+ * @param zOff - offset into z
21
+ * @param ldz - leading dimension of z
22
+ * @returns INFO: 0 = success, > 0 = convergence failure at index
23
+ */
24
+ export declare function dlahqr(wantt: boolean, wantz: boolean, n: number, ilo: number, ihi: number, h: Float64Array, hOff: number, ldh: number, wr: Float64Array, wrOff: number, wi: Float64Array, wiOff: number, iloz: number, ihiz: number, z: Float64Array, zOff: number, ldz: number): number;
@@ -0,0 +1 @@
1
+ export declare function dlahr2(n: number, k: number, nb: number, a: Float64Array, aOff: number, lda: number, tau: Float64Array, tauOff: number, t: Float64Array, tOff: number, ldt: number, y: Float64Array, yOff: number, ldy: number): void;
@@ -0,0 +1,5 @@
1
+ export declare function dlaln2(ltrans: boolean, na: number, nw: number, smin: number, ca: number, a: Float64Array, aOff: number, lda: number, d1: number, d2: number, b: Float64Array, bOff: number, ldb: number, wr: number, wi: number, x: Float64Array, xOff: number, ldx: number): {
2
+ scale: number;
3
+ xnorm: number;
4
+ info: number;
5
+ };
@@ -0,0 +1 @@
1
+ export declare function dlamch(cmach: number): number;
@@ -0,0 +1 @@
1
+ export declare function dlange(norm: number, m: number, n: number, a: Float64Array, aOff: number, lda: number, work: Float64Array, workOff: number): number;