Madhav2310's Blog

GSoC Journey Blog Week 8

Madhav2310
Published: 08/06/2022

What did you do this week? 

  1. Modulo(3rd argument) added to pow #876 Merged with Main - Turns out the pow function of the math.py library and the builtin libraries and modulo function is something of the builtin lib and not the former. 
  2. Fmean, Median, Median_low, median_high, mean overload functions implemented #877 - Open - After having implemented the Fmean, Median, Median_low, Median_high functions, I pushed it. based on the suggestions and improvements we discovered a bunch of issues. For example I was writing sorting code for a bunch of functions. So as suggested I tried making a single internal _sort() function, which worked well. Howeve when I tried to overload it for f64 and i32, It threw an error. Similarly on enabling llvm for statistics, we discovered an error in the symbol table which is being worked on now.

  3. Variance and stdev functions added to statistics.py #901 - Will be merged after issues of #877 getting resolved.

Did you get stuck anywhere?

I'm also parallelly working on the numpy_intrinsic library, however I was having trouble understanding the construction of the elemental tests for the functions. 

What is coming up next?

I'll try to get all the open PRs merged while proceeding on expanding the statistics module. I'll also make sure to make make progress on and push some numpy_intrinsic functions alongside appropriate tests.

View Blog Post

GSoC Journey Blog Week 7

Madhav2310
Published: 07/29/2022

What did you do this week?

Due to on-campus Internship tests in my Institute, I had requested a leave this week. I'll make sure to make up for it in the coming weeks.

What is coming up next?

I'll still have my tests ongoing (about 2-3 every day) in the upcoming week, but I'll try to push some PRs on the statistics.py and lpython_intrinsic_numpy.py libraries.

View Blog Post

GSoC Journey Blog Week 6

Madhav2310
Published: 07/24/2022

What did you do this week?

PRs Merged:

  1. Mean, Geometric Mean & Harmonic mean Functions implemented in Statistics.py module #769 : Initiated the Statistics.py module and implemented mean (overloaded for different datatypes), geometric_mean & hyperbolic_mean along with integration tests for each.
  2. Supplementing pow tests #747

Ongoing Pull requests:

  1. Do_loop increment variable generalized #771 - I'm still working on it. This feature is pread over quite some files, so its taking a bit longer to resolve errors.

On hold due to missing supports

  1. Decimal Module : Errors resolved and ready for merging.
  2. Capitalize, upper and lower python builtin functions : Errors resolved, On hold as classes and class methods are not implemented yet.

What is coming up next?

I have company interviews happening in my institute campus over the next ~10 days, so I'll be able to contribute for less number of hours. However, I'll surely make up for it in the upcoming weeks. I'll work on PR #771(Do_loop increment variable generalized) and get it merged.

 

View Blog Post

GSoC Journey Blog Week 5

Madhav2310
Published: 07/15/2022

What did you do this week?

Issues raised:

  1. DoLoops not working for i64 increment variable #770

Ongoing Pull requests:

  1. Do_loop increment variable generalized #771 
  2. Mean, Geometric Mean & Harmonic mean Functions implemented in Statistics.py module #769 : Initiated the Statistics.py module and implemented mean (overloaded for different datatypes), geometric_mean & hyperbolic_mean along with integration tests for each.
  3. Decimal Module : Errors resolved and ready for merging.
  4. Supplementing pow tests #747
  5. Capitalize, upper and lower python builtin functions : Errors resolved, On hold as classes and class methods are not implemented yet.

While implementing Capitalize, I was looping over the character array with i64 as increment variable. As it turned out, for loop had been implemented to only work with i32. So I raised this an issue, and with tried to fix it by accepting the use case datatype and iterating using that. Other than that, its was becoming complicated to implement methods without class support so I've moved to functions and have begun the statistics module.

What is coming up next?

As the Mid Eval is close, I'll try to get all the open PRs merged while proceeding on expanding the statistics module. 

Did you get stuck anywhere?

I raised an issue wherever I got stuck and the mentors suggested workarounds. it gets very tricky to pass tests and checks with methods implementations. So I'll for the meantime I'll focus more on functions based modules as per my GSoC proposal. 

View Blog Post

GSoC Journey Blog Week 4

Madhav2310
Published: 07/08/2022

What did you do this week?

Issues raised:

  1. bug in list implementation #733

  2. Add support for loop iteration #732

  3. <ast::annassign_t>Error while implementing dataclass #732</ast::annassign_t>

Ongoing Pull requests:

  1. Decimal Module 

  2. Supplementing pow tests #747

  3. Capitalize, upper and lower python builtin functions

This week I got the "Implementing multiple datatypes for pow & fabs functions" PR merged and made significant strives towards new PRs. Until now I had entirely been working on the front-end, but this week I worked on the back-end compile time code of upper, lower, capitalize functions. The decimal module is real close to being merged too, which will then open the gates for many more functions being implemented.

What is coming up next?

Finish The Decimal module initiation and work on other string builtin functions parallelly.

Did you get stuck anywhere?

I raised an issue wherever I got stuck and the mentors suggested workarounds. I got to learn well this week too thanks to Gagandeep and Naman. 

View Blog Post