Hello,
Firstly, I've never contributed to a free software project before.
I've recently been working with Matlab, and the code I'm using has dependencies on the integral2 function. Sadly, this function is unimplemented in octave, meaning I can't run it on my home
computer, etc.. So on a whim, I've decided to try my hand at implementing it, as well as integral and integral3, since they are related.
I think that the most reasonable way of implementing integral2 and integral3 is probably to use this code:
It's licensed under the GPLv3, so no problems there.
My reasoning for this is that integral2 and integral3 both support a "tiled" method, which seems to correspond to what this cubature code does.
Things I will probably have trouble with:
- Interfacing between the cubature code and the octave code. I've noticed that there is an octave_function class, which apparently represents octave function handles, used by quadcc. However, since the cubature code is written in C as opposed to C++, I'm not really sure how to go about using it. Should I make a C++ file as an intermediate? Should I attempt to convert the cubature code to C++ code?
- Compiling. The makefile is massive and rather poorly commented,
so I have no idea where I would put rules to ensure that the cubature code gets built correctly, and further how to build it in such a way that its function is accessible to be called from the octave code.
- General newbishness. My suggestions have probably broken a hundred rules already.
I will say that I at least read the
contributing guidelines in the documentation, so I have that going for me.
Any help, advice, etc. is greatly appreciated.
Thanks,
Jeremy Whitton