So, the first task in creating a roadmap was considering dependencies within the functions I'll be implementing; another consideration was the current form of the code—is it R or C? As such, I've established this set of dependencies:
R-only code:
- cubicwgt
- nucorrcoeff
- nuwaveletcoeff
- lombnormcoeff
- lombcoeff
- nurealcoeff
C implemented code:
- nureal
- nucomplex
- fastnucomplex
- nuwavelet
- fastnuwavelet
Now, nureal, nucomplex, and nuwavelet are all fairly short functions, for which probably far less effort will be necessary in order to implement them compared to their fast versions; all of the R-only functions are even shorter; as such, I'm proposing to complete these functions in the following order:
- cubicwgt
- nucorrcoeff
- nuwaveletcoeff
- nureal
- nucomplex
- fastnucomplex
- lombnormcoeff
- fastnureal
- nuwavelet
- lombcoeff
- fastnuwavelet
- nurealcoeff
This distribution of tasks is slightly tail-weighted, as it features three R-only functions right off the bat, but the structure of all three fast functions is fairly similar at the core (in fact, I will examine them a little more closely to determine if they would be better implemented with shared code, since they all have a similar divide-and-conquer structure.) This leads me to believe that it is not outlandish to consider being somewhere around 7 or 8 by the time midterms come around, with all previous functions completed and tested against their reference implementations, as well as documented.
As a postscript, there is no R function wrapper for nuwavelet; it exists only in the C code, and is not referred to elsewhere. I'll look into that a bit more closely before starting on it.
No comments:
Post a Comment