Skip to content

Instantly share code, notes, and snippets.

@lolgear
Last active December 17, 2015 13:09
Show Gist options
  • Save lolgear/5614978 to your computer and use it in GitHub Desktop.
Save lolgear/5614978 to your computer and use it in GitHub Desktop.
GNU Scientific Library (GSL) bindings for Parrot

Abstract

This project can be thought of as porting a subset Math::GSL to Parrot.

Details

There are many GSL subsystems, so this project should focus on binding to Special Function, Random Distributions and Cumulative Distribution Functions (CDFs), which have the simplest function signatures. Deliverables will be the implementation, examples, docs and tests.

Schedule

May 27- June 16:

This period I will spent on read documentation to parrot, also see examples of GSL library.

June 17- June 23:

At this time I will start making first steps, maybe refresh knowledge of math functions and understand some parts of GSL library "weak" places (if they exists).

June 24- June 30:

Ok, after find all functions that I need to bind, I will start with Random functions. I will bind not all, but only that functions, that doesn't use special functions (like gamma), because it will be next step.

July 1 - July 7:

This time I will spent for Special functions and other Random functions, that use Special. Also, this period I will write tests connected to random functions. (as a part I will write test for special functions)

July 8 - July 14:

Last part is CDF functions. Write binding and also write tests here. Also, put documentation for all other functions.

July 15 - July 21:

here I will add last CDF function. If I were lazy, I will add others, too. Just a joke :) At this time I will think about more simple deployment of these functions. (find dependences, duplicate code, etc.)

July 22 - July 28:

Code cleaning, I think. Here I will rename variables, helpers-functions and other.

July 29:

Midterm. If I really did my plan, I will be glad. :)

Nope, I will write examples, If all tests are good enough. Clean documentation.

July 29 - August 4:

As I know, after a midterm, I will find troubles, bugs. So, fix them.

August 5 - August 11:

If all be alright, all work will done here, but not. Rewriting code (that will be written at the beginning, adding more flexibility and restrictions).

August 12 - August 25:

Last work will be done here. Add classes here and oop-paradigm.

August 26 - September 1:

Restructuring code, add examples and tests.

September 2 - September 15:

Create beautiful code here. It is necessary, that people want to support it.

September 16 - September 22:

Ok, here work will done. Tests will not be broken. Documentation will be good enough for reading.

September 23:

Submit code to Google. If all ok, I will merging it with master.

@leto
Copy link

leto commented May 20, 2013

Good start! Mention specific functions that will and will not be included. Which functions have the simplest signatures? Which have slightly more complex signatures? The more research you do now, the easier it will be later on. I promise :)

@leto
Copy link

leto commented May 20, 2013

Also, find one or a few C example programs from GSL or Math::GSL and make one of your deliverables translating them into PIR and/or Winxed :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment