variable length array
a GCC extension, not C++ compliant (only C99) but really elegant, and allows here to half the stack useage of the PV arrays, while retaining the nicety of recursion.