question: private void calculateD ( double [ ] b ) { int length = mExtremalIndices . size ( ) - 1 ; mD = new double [ length ] ; for ( int k = 0 ; k < length ; k ++ ) { mD [ k ] = b [ k ] * ( mGrid . getCosineFrequencyGrid ( ) [ mExtremalIndices . get ( k ) ] - mGrid . getCosineFrequencyGrid ( ) [ mExtremalIndices . get ( length ) ] ) ; } }
target:  Calculates the set of D values for the current extremal index set. Implements Oppenheim/Schafer Discrete Time Signal Processing, 3e, 2016, equation 116c