private void calculateC(){
  int length=mSpecification.getExtremaCount() - 1;
  mIdealFrequencyResponse=new double[length];
  double sign=1.0;
  for (int k=0; k < length; k++) {
    if (k < mExtremalIndices.size()) {
      int index=mExtremalIndices.get(k);
      mIdealFrequencyResponse[k]=mGrid.getDesiredResponse()[index] - (sign * mDelta / mGrid.getWeight()[index]);
      sign=-sign;
    }
  }
}

private void calculateC ( ) { int length = mSpecification . getExtremaCount ( ) - 1 ; mIdealFrequencyResponse = new double [ length ] ; double sign = 1.0 ; for ( int k = 0 ; k < length ; k ++ ) { if ( k < mExtremalIndices . size ( ) ) { int index = mExtremalIndices . get ( k ) ; mIdealFrequencyResponse [ k ] = mGrid . getDesiredResponse ( ) [ index ] - ( sign * mDelta / mGrid . getWeight ( ) [ index ] ) ; sign = - sign ; } } }
calculates the ideal frequency response ( c ) of the current extremal index set . this reference is used to determine the level of error in the set of actual frequency responses calculated from this set of extremal indices to determine convergence . implements oppenheim / schafer discrete time signal processing , 3e , 2016 , equation 116b
