numbl 0.0.1
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.
- package/README.md +24 -0
- package/binding.gyp +25 -0
- package/dist-cli/cli.js +31008 -0
- package/dist-plot-viewer/assets/index-CYInUJ8O.js +9 -0
- package/dist-plot-viewer/index.html +12 -0
- package/native/lapack_addon.cpp +37 -0
- package/native/lapack_common.h +90 -0
- package/native/lapack_eig.cpp +142 -0
- package/native/lapack_inv.cpp +193 -0
- package/native/lapack_linsolve.cpp +139 -0
- package/native/lapack_matmul.cpp +103 -0
- package/native/lapack_qr.cpp +133 -0
- package/native/lapack_svd.cpp +149 -0
- package/package.json +86 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Numbl
|
|
2
|
+
|
|
3
|
+
Numbl lets you run MATLAB-compatible code in the browser and on the command line. It works by compiling `.m` source code to JavaScript and executing it directly. In the browser, all execution happens locally — no code is sent to a remote server.
|
|
4
|
+
|
|
5
|
+
Numbl is under active development and new functionality is being added regularly.
|
|
6
|
+
|
|
7
|
+
## Documentation
|
|
8
|
+
|
|
9
|
+
- [Overview](docs/overview.md) — What numbl is and how to use it
|
|
10
|
+
- [Architecture](docs/architecture.md) — How the compiler pipeline works
|
|
11
|
+
- [Function specialization](docs/specialization.md) — The type specialization optimization pass
|
|
12
|
+
- [Adding built-in functions](docs/adding-builtins.md) — How to contribute new built-ins
|
|
13
|
+
- [Test scripts](docs/test-scripts.md) — Writing and running `.m` integration tests
|
|
14
|
+
- [Development](docs/development.md) — Setting up local development
|
|
15
|
+
- [Performance](docs/performance.md) — How numbl achieves computational efficiency
|
|
16
|
+
- [Documentation guidelines](docs/documentation-guidelines.md) — Conventions for writing docs
|
|
17
|
+
|
|
18
|
+
## License
|
|
19
|
+
|
|
20
|
+
Apache 2.0.
|
|
21
|
+
|
|
22
|
+
## Acknowledgement
|
|
23
|
+
|
|
24
|
+
This project was inspired by the [runmat project](https://github.com/runmat-org/runmat). The initial TypeScript lexer and parser were generated by AI with access to runmat's Rust lexer and parser.
|
package/binding.gyp
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"targets": [
|
|
3
|
+
{
|
|
4
|
+
"target_name": "lapack_addon",
|
|
5
|
+
"sources": [
|
|
6
|
+
"native/lapack_addon.cpp",
|
|
7
|
+
"native/lapack_inv.cpp",
|
|
8
|
+
"native/lapack_qr.cpp",
|
|
9
|
+
"native/lapack_svd.cpp",
|
|
10
|
+
"native/lapack_matmul.cpp",
|
|
11
|
+
"native/lapack_linsolve.cpp",
|
|
12
|
+
"native/lapack_eig.cpp"
|
|
13
|
+
],
|
|
14
|
+
"include_dirs": [
|
|
15
|
+
"<!@(node -p \"require('node-addon-api').include\")"
|
|
16
|
+
],
|
|
17
|
+
"dependencies": [
|
|
18
|
+
"<!(node -p \"require('node-addon-api').gyp\")"
|
|
19
|
+
],
|
|
20
|
+
"defines": [ "NAPI_DISABLE_CPP_EXCEPTIONS" ],
|
|
21
|
+
"libraries": [ "-lopenblas" ],
|
|
22
|
+
"cflags_cc": [ "-std=c++17", "-O2" ]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|