public double old(int milliseconds = 0) // Single index only { if (milliseconds <= 0) { milliseconds = Manager.DefaultOffset; } var prevFrameIndex = IndexFromOffset(FrameOffset(milliseconds)); return(Manager.History[prevFrameIndex, FeatureIndexes.First()]); }
public double delta(int startMilliseconds, int endMilliseconds) // Single index only { var featureIndex = FeatureIndexes.First(); double start; if (startMilliseconds <= 0) { start = this[featureIndex].current; startMilliseconds = 0; } else { start = this[featureIndex].old(startMilliseconds); } return(start / this[featureIndex].old(endMilliseconds - startMilliseconds)); }
// Incomplete public double dupeDelta(int milliseconds = 0) // Single index only { var featureIndex = FeatureIndexes.First(); return(this[featureIndex].min(milliseconds) / this[featureIndex].max(milliseconds, milliseconds * 2)); }