public static void ignorm(double c1[],double c2[],int m,double ng){
  if (ng != 0.0) {
    double k=Math.pow(c1[0],ng);
    for (int i=m; i >= 1; i--)     c2[i]=k * c1[i];
    c2[0]=(k - 1.0) / ng;
  }
 else {
    System.arraycopy(c1,1,c2,1,m - 1);
    c2[0]=Math.log(c1[0]);
  }
}

public static void ignorm ( double c1 [ ] , double c2 [ ] , int m , double ng ) { if ( ng != 0.0 ) { double k = Math . pow ( c1 [ 0 ] , ng ) ; for ( int i = m ; i >= 1 ; i -- ) c2 [ i ] = k * c1 [ i ] ; c2 [ 0 ] = ( k - 1.0 ) / ng ; } else { System . arraycopy ( c1 , 1 , c2 , 1 , m - 1 ) ; c2 [ 0 ] = Math . log ( c1 [ 0 ] ) ; } }
ignorm : inverse gain normalization
