Skip to content

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

@yuvimittal

Description

@yuvimittal

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/logcdf

When adding support, the following tasks should be completed:

  1. A 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 feat: add C implementation for arcsine CDF #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
Review JavaScript implementation in lib/main.js and its required modules to identify all stdlib functions used.
Verify C implementations exist for each required function.

Related Issues

Related issues #4227

Questions

No.

Other

No.

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions