return sqrtf(powf(a.real, 2.0) + powf(a.imag, 2.0));
}
+/*
+ * Euler's formula in a new convenient function
+ */
+inline static COMP comp_exp_j(float phi){
+ COMP res;
+ res.real = cosf(phi);
+ res.imag = sinf(phi);
+ return res;
+}
+
+/*
+ * Quick and easy complex 0
+ */
+inline static COMP comp0(){
+ COMP res;
+ res.real = 0;
+ res.imag = 0;
+ return res;
+}
+
+/*
+ * Quick and easy complex subtract
+ */
+inline static COMP csub(COMP a, COMP b){
+ COMP res;
+ res.real = a.real-b.real;
+ res.imag = a.imag-b.imag;
+ return res;
+}
+
+/*
+ * Compare the magnitude of a and b. if |a|>|b|, return true, otw false.
+ * This needs no square roots
+ */
+inline static int comp_mag_gt(COMP a,COMP b){
+ return ((a.real*a.real)+(a.imag*a.imag)) > ((b.real*b.real)+(b.imag*b.imag));
+}
+
+/*
+ * Normalize a complex number's magnitude to 1
+ */
+inline static COMP comp_normalize(COMP a){
+ COMP b;
+ float av = cabsolute(a);
+ b.real = a.real/av;
+ b.imag = a.imag/av;
+ return b;
+}
+
#endif
\*---------------------------------------------------------------------------*/
-/*
- * Euler's formula in a new convenient function
- */
-static inline COMP comp_exp_j(float phi){
- COMP res;
- res.real = cosf(phi);
- res.imag = sinf(phi);
- return res;
-}
-
-/*
- * Quick and easy complex 0
- */
-static inline COMP comp0(){
- COMP res;
- res.real = 0;
- res.imag = 0;
- return res;
-}
-
-/*
- * Quick and easy complex subtract
- */
-static inline COMP csub(COMP a, COMP b){
- COMP res;
- res.real = a.real-b.real;
- res.imag = a.imag-b.imag;
- return res;
-}
-
-/*
- * Compare the magnitude of a and b. if |a|>|b|, return true, otw false.
- * This needs no square roots
- */
-static inline int comp_mag_gt(COMP a,COMP b){
- return ((a.real*a.real)+(a.imag*a.imag)) > ((b.real*b.real)+(b.imag*b.imag));
-}
-
-/*
- * Normalize a complex number's magnitude to 1
- */
-static inline COMP comp_normalize(COMP a){
- COMP b;
- float av = sqrtf((a.real*a.real)+(a.imag*a.imag));
- b.real = a.real/av;
- b.imag = a.imag/av;
- return b;
-}
#ifdef USE_HANN_TABLE
/*