Due to the use of the "mask", the Parameterizable implementation is complex and inefficient (the main design decision behind it was to keep the implementations in its subclasses simple; now I see it makes Parameterizable itself too complex).
It should be refactored so that:
Subclasses return a vector of the right size, as is done in the Python implementation (rather than vector_all)
Subclasses must return min_values/max_values, and be smart about which block of parameters they belong to.
That should make the code easier to debug. The current complexity is the bottleneck for allowing DmpWithGainSchedules to inherit from Parameterizable (see #61)
Due to the use of the "mask", the Parameterizable implementation is complex and inefficient (the main design decision behind it was to keep the implementations in its subclasses simple; now I see it makes Parameterizable itself too complex).
It should be refactored so that:
That should make the code easier to debug. The current complexity is the bottleneck for allowing DmpWithGainSchedules to inherit from Parameterizable (see #61)