-
-
Notifications
You must be signed in to change notification settings - Fork 587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC]: Add C implementation for @stdlib/stats/base/dists/geometric/pmf
#3639
Comments
🚨 Important: PLEASE READ 🚨This issue has been labeled as a good first issue and is available for anyone to work on. If this is your first time contributing to an open source project, some aspects of the development process may seem unusual, arcane, or some combination of both.
Before working on this issue and opening a pull request, please read the project's contributing guidelines. These guidelines and the associated development guide provide important information, including links to stdlib's Code of Conduct, license policy, and steps for setting up your local development environment. To reiterate, we strongly encourage you to refer to our contributing guides before beginning work on this issue. Failure to follow our guidelines significantly decreases the likelihood that you'll successfully contribute to stdlib and may result in automatic closure of a pull request without review. Setting up your local development environment is a critical first step, as doing so ensures that automated development processes for linting, license verification, and unit testing can run prior to authoring commits and pushing changes. If you would prefer to avoid manual setup, we provide pre-configured development containers for use locally or in GitHub Codespaces. We place a high value on consistency throughout the stdlib codebase. We encourage you to closely examine other packages in stdlib and attempt to emulate the practices and conventions found therein.
In short, the more effort you put in to ensure that your contribution looks and feels like stdlib—including variables names, bracket spacing, line breaks, etc—the more likely that your contribution will be reviewed and ultimately accepted. We encourage you to closely study the codebase before beginning work on this issue. ✨ Thank you again for your interest in stdlib, and we look forward to reviewing your future contributions. ✨ |
PR-URL: #4220 Closes: #3639 Co-authored-by: Philipp Burckhardt <[email protected]> Co-authored-by: stdlib-bot <[email protected]> Reviewed-by: Philipp Burckhardt <[email protected]> Signed-off-by: Philipp Burckhardt <[email protected]>
PR-URL: stdlib-js#4220 Closes: stdlib-js#3639 Co-authored-by: Philipp Burckhardt <[email protected]> Co-authored-by: stdlib-bot <[email protected]> Reviewed-by: Philipp Burckhardt <[email protected]> Signed-off-by: Philipp Burckhardt <[email protected]>
PR-URL: stdlib-js#4220 Closes: stdlib-js#3639 Co-authored-by: Philipp Burckhardt <[email protected]> Co-authored-by: stdlib-bot <[email protected]> Reviewed-by: Philipp Burckhardt <[email protected]> Signed-off-by: Philipp Burckhardt <[email protected]>
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/geometric/pmf
package.When adding support, the following tasks should be completed:
src
folder within the package's directory.lib
folder to allow benchmarking and unit testing the native implementation from JavaScript.make
commands (as documented below).To provide a concrete example of what a PR adding the desired method should contain, see #3354, which is a PR adding a C implementation for the CDF of an arcsine distribution. This should provide an idea of what is expected.
Prerequisites
lib/main.js
and its required modules to identify allstdlib
functions used.Related Issues
#3355
Questions
No.
Other
Once the implementation is ready including C examples and benchmarks, we should be able to run the following
make
commands.Build native add-on
NODE_ADDONS_PATTERN="@stdlib/stats/base/dists/geometric/pmf" make install-node-addons
Run C examples
make examples-c-files FILES="$(pwd)/lib/node_modules/@stdlib/stats/base/dists/geometric/pmf/examples/c/example.c"
Run C benchmarks
make benchmark-c-files FILES="$(pwd)/lib/node_modules/@stdlib/stats/base/dists/geometric/pmf/benchmark/c/benchmark.c"
Run JavaScript benchmarks
make benchmark-javascript-files FILES="$(pwd)/lib/node_modules/@stdlib/stats/base/dists/geometric/pmf/benchmark/benchmark.native.js"
Run all tests
Notes
Checklist
RFC:
.The text was updated successfully, but these errors were encountered: