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

[Idea]: develop C implementations for base special mathematical functions #34

Open
kgryte opened this issue Feb 6, 2024 · 0 comments
Open
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: high High priority. tech: c Involves programming in C. tech: javascript Involves programming in JavaScript. tech: native addons Involves developing Node.js native add-ons. tech: nodejs Requires developing with Node.js.

Comments

@kgryte
Copy link
Member

kgryte commented Feb 6, 2024

Idea

This idea builds on the work outlined in stdlib-js/stdlib#649. Namely, implementing base special mathematical functions in C. Currently, all special mathematical functions have JavaScript implementations, which are often ports from other languages.

The goal of this idea is to port all JavaScript implementations to C. Having such implementations will allow stdlib to provide Node.js native add-ons for higher performance ndarray computation and is more generally necessary for achieving NumPy/SciPy parity.

Expected Outcomes

Users will be able to leverage C implementations for use in Node.js native add-ons, and stdlib will be able to expose element-wise APIs for evaluating base special math functions over ndarrays.

Involved Software

No other software is necessary.

Prerequisite Knowledge

C, JavaScript, Node.js.

Difficulty

Intermediate. Familiarity with C is beneficial. This idea mainly involves porting existing implementations (many of which are written in C/C++) and doing so in a manner which conforms with stdlib conventions.

Project Length

90/175/350 hours. Can be scoped accordingly. Scope can be expanded to implement new special mathematical functions.

Potential Mentors

@kgryte @Planeshifter @steff456 @rreusser @Pranavchiku @czgdp1807

@kgryte kgryte added idea Potential GSoC project idea. priority: high High priority. difficulty: 3 Likely to be challenging but manageable. tech: javascript Involves programming in JavaScript. tech: c Involves programming in C. tech: nodejs Requires developing with Node.js. tech: native addons Involves developing Node.js native add-ons. labels Feb 6, 2024
@stdlib-js stdlib-js locked and limited conversation to collaborators Feb 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: high High priority. tech: c Involves programming in C. tech: javascript Involves programming in JavaScript. tech: native addons Involves developing Node.js native add-ons. tech: nodejs Requires developing with Node.js.
Projects
None yet
Development

No branches or pull requests

1 participant