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 */ fold( I, W, Nw, O, N, n ) float I[], W[], O[] ; int Nw, N, 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.