Skip to content

[RFC]: Add C implementation for @stdlib/stats/base/dists/planck/mode #4910

@yuvi-mittal

Description

@yuvi-mittal

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/planck/mode package.

When adding support, the following tasks should be completed:

  1. C source implementation should be added to a src folder within the package's directory.
  2. A native add-on interface should be added in order to call the C implementation from JavaScript.
  3. A JavaScript file should be added to the lib folder to allow benchmarking and unit testing the native implementation from JavaScript.
  4. A new test file should be created which includes unit tests testing against expected behavior.
  5. C benchmarks should be added which measure performance for the C source implementation.
  6. A file containing C examples should be added to demonstrate example usage.
  7. JavaScript benchmarks should be added which measure performance for the native add-on.
  8. Build and configuration files should be added to allow compiling and running the C source implementation using project make commands (as documented below).
  9. The README should be updated to include documentation for the added C API.

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

  1. Review JavaScript implementation in lib/main.js and its required modules to identify all stdlib functions used.
  2. Verify C implementations exist for each required function.

Related Issues

Related issues #4350

Questions

No.

Other

No response

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions