diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2006-02-09 16:18:39 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2006-02-09 16:18:39 +0000 |
commit | b418fb91e7bb45d7b5f1eb8b19703441ae94eb13 (patch) | |
tree | 3f4a32d0b99d4ea0ac602bec59f0d2accba46719 /lib/leanunconvert.c |
got everything building and working, including building single-object/single-file objects with a shared dylib. Now got to get it integrated into the build systemsvn2git-root
svn path=/trunk/externals/fftease/; revision=4574
Diffstat (limited to 'lib/leanunconvert.c')
-rw-r--r-- | lib/leanunconvert.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/leanunconvert.c b/lib/leanunconvert.c new file mode 100644 index 0000000..4880729 --- /dev/null +++ b/lib/leanunconvert.c @@ -0,0 +1 @@ +#include "fftease.h"
/* unconvert essentially undoes what convert does, i.e., it
turns N2+1 PAIRS of amplitude and frequency values in
C into N2 PAIR of complex spectrum data (in rfft format)
in output array S; sampling rate R and interpolation factor
I are used to recompute phase values from frequencies */
void leanunconvert( float *C, float *S, int N2 )
{
double cos(), sin();
int real, imag,
amp, phase;
register int i;
for ( i = 0; i <= N2; i++ ) {
imag = phase = ( real = amp = i<<1 ) + 1;
S[real] = *(C+amp) * cos( *(C+phase) );
if ( i != N2 )
S[imag] = -*(C+amp) * sin( *(C+phase) );
}
}
\ No newline at end of file |