aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/fftease/src/leanconvert.c
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-01-07 00:28:39 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-01-07 00:28:39 +0000
commit0182bbff2871114a4e93cc97942da621491f0e02 (patch)
tree039da4b12120b8481391c0fc904664c3dcbe7449 /externals/grill/fftease/src/leanconvert.c
parentea175e0b95f848dcd203e7fbc1941c20616ec4f5 (diff)
""
svn path=/trunk/; revision=325
Diffstat (limited to 'externals/grill/fftease/src/leanconvert.c')
-rw-r--r--externals/grill/fftease/src/leanconvert.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/externals/grill/fftease/src/leanconvert.c b/externals/grill/fftease/src/leanconvert.c
new file mode 100644
index 00000000..36b1452a
--- /dev/null
+++ b/externals/grill/fftease/src/leanconvert.c
@@ -0,0 +1,19 @@
+#include "pv.h"
+
+void leanconvert( float *S, float *C, int N2 )
+{
+
+ int real, imag,
+ amp, phase;
+ float a, b;
+ int i;
+
+ for ( i = 0; i <= N2; i++ ) {
+ imag = phase = ( real = amp = i<<1 ) + 1;
+ a = ( i == N2 ? S[1] : S[real] );
+ b = ( i == 0 || i == N2 ? 0. : S[imag] );
+ C[amp] = hypot( a, b );
+ C[phase] = -atan2( b, a );
+ }
+}
+