stdlib-js/stdlib

[RFC]: Add C implementation for @stdlib/math/base/special/betaincinv

Abhii67534 opened this issue · 3 comments

Description

Description
The JavaScript implementation of @stdlib/stats/base/dists/beta/quantile depends on @stdlib/math/base/special/betaincinv.
However, there is no C implementation of betaincinv, making it impossible to implement quantile in C.
We need to add a C implementation of betaincinv, which can be used for quantile.

Potential approaches:
Use an existing numerical method (e.g., Newton-Raphson, Bisection).
Wrap an existing GSL or Cephes library function.

Why This Matters
This is a blocking issue for the C implementation of @stdlib/stats/base/dists/beta/quantile
The lack of betaincinv in C prevents further progress.

Checklist
✅ I have checked that betaincinv does not have a C implementation.
✅ This issue is required for completing @stdlib/stats/base/dists/beta/quantile.
✅ I am open to suggestions on how to implement it.

Related Issues

Related issues #3433

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:.

👋 Hi there! 👋

And thank you for opening your first issue! We will get back to you shortly. 🏃 💨

That is correct, and it is indeed a chain.

  • @stdlib/math/base/special/betaincinv depends on @stdlib/math/base/special/kernel-betaincinv.
  • @stdlib/math/base/special/kernel-betaincinv depends on @stdlib/math/base/special/betainc.
  • @stdlib/math/base/special/betainc depends on @stdlib/math/base/special/kernel-betainc, which is the starting point.

This is already being tracked in issue #649. If you want to work on the implementation, @stdlib/math/base/special/kernel-betainc is the place to start. 😄

Thankyou @anandkaranubc for clarity :)