Skip to content
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 implementations to base special math functions (tracking issue) #649

Open
kgryte opened this issue Dec 2, 2022 · 16 comments
Open
Labels
Accepted RFC feature request which has been accepted. difficulty: 3 Likely to be challenging but manageable. Enhancement Issue or pull request for enhancing existing functionality. Math Issue or pull request specific to math functionality. Native Addons Issue involves or relates to Node.js native add-ons. priority: High High priority concern or feature request. RFC Request for comments. Feature requests and proposed changes. Tracking Issue Tracking issue.

Comments

@kgryte
Copy link
Member

kgryte commented Dec 2, 2022

Description

This RFC proposes adding C implementations to all base special math functions. The purpose of this issue is to serve as a tracking issue for adding C implementations.

Packages

  • abs
  • abs2
  • abs2f
  • absf
  • acos
  • acosf
  • acosd
  • acosdf
  • acosh
  • acoshf
  • acot
  • acotf
  • acotd
  • acotdf
  • acoth
  • acothf
  • acovercos
  • acovercosf
  • acoversin
  • acoversinf
  • acsc
  • acscf
  • acscd
  • acscdf
  • acsch
  • acschf
  • ahavercos
  • ahavercosf
  • ahaversin
  • ahaversinf
  • asec
  • asecf
  • asecd
  • asecdf
  • asech
  • asechf
  • asin
  • asinf
  • asind
  • asindf
  • asinf
  • asinh
  • asinhf
  • atan
  • atanf
  • atan2
  • atan2f
  • atand
  • atandf
  • atanh
  • atanhf
  • avercos
  • avercosf
  • aversin
  • aversinf
  • bernoulli
  • bernoullif
  • besselj0
  • besselj0f
  • besselj1
  • besselj1f
  • bessely0
  • bessely0f
  • bessely1
  • bessely1f
  • beta
  • betaf
  • betainc
  • betaincf
  • betaincinv
  • betaincinvf
  • betaln
  • betalnf
  • binet
  • binetf
  • binomcoef
  • binomcoeff
  • binomcoefln
  • binomcoeflnf
  • boxcox
  • boxcoxf
  • boxcox1p
  • boxcox1pf
  • boxcox1pinv
  • boxcox1pinvf
  • boxcoxinv
  • boxcoxinvf
  • cabs
  • cabs2
  • cabs2f
  • cabsf
  • cbrt
  • cbrtf
  • cceil
  • cceilf
  • cceiln
  • cceilnf
  • ccis
  • ccisf
  • ceil
  • ceil10
  • ceil10f
  • ceil2
  • ceil2f
  • ceilb
  • ceilbf
  • ceilf
  • ceiln
  • ceilnf
  • ceilsd
  • ceilsdf
  • cexp
  • cexpf
  • cflipsign
  • cflipsignf
  • cfloor
  • cfloorf
  • cfloorn
  • cfloornf
  • cidentity
  • cidentityf
  • cinv
  • cinvf
  • clamp
  • clampf
  • copysign
  • copysignf
  • cos
  • cosf
  • cosd
  • cosdf
  • cosh
  • coshf
  • cosm1
  • cosm1f
  • cospi
  • cospif
  • cot
  • cotf
  • cotd
  • cotdf
  • coth
  • cothf
  • covercos
  • covercosf
  • coversin
  • coversinf
  • cphase
  • cphasef
  • cpolar
  • cpolarf
  • cround
  • croundf
  • croundn
  • croundnf
  • csc
  • cscf
  • cscd
  • cscdf
  • csch
  • cschf
  • csignum
  • csignumf
  • deg2rad
  • deg2radf
  • digamma
  • digammaf
  • dirac-delta
  • dirac-deltaf
  • dirichlet-eta
  • dirichlet-etaf
  • ellipe
  • ellipef
  • ellipj
  • ellipjf
  • ellipk
  • ellipkf
  • erf
  • erff
  • erfc
  • erfcf
  • erfcinv
  • erfcinvf
  • erfcx
  • erfcxf
  • erfinv
  • erfinvf
  • exp
  • expf
  • exp10
  • exp10f
  • exp2
  • exp2f
  • expit
  • expitf
  • expm1
  • expm1f
  • expm1rel
  • expm1relf
  • factorial
  • factorialf
  • factorial2
  • factorial2f
  • factorialln
  • factoriallnf
  • falling-factorial
  • falling-factorialf
  • fast/*
  • fibonacci
  • fibonaccif
  • fibonacci-index
  • fibonacci-indexf
  • flipsign
  • flipsignf
  • floor
  • floor10
  • floor10f
  • floor2
  • floor2f
  • floorb
  • floorbf
  • floorf
  • floorn
  • floornf
  • floorsd
  • floorsdf
  • fmod
  • fmodf
  • fresnel
  • fresnelf
  • fresnelc
  • fresnelcf
  • fresnels
  • fresnelsf
  • frexp
  • frexpf
  • gamma
  • gammaf
  • gamma-delta-ratio
  • gamma-delta-ratiof
  • gamma-lanczos-sum
  • gamma-lanczos-sumf
  • gamma-lanczos-sum-expg-scaled
  • gamma-lanczos-sum-expg-scaledf
  • gamma1pm1
  • gamma1pm1f
  • gammainc
  • gammaincf
  • gammaincinv
  • gammaincinvf
  • gammaln
  • gammalnf
  • gammasgn
  • gammasgnf
  • gcd
  • gcdf
  • hacovercos
  • hacovercosf
  • hacoversin
  • hacoversinf
  • havercos
  • havercosf
  • haversin
  • haversinf
  • heaviside
  • heavisidef
  • hypot
  • hypotf
  • identity
  • identityf
  • inv
  • invf
  • kernel-betainc
  • kernel-betaincf
  • kernel-betaincinv
  • kernel-betaincinvf
  • kernel-cos
  • kernel-cosf
  • kernel-sin
  • kernel-sinf
  • kernel-tan
  • kernel-tanf
  • kronecker-delta
  • kronecker-deltaf
  • labs
  • lcm
  • lcmf
  • ldexp
  • ldexpf
  • ln
  • lnf
  • log
  • logf
  • log10
  • log10f
  • log1mexp
  • log1mexpf
  • log1p
  • log1pf
  • log1pexp
  • log1pexpf
  • log1pmx
  • log1pmxf
  • log2
  • log2f
  • logaddexp
  • logaddexpf
  • logit
  • logitf
  • lucas
  • lucasf
  • max
  • maxf
  • maxabs
  • maxabsf
  • maxabsn
  • maxn
  • min
  • minf
  • minabs
  • minabsf
  • minabsn
  • minmax
  • minmaxf
  • minmaxabs
  • minmaxabsf
  • minmaxabsn
  • minmaxn
  • minn
  • modf
  • modff
  • negafibonacci
  • negafibonaccif
  • negalucas
  • negalucasf
  • nonfibonacci
  • nonfibonaccif
  • pdiff
  • pdifff
  • polygamma
  • polygammaf
  • pow
  • powf
  • powm1
  • powm1f
  • rad2deg
  • rad2degf
  • ramp
  • rampf
  • rcbrt
  • rcbrtf
  • rempio2
  • rempio2f (?)
  • riemann-zeta
  • riemann-zetaf
  • rising-factorial
  • rising-factorialf
  • round
  • roundf
  • round10
  • round10f
  • round2
  • round2f
  • roundb
  • roundbf
  • roundn
  • roundnf
  • roundsd
  • roundsdf
  • rsqrt
  • rsqrtf
  • secd
  • secdf
  • sici
  • sicif
  • signum
  • signumf
  • sin
  • sinf
  • sinc
  • sincf
  • sincos
  • sincosf
  • sincospi
  • sincospif
  • sinh
  • sinhf
  • sinpi
  • sinpif
  • spence
  • spencef
  • sqrt
  • sqrt1pm1
  • sqrt1pm1f
  • sqrtf
  • sqrtpi
  • sqrtpif
  • tan
  • tanf
  • tand
  • tandf
  • tanh
  • tanhf
  • tribonacci
  • tribonaccif
  • trigamma
  • trigammaf
  • trunc
  • trunc10
  • trunc10f
  • trunc2
  • trunc2f
  • truncb
  • truncbf
  • truncf
  • truncn
  • truncnf
  • truncsd
  • truncsdf
  • vercos
  • vercosf
  • versin
  • versinf
  • wrap
  • wrapf
  • xlog1py
  • xlog1pyf
  • xlogy
  • xlogyf

Related Issues

None.

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:.
@kgryte kgryte added RFC Request for comments. Feature requests and proposed changes. Feature Issue or pull request for adding a new feature. Math Issue or pull request specific to math functionality. Native Addons Issue involves or relates to Node.js native add-ons. Enhancement Issue or pull request for enhancing existing functionality. and removed Feature Issue or pull request for adding a new feature. labels Dec 2, 2022
@kgryte kgryte added difficulty: 3 Likely to be challenging but manageable. Accepted RFC feature request which has been accepted. priority: High High priority concern or feature request. labels Feb 25, 2024
@Pratik772846
Copy link
Contributor

@kgryte I would like to work on this.

@kgryte
Copy link
Member Author

kgryte commented Mar 6, 2024

@Pratik772846 I suggest picking one of the associated RFCs for updating a single package. This is a tracking issue.

@kgryte
Copy link
Member Author

kgryte commented Mar 6, 2024

@Pranavchiku As you've been managing a number of the RFCs and PRs, would you mind updating the OP to match the current state of implementations?

kgryte pushed a commit that referenced this issue Aug 23, 2024
PR-URL: #2816
Ref: #649
Reviewed-by: Athan Reines <[email protected]>
kgryte pushed a commit that referenced this issue Aug 23, 2024
PR-URL: #2799
Ref: #649
Reviewed-by: Athan Reines <[email protected]>
Planeshifter added a commit that referenced this issue Aug 24, 2024
PR-URL: #2809
Ref: #649

---------

Signed-off-by: Philipp Burckhardt <[email protected]>
Co-authored-by: Philipp Burckhardt <[email protected]>
Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter added a commit that referenced this issue Aug 24, 2024
PR-URL: #2805 
Ref: #649

---------

Signed-off-by: Gunj Joshi <[email protected]>
Signed-off-by: Philipp Burckhardt <[email protected]>
Co-authored-by: Philipp Burckhardt <[email protected]>
Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter pushed a commit that referenced this issue Aug 24, 2024
PR-URL: #2813
Ref: #649 

Reviewed-by: Philipp Burckhardt <[email protected]>
Kaif987 added a commit to Kaif987/stdlib that referenced this issue Aug 25, 2024
This commit fixes all the eslint errors and styling error
that were introduced in previous commits

PR-URL: stdlib-js#2805
Ref: stdlib-js#649
---------
Signed-off-by: Mohammad Kaif <[email protected]>
Kaif987 added a commit to Kaif987/stdlib that referenced this issue Aug 25, 2024
This commit fixes linting errors made in repl.txt and
changes made in cuany are reverted.

PR-URL: stdlib-js#2805
Ref: stdlib-js#649
---------
Signed-off-by: Mohammad Kaif <[email protected]>
Kaif987 added a commit to Kaif987/stdlib that referenced this issue Aug 26, 2024
This commit fixes any typos and duplicate function
definition in test files

PR-URL: stdlib-js#2805
Ref: stdlib-js#649
---------
Signed-off-by: Mohammad Kaif <[email protected]>
Planeshifter pushed a commit that referenced this issue Aug 29, 2024
Planeshifter added a commit that referenced this issue Aug 31, 2024
PR-URL: #2832
Ref: #649

---------

Signed-off-by: Philipp Burckhardt <[email protected]>
Co-authored-by: Philipp Burckhardt <[email protected]>
Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter pushed a commit that referenced this issue Aug 31, 2024
PR-URL: #2846
Ref: #649 

Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter added a commit that referenced this issue Aug 31, 2024
PR-URL: #2829 
Ref: #649

---------

Signed-off-by: Philipp Burckhardt <[email protected]>
Co-authored-by: Philipp Burckhardt <[email protected]>
Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter pushed a commit that referenced this issue Sep 2, 2024
PR-URL: #2852
Ref: #649 

Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter pushed a commit that referenced this issue Sep 2, 2024
PR-URL: #2857
Ref: #649

---------

Signed-off-by: Gunj Joshi <[email protected]>
Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter pushed a commit that referenced this issue Sep 2, 2024
Planeshifter pushed a commit that referenced this issue Sep 3, 2024
PR-URL: #2860 
Ref: #649

Reviewed-by: Philipp Burckhardt <[email protected]>
Planeshifter pushed a commit that referenced this issue Oct 15, 2024
PR-URL: #3010
Ref: #649

Reviewed-by: Philipp Burckhardt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted RFC feature request which has been accepted. difficulty: 3 Likely to be challenging but manageable. Enhancement Issue or pull request for enhancing existing functionality. Math Issue or pull request specific to math functionality. Native Addons Issue involves or relates to Node.js native add-ons. priority: High High priority concern or feature request. RFC Request for comments. Feature requests and proposed changes. Tracking Issue Tracking issue.
Projects
None yet
Development

No branches or pull requests

5 participants