Moved complex helper functions from fsk.c to comp_prim.h
authorbaobrien <baobrien@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 4 Dec 2016 08:52:48 +0000 (08:52 +0000)
committerbaobrien <baobrien@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 4 Dec 2016 08:52:48 +0000 (08:52 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@2920 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/src/comp_prim.h
codec2-dev/src/fsk.c

index af402c14b9984d339a4371b70a8e568229315acd..4d130bc4873089d9a9050a5362d1d03f7bdd51fd 100644 (file)
@@ -89,4 +89,53 @@ inline static float cabsolute(COMP a)
     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
index 700437bf2fe787af882eb63a18145739cc86d71e..ef64b67e60e7b01bfe9e3230ad4755fd41d65d37 100644 (file)
 
 \*---------------------------------------------------------------------------*/
 
-/*
- * 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
 /*