summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2010-09-24 22:29:48 -0400
committerSøren Sandmann Pedersen <ssp@redhat.com>2010-09-24 22:29:48 -0400
commite939870b62a716f1314e278256dac83fee486b97 (patch)
tree5088dc8e2f7eb795ef883cf751d1cc093a693f02
parent2b2574daa7ea65aab21f821279b3e92122ae823f (diff)
common subexpression
-rw-r--r--fft.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fft.c b/fft.c
index 3f4c6fe..b8af1f4 100644
--- a/fft.c
+++ b/fft.c
@@ -8,6 +8,7 @@ do_fft (complex_t *buffer, int n, complex_t principal)
{
complex_t *temp, *even, *odd;
complex_t alpha;
+ complex_t p2;
int i;
if (n == 1)
@@ -23,8 +24,10 @@ do_fft (complex_t *buffer, int n, complex_t principal)
odd[i] = buffer[2 * i + 1];
}
- do_fft (even, n/2, complex_mul (principal, principal));
- do_fft (odd, n/2, complex_mul (principal, principal));
+ p2 = complex_mul (principal, principal);
+
+ do_fft (even, n/2, p2);
+ do_fft (odd, n/2, p2);
alpha.re = 1.0;
alpha.im = 0;