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 #87

Open
6 tasks done
AadishJ opened this issue Jan 3, 2025 · 0 comments
Open
6 tasks done

[RFC]: Add C implementations to base special math functions #87

AadishJ opened this issue Jan 3, 2025 · 0 comments
Labels
2025 2025 GSoC proposal. rfc Project proposal.

Comments

@AadishJ
Copy link

AadishJ commented Jan 3, 2025

Full name

Aadish Jain

University status

Yes

University name

Shiv Nadar University

University program

B.Tech. Computer Science

Expected graduation

June 2027

Short biography

I am a second-year student with approximately two years of experience in programming. During this time, I have undertaken various projects, including a fitness tracker developed using the MERN stack and an ongoing e-commerce platform built with Vite, React, and Stripe. Additionally, I possess a strong foundation in C and Java, demonstrated by my development of a Text Editor utilizing Java's Swing UI frameworks. My expertise encompasses full-stack web development and application programming, with a focus on delivering practical and user-centric solutions.

Timezone

India Standard Time

Contact details

email:[email protected], github:AadishJ, gitter:@AadishJ:gitter.im

Platform

Windows

Editor

My preferred code editor is Visual Studio Code (VSCode). I began using it at the start of my coding journey and have continued to rely on it due to its consistent performance and reliability. Its extensive range of extensions and seamless WSL integration facilitate efficient coding without unnecessary distractions or setup. Additionally, VSCode's high level of customizability enhances its usability.

For Java development, I utilize IntelliJ IDEA, which offers exceptional support for the language and provides specialized tools tailored to Java programming.

Programming experience

I have been coding for approximately two years and have undertaken several projects that showcase my skills and expertise:

E-commerce Project: An ongoing project featuring separate admin and vendor panels.
Live Demo

Fitness Tracker: A web application designed to help users track and create personalized fitness routines.
Live Demo

Media Player: A basic media player developed using vanilla HTML, CSS, and JavaScript.
Live Demo

Additionally, I have developed a Text Editor using Java's Swing library, which demonstrates my adaptability and proficiency across different technologies and programming languages. For more details, you can visit my GitHub profile to explore the source code for these projects.

JavaScript experience

I have significant experience with JavaScript, as I am a web developer and use the MERN stack as my primary technology stack, which is entirely based on JavaScript. I particularly appreciate JavaScript's loosely typed nature, its lack of a requirement for semicolons at the end of statements, and its tendency to throw fewer errors. However, this feature can sometimes be a double-edged sword, as when errors do occur, it can be more challenging to debug compared to other languages due to the minimal error messages provided.

Node.js experience

I have developed several backend applications using Node.js, a powerful JavaScript runtime environment that allows server-side JavaScript execution. Over the course of my work, I have become highly proficient in writing API routes and efficiently handling various types of requests, which has significantly enhanced my backend development skills.

To streamline and simplify my development process, I use Express.js, a widely-used framework built on top of Node.js. By using Node.js and Express.js together, I am able to create robust, maintainable, and efficient server-side applications that are both scalable and optimized for performance.

C/Fortran experience

I have a solid amount of experience with the C language, as it was where I began my coding journey. Throughout my studies, I have gained a strong foundation in C programming, which helped me develop a deep understanding of computer science principles. Additionally, I studied Data Structures in C as part of my university course, which has further strengthened my knowledge of algorithms and efficient data handling in programming.

Interest in stdlib

stdlib-js is particularly interesting to me due to my background in web development and my general interest in mathematics. I also plan to learn machine learning in the future, and with the use of stdlib, I will be able to showcase my projects by leveraging my web development skills. This will make the learning process much easier and more efficient.

Version control

Yes

Contributions to stdlib

I currently made 3 PR's which have succefully been merged:
stdlib-js/stdlib#3934
stdlib-js/stdlib#3922
stdlib-js/stdlib#3913
And have around 9 PR's that are open and ready to be merged
I have also helped several people and solved there doubts and have helped people improve there PR's.

Goals

The goal I aim to achieve is to contribute as many C implementations to the base special math functions as possible

Why this project?

This project involves contributing something I believe I have already done in my previous pull requests, and I found the process of doing so quite interesting.

Qualifications

I have contributed to several pull requests (PRs) that involve implementing various mathematical functions in C, all of which have been successfully merged. I am proficient in both C and JavaScript, largely due to my background in web development. My strong mathematical foundation stems from studying mathematics as part of my senior secondary curriculum, and my computer science major, which is heavily mathematics-based. Furthermore, I possess a solid understanding of mathematical functions, having studied subjects such as statistics, linear algebra, and various other mathematical topics during both my school and university education.

Prior art

Yes, the project has been implemented before as many of the math functions already have there math implementations in C. Its done through a very standardized process and very specific rules are followed while writing the code.

Commitment

I am willing to dedicate 16 hrs a week and going upto 18-19 hrs in case I am not able to meet my goals on a 12 week schedule

Schedule

Assuming a 12 week schedule,

  • Community Bonding Period:

  • Week 1:

  • Week 2:

  • Week 3:

  • Week 4:

  • Week 5:

  • Week 6: (midterm)

  • Week 7:

  • Week 8:

  • Week 9:

  • Week 10:

  • Week 11:

  • Week 12:

  • Final Week: Fix up any bugs and finish up any remaining work

Notes: The functions implemented may change.

  • The community bonding period is a 3 week period built into GSoC to help you get to know the project community and participate in project discussion. This is an opportunity for you to setup your local development environment, learn how the project's source control works, refine your project plan, read any necessary documentation, and otherwise prepare to execute on your project project proposal.
  • Usually, even week 1 deliverables include some code.
  • By week 6, you need enough done at this point for your mentor to evaluate your progress and pass you. Usually, you want to be a bit more than halfway done.
  • By week 11, you may want to "code freeze" and focus on completing any tests and/or documentation.
  • During the final week, you'll be submitting your project.

Related issues

#649

Checklist

  • I have read and understood the Code of Conduct.
  • I have read and understood the application materials found in this repository.
  • I understand that plagiarism will not be tolerated, and I have authored this application in my own words.
  • I have read and understood the patch requirement which is necessary for my application to be considered for acceptance.
  • The issue name begins with [RFC]: and succinctly describes your proposal.
  • I understand that, in order to apply to be a GSoC contributor, I must submit my final application to https://summerofcode.withgoogle.com/ before the submission deadline.
@AadishJ AadishJ added 2024 2024 GSoC proposal. rfc Project proposal. labels Jan 3, 2025
@kgryte kgryte added 2025 2025 GSoC proposal. and removed 2024 2024 GSoC proposal. rfc Project proposal. labels Jan 3, 2025
@kgryte kgryte changed the title [RFC]: Add C implementations to base special math functions Add C implementations to base special math functions Jan 3, 2025
@kgryte kgryte changed the title Add C implementations to base special math functions [RFC]: Add C implementations to base special math functions Jan 3, 2025
@kgryte kgryte added the rfc Project proposal. label Jan 3, 2025
@AadishJ AadishJ closed this as completed Jan 7, 2025
@AadishJ AadishJ reopened this Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2025 2025 GSoC proposal. rfc Project proposal.
Projects
None yet
Development

No branches or pull requests

2 participants