-
-
Notifications
You must be signed in to change notification settings - Fork 870
Closed
Description
Description
This RFC proposes adding a C implementation, including a Node.js native addon, C benchmarks, and C examples, for the @stdlib/stats/base/dists/triangular/cdf
package.
When adding support, the following tasks should be completed:
- A C source implementation should be added to a
src
folder within the package's directory. - A native add-on interface should be added in order to call the C implementation from JavaScript.
- A JavaScript file should be added to the
lib
folder to allow benchmarking and unit testing the native implementation from JavaScript. - A new test file should be created which includes unit tests testing against expected behavior.
- C benchmarks should be added which measure performance for the C source implementation.
- A file containing C examples should be added to demonstrate example usage.
- JavaScript benchmarks should be added which measure performance for the native add-on.
- Build and configuration files should be added to allow compiling and running the C source implementation using project
make
commands (as documented below). - The README should be updated to include documentation for the added C API.
Prerequisites
- Review JavaScript implementation in
lib/main.js
and its required modules to identify allstdlib
functions used. - Verify C implementations exist for each required function.
Questions
No.
Other
Once the implementation is ready, including C examples and benchmarks, we should be able to run the following make
commands.
Related Issues
Related issues #3355
Build native add-on
NODE_ADDONS_PATTERN="@stdlib/stats/base/dists/triangular/cdf" make install-node-addons
Run C examples
make examples-c-files FILES="$(pwd)/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/examples/c/example.c"
Run C benchmarks
make benchmark-c-files FILES="$(pwd)/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/c/benchmark.c"
Run JavaScript benchmarks
make benchmark-javascript-files FILES="$(pwd)/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.native.js"
Run all tests
make TESTS_FILTER=".*/@stdlib/stats/base/dists/triangular/cdf/.*" test
Checklist
- I have read and understood the Code of Conduct.
- Searched for existing issues and pull requests.
- The issue name begins with
RFC:
.
Metadata
Metadata
Assignees
Labels
No labels