numbl 0.3.0 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/binding.gyp +16 -33
  2. package/dist-cli/cli.js +20535 -25629
  3. package/dist-lib/graphics/types.d.ts +22 -0
  4. package/dist-lib/lib.d.ts +1 -0
  5. package/dist-lib/lib.js +59075 -63895
  6. package/dist-lib/numbl-core/executeCode.d.ts +11 -14
  7. package/dist-lib/numbl-core/executors/cJit/builtins.d.ts +30 -0
  8. package/dist-lib/numbl-core/executors/cJit/chainCodegen.d.ts +59 -0
  9. package/dist-lib/numbl-core/executors/cJit/chainExecutor.d.ts +27 -0
  10. package/dist-lib/numbl-core/executors/cJit/chainPass.d.ts +42 -0
  11. package/dist-lib/numbl-core/executors/cJit/codegen.d.ts +44 -0
  12. package/dist-lib/numbl-core/executors/cJit/compile.d.ts +45 -0
  13. package/dist-lib/numbl-core/executors/cJit/elemwiseCodegen.d.ts +23 -0
  14. package/dist-lib/numbl-core/executors/cJit/elemwiseStructural.d.ts +33 -0
  15. package/dist-lib/numbl-core/executors/cJit/fuseAnalyze.d.ts +39 -0
  16. package/dist-lib/numbl-core/executors/cJit/fuseCodegen.d.ts +16 -0
  17. package/dist-lib/numbl-core/executors/cJit/fuseExecutor.d.ts +28 -0
  18. package/dist-lib/numbl-core/executors/cJit/loopExecutor.d.ts +32 -0
  19. package/dist-lib/numbl-core/executors/cJit/register.d.ts +10 -0
  20. package/dist-lib/numbl-core/executors/cJit/whitelist.d.ts +15 -0
  21. package/dist-lib/numbl-core/executors/cache.d.ts +26 -0
  22. package/dist-lib/numbl-core/executors/context.d.ts +76 -0
  23. package/dist-lib/numbl-core/executors/index.d.ts +17 -0
  24. package/dist-lib/numbl-core/executors/jsJit/callExecutor.d.ts +25 -0
  25. package/dist-lib/numbl-core/{jit/js → executors/jsJit/codegen}/jitCodegen.d.ts +2 -2
  26. package/dist-lib/numbl-core/{jit/js → executors/jsJit/codegen}/jitCodegenHoist.d.ts +1 -1
  27. package/dist-lib/numbl-core/{jit/js → executors/jsJit/codegen}/jsMultiReduction.d.ts +10 -13
  28. package/dist-lib/numbl-core/executors/jsJit/helpers/alloc.d.ts +12 -0
  29. package/dist-lib/numbl-core/{jit/js → executors/jsJit/helpers}/jitHelpers.d.ts +2 -2
  30. package/dist-lib/numbl-core/{jit/js → executors/jsJit/helpers}/jitHelpersComplex.d.ts +1 -1
  31. package/dist-lib/numbl-core/executors/jsJit/helpers/jitHelpersIndex.d.ts +33 -0
  32. package/dist-lib/numbl-core/{jit/js → executors/jsJit/helpers}/jitHelpersTensor.d.ts +7 -7
  33. package/dist-lib/numbl-core/executors/jsJit/jitCall.d.ts +59 -0
  34. package/dist-lib/numbl-core/executors/jsJit/jitLoop.d.ts +53 -0
  35. package/dist-lib/numbl-core/executors/jsJit/jitTopLevel.d.ts +44 -0
  36. package/dist-lib/numbl-core/executors/jsJit/loopExecutor.d.ts +15 -0
  37. package/dist-lib/numbl-core/{jit/jitLoopAnalysis.d.ts → executors/jsJit/lower/blockAnalysis.d.ts} +5 -5
  38. package/dist-lib/numbl-core/{jit → executors/jsJit/lower}/jitBailSafety.d.ts +1 -1
  39. package/dist-lib/numbl-core/{jit → executors/jsJit/lower}/jitLower.d.ts +18 -4
  40. package/dist-lib/numbl-core/{jit → executors/jsJit/lower}/jitLowerExpr.d.ts +11 -2
  41. package/dist-lib/numbl-core/{jit → executors/jsJit/lower}/jitLowerStmt.d.ts +2 -2
  42. package/dist-lib/numbl-core/{jit → executors/jsJit/lower}/jitLowerTypes.d.ts +2 -2
  43. package/dist-lib/numbl-core/{jit → executors/jsJit/lower}/scalarEmit.d.ts +2 -2
  44. package/dist-lib/numbl-core/executors/jsJit/shared.d.ts +120 -0
  45. package/dist-lib/numbl-core/executors/jsJit/topLevelExecutor.d.ts +17 -0
  46. package/dist-lib/numbl-core/executors/lowering.d.ts +166 -0
  47. package/dist-lib/numbl-core/executors/plugins.d.ts +39 -0
  48. package/dist-lib/numbl-core/executors/registry.d.ts +148 -0
  49. package/dist-lib/numbl-core/executors/types.d.ts +103 -0
  50. package/dist-lib/numbl-core/functionResolve.d.ts +7 -0
  51. package/dist-lib/numbl-core/helpers/check-helpers.d.ts +4 -5
  52. package/dist-lib/numbl-core/helpers/linsolve.d.ts +2 -3
  53. package/dist-lib/numbl-core/helpers/prng.d.ts +1 -2
  54. package/dist-lib/numbl-core/interpreter/builtins/datetime.d.ts +2 -1
  55. package/dist-lib/numbl-core/interpreter/builtins/misc.d.ts +4 -1
  56. package/dist-lib/numbl-core/interpreter/builtins/types.d.ts +4 -91
  57. package/dist-lib/numbl-core/interpreter/interpreter.d.ts +33 -47
  58. package/dist-lib/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +6 -3
  59. package/dist-lib/numbl-core/interpreter/types.d.ts +27 -12
  60. package/dist-lib/numbl-core/{jit/jitTypes.d.ts → jitTypes.d.ts} +15 -1
  61. package/dist-lib/numbl-core/jsUserFunctions.d.ts +8 -0
  62. package/dist-lib/numbl-core/lowering/loweringContext.d.ts +24 -0
  63. package/dist-lib/numbl-core/native/lapack-bridge.d.ts +3 -3
  64. package/dist-lib/numbl-core/parser/types.d.ts +20 -0
  65. package/dist-lib/numbl-core/runtime/constructors.d.ts +6 -6
  66. package/dist-lib/numbl-core/runtime/cow.d.ts +33 -0
  67. package/dist-lib/numbl-core/runtime/index.d.ts +3 -2
  68. package/dist-lib/numbl-core/runtime/indexing.d.ts +6 -1
  69. package/dist-lib/numbl-core/runtime/plotBuiltinDispatch.d.ts +86 -0
  70. package/dist-lib/numbl-core/runtime/plotUtils.d.ts +17 -2
  71. package/dist-lib/numbl-core/runtime/refcount.d.ts +85 -0
  72. package/dist-lib/numbl-core/runtime/runtime.d.ts +27 -66
  73. package/dist-lib/numbl-core/runtime/runtimeDispatch.d.ts +2 -2
  74. package/dist-lib/numbl-core/runtime/runtimeIndexing.d.ts +2 -2
  75. package/dist-lib/numbl-core/runtime/runtimeMemberAccess.d.ts +1 -1
  76. package/dist-lib/numbl-core/runtime/runtimePlot.d.ts +1 -0
  77. package/dist-lib/numbl-core/runtime/struct-access.d.ts +2 -1
  78. package/dist-lib/numbl-core/runtime/types.d.ts +104 -62
  79. package/dist-lib/numbl-core/runtime/utils.d.ts +2 -8
  80. package/dist-lib/numbl-core/version.d.ts +1 -1
  81. package/dist-plot-viewer/assets/index-COAM8o1E.js +4426 -0
  82. package/dist-plot-viewer/index.html +1 -1
  83. package/native/lapack_linsolve.cpp +1 -1
  84. package/native/numbl_addon_common.h +2 -2
  85. package/native/ops/comparison.c +1 -1
  86. package/package.json +3 -6
  87. package/dist-lib/numbl-core/jit/c/abi.d.ts +0 -90
  88. package/dist-lib/numbl-core/jit/c/assemble.d.ts +0 -56
  89. package/dist-lib/numbl-core/jit/c/classify.d.ts +0 -70
  90. package/dist-lib/numbl-core/jit/c/compile.d.ts +0 -37
  91. package/dist-lib/numbl-core/jit/c/context.d.ts +0 -152
  92. package/dist-lib/numbl-core/jit/c/emit/assign.d.ts +0 -20
  93. package/dist-lib/numbl-core/jit/c/emit/complexScalar.d.ts +0 -18
  94. package/dist-lib/numbl-core/jit/c/emit/fused.d.ts +0 -42
  95. package/dist-lib/numbl-core/jit/c/emit/helpers.d.ts +0 -40
  96. package/dist-lib/numbl-core/jit/c/emit/index.d.ts +0 -14
  97. package/dist-lib/numbl-core/jit/c/emit/scalar.d.ts +0 -23
  98. package/dist-lib/numbl-core/jit/c/emit/stmt.d.ts +0 -25
  99. package/dist-lib/numbl-core/jit/c/emit/tensor.d.ts +0 -127
  100. package/dist-lib/numbl-core/jit/c/emit/userCall.d.ts +0 -58
  101. package/dist-lib/numbl-core/jit/c/epilogue.d.ts +0 -26
  102. package/dist-lib/numbl-core/jit/c/feasibility.d.ts +0 -44
  103. package/dist-lib/numbl-core/jit/c/prelude.d.ts +0 -37
  104. package/dist-lib/numbl-core/jit/c/visit.d.ts +0 -63
  105. package/dist-lib/numbl-core/jit/e1/complexKernelEmit.d.ts +0 -46
  106. package/dist-lib/numbl-core/jit/e1/hash.d.ts +0 -10
  107. package/dist-lib/numbl-core/jit/e1/install.d.ts +0 -13
  108. package/dist-lib/numbl-core/jit/e1/kernelEmit.d.ts +0 -54
  109. package/dist-lib/numbl-core/jit/e1/multiReductionKernel.d.ts +0 -66
  110. package/dist-lib/numbl-core/jit/e1/openmpFlag.d.ts +0 -13
  111. package/dist-lib/numbl-core/jit/e1/scalarFnKernel.d.ts +0 -44
  112. package/dist-lib/numbl-core/jit/e2/assignKernel.d.ts +0 -34
  113. package/dist-lib/numbl-core/jit/e2/astToJitExpr.d.ts +0 -25
  114. package/dist-lib/numbl-core/jit/e2/cache.d.ts +0 -80
  115. package/dist-lib/numbl-core/jit/e2/chainKernelEmit.d.ts +0 -55
  116. package/dist-lib/numbl-core/jit/e2/classify.d.ts +0 -119
  117. package/dist-lib/numbl-core/jit/e2/compileFn.d.ts +0 -16
  118. package/dist-lib/numbl-core/jit/e2/complexChainKernelEmit.d.ts +0 -79
  119. package/dist-lib/numbl-core/jit/e2/emitShared.d.ts +0 -71
  120. package/dist-lib/numbl-core/jit/e2/install.d.ts +0 -11
  121. package/dist-lib/numbl-core/jit/e2/liveness.d.ts +0 -29
  122. package/dist-lib/numbl-core/jit/e2/loopKernel.d.ts +0 -49
  123. package/dist-lib/numbl-core/jit/e2/loopKernelEmit.d.ts +0 -75
  124. package/dist-lib/numbl-core/jit/e2/multiReductionDriver.d.ts +0 -24
  125. package/dist-lib/numbl-core/jit/e2/reductionKernelEmit.d.ts +0 -72
  126. package/dist-lib/numbl-core/jit/e2/scalarFnDriver.d.ts +0 -29
  127. package/dist-lib/numbl-core/jit/fusedChainHelpers.d.ts +0 -65
  128. package/dist-lib/numbl-core/jit/fusedScalarEmit.d.ts +0 -69
  129. package/dist-lib/numbl-core/jit/fusion.d.ts +0 -71
  130. package/dist-lib/numbl-core/jit/fusionOps.d.ts +0 -25
  131. package/dist-lib/numbl-core/jit/heavyOps.d.ts +0 -15
  132. package/dist-lib/numbl-core/jit/index.d.ts +0 -7
  133. package/dist-lib/numbl-core/jit/jitLoop.d.ts +0 -25
  134. package/dist-lib/numbl-core/jit/jitTopLevel.d.ts +0 -22
  135. package/dist-lib/numbl-core/jit/js/jitHelpersIndex.d.ts +0 -33
  136. package/dist-lib/numbl-core/jit/js/jsFusedCodegen.d.ts +0 -17
  137. package/dist-lib/numbl-core/runtime/alloc.d.ts +0 -23
  138. package/dist-plot-viewer/assets/index-GiUNnMQg.js +0 -4426
  139. package/native/jit_runtime/jit_runtime.c +0 -261
  140. package/native/jit_runtime/jit_runtime.h +0 -204
package/binding.gyp CHANGED
@@ -1,4 +1,12 @@
1
1
  {
2
+ "variables": {
3
+ # Whether to compile the native addon with -ffast-math. Default is
4
+ # on — libmvec-vectorized transcendentals; reductions become
5
+ # reorder-allowed, so results may drift by FP-noise levels. Opt out via:
6
+ # npx numbl build-addon --no-fast-math (sets NUMBL_FAST_MATH=false)
7
+ # NUMBL_FAST_MATH=false npm run build:addon
8
+ "fast_math%": "<!(node -p \"process.env.NUMBL_FAST_MATH === 'false' ? 'false' : 'true'\")"
9
+ },
2
10
  "targets": [
3
11
  {
4
12
  "target_name": "numbl_addon",
@@ -44,10 +52,15 @@
44
52
  "<!@(pkg-config --libs fftw3 2>/dev/null || echo '-lfftw3')",
45
53
  "<!@(pkg-config --libs-only-L fftw3 2>/dev/null | sed 's/-L/-Wl,-rpath,/g' || true)"
46
54
  ],
47
- "cflags": [ "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno", "-ffast-math" ],
48
- "cflags_c": [ "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno", "-ffast-math" ],
49
- "cflags_cc": [ "-std=c++17", "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno", "-ffast-math" ],
55
+ "cflags": [ "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno" ],
56
+ "cflags_c": [ "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno" ],
57
+ "cflags_cc": [ "-std=c++17", "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno" ],
50
58
  "conditions": [
59
+ ['fast_math == "true"', {
60
+ "cflags": [ "-ffast-math" ],
61
+ "cflags_c": [ "-ffast-math" ],
62
+ "cflags_cc": [ "-ffast-math" ]
63
+ }],
51
64
  ['OS=="linux"', {
52
65
  "cflags_c": [ "-fopenmp" ],
53
66
  "cflags_cc": [ "-fopenmp" ],
@@ -61,36 +74,6 @@
61
74
  "libraries": [ "-framework Accelerate" ]
62
75
  }]
63
76
  ]
64
- },
65
- {
66
- "target_name": "numbl_ops",
67
- "type": "static_library",
68
- "sources": [
69
- "native/ops/numbl_ops.c",
70
- "native/ops/real_binary_elemwise.c",
71
- "native/ops/complex_binary_elemwise.c",
72
- "native/ops/real_unary_elemwise.c",
73
- "native/ops/complex_unary_elemwise.c",
74
- "native/ops/comparison.c",
75
- "native/ops/reduce.c",
76
- "native/ops/bessel.c"
77
- ],
78
- "include_dirs": [ "native/ops" ],
79
- "cflags_c": [ "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno", "-ffast-math", "-fPIC" ],
80
- "conditions": [
81
- ['OS=="linux"', {
82
- "cflags_c": [ "-fopenmp" ]
83
- }]
84
- ]
85
- },
86
- {
87
- "target_name": "numbl_jit_runtime",
88
- "type": "static_library",
89
- "sources": [
90
- "native/jit_runtime/jit_runtime.c"
91
- ],
92
- "include_dirs": [ "native/jit_runtime", "native/ops" ],
93
- "cflags_c": [ "-O3", "-march=native", "-fopenmp-simd", "-fno-math-errno", "-ffast-math", "-fPIC" ]
94
77
  }
95
78
  ]
96
79
  }