08 May 2012

Assembling a roadmap

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
    • fastnureal
  • 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:

  1. cubicwgt
  2. nucorrcoeff
  3. nuwaveletcoeff
  4. nureal
  5. nucomplex
  6. fastnucomplex
  7. lombnormcoeff
  8. fastnureal
  9. nuwavelet
  10. lombcoeff
  11. fastnuwavelet
  12. 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