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

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

#include <stdio.h>
#include <math.h>

#define LENGTH 16


main( int argc, char *argv[] ) {
 int N = LENGTH ;
 double pi2oN = 8.*atan(1.)/N ;
 float x1[LENGTH], x2[LENGTH], X[LENGTH], amp, freq ;
 int n, sincos ;
 void rfft( float [], int, int ) ;
    amp = atof( argv[1] ) ;
    freq = atof( argv[2] ) ;
    sincos = atoi( argv[3] ) ;
    if ( sincos )
	for ( n = 0 ; n < N ; n++ ) 
	    X[n] = x1[n] = amp*sin( pi2oN*freq*n ) ;
    else
	for ( n = 0 ; n < N ; n++ ) 
	    X[n] = x1[n] = amp*cos( pi2oN*freq*n ) ;
	/*
	x1[n] = sin( pi2oN*1*n ) + .33*sin( pi2oN*3*n ) + .2*sin( pi2oN*5*n ) ;
	*/
    rfft( X, N/2, 1 ) ;
    for ( n = 0 ; n < N ; n++ ) 
	x2[n] = X[n] ;
    rfft( x2, N/2, 0 ) ;
    for ( n = 0 ; n < N ; n++ ) {
	printf( "[%2d] %7.4f", n, x1[n] ) ;
	printf( "    " ) ;
	if ( n < N/2 )
	    printf( "( %7.4f, %7.4f)", X[2*n], X[2*n+1] ) ;
	else
	    printf( "                   " ) ;
	printf( "    " ) ;
	printf( "%7.4f\n", x2[n] ) ;
    }
}

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