ftp.nice.ch/pub/next/unix/audio/cmusic.bs.N.tar.gz#/src/pvdsp/fold.c

This is fold.c in view mode; [Download] [Up]

/*
 * multiply current input I by window W (both of length Nw);
 * using modulus arithmetic, fold and rotate windowed input
 * into output array O of (FFT) length N according to current
 * input time n
 */
void fold( float I[], float W[], int Nw, float O[], int N, int n ) {
 int i ;
    for ( i = 0 ; i < N ; i++ )
	O[i] = 0. ;
   while ( n < 0 )
	n += N ;
     n %= N ;
     for ( i = 0 ; i < Nw ; i++ ) {
        O[n] += I[i]*W[i] ;
	if ( ++n == N )
	    n = 0 ;
    }
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.