aboutsummaryrefslogtreecommitdiff
path: root/unittest/test_phi0.c
diff options
context:
space:
mode:
authordrowe67 <[email protected]>2023-07-14 10:33:23 +0930
committerGitHub <[email protected]>2023-07-14 10:33:23 +0930
commit6588e77f38bdebd7adffe091b22e7760d95d0ccb (patch)
treee015b6d01db10ff219f5d1cf49eb3dcadb7dbe48 /unittest/test_phi0.c
parentac7c48b4dee99d4c772f133d70d8d1b38262fcd2 (diff)
parent98992bc3585124981450659394d6f84032b81370 (diff)
Merge pull request #1 from drowe67/dr-cleanup
Cleanup
Diffstat (limited to 'unittest/test_phi0.c')
-rw-r--r--unittest/test_phi0.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/unittest/test_phi0.c b/unittest/test_phi0.c
deleted file mode 100644
index 8063843..0000000
--- a/unittest/test_phi0.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- FILE...: test_phi0.c
- AUTHOR.: Matthew C. Valenti, Rohit Iyer Seshadri, David Rowe, Don Reid
- CREATED: Sep 2018
-
- Compare new generated phi0 function to what was originally in mpdecode_core.c
-*/
-
-#include <math.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "phi0.h"
-
-
-/* Original Phi function */
-static float phi0_orig( float x ) {
- float z;
-
- if (x>10)
- return( 0 );
- else if (x< 9.08e-5 )
- return( 10 );
- else if (x > 9)
- return( 1.6881e-4 );
- /* return( 1.4970e-004 ); */
- else if (x > 8)
- return( 4.5887e-4 );
- /* return( 4.0694e-004 ); */
- else if (x > 7)
- return( 1.2473e-3 );
- /* return( 1.1062e-003 ); */
- else if (x > 6)
- return( 3.3906e-3 );
- /* return( 3.0069e-003 ); */
- else if (x > 5)
- return( 9.2168e-3 );
- /* return( 8.1736e-003 ); */
- else {
- z = (float) exp(x);
- return( (float) log( (z+1)/(z-1) ) );
- }
-}
-
-////////////////////////////////////////////////////
-// Main
-int main(void) {
-
- float xf;
- float error;
- int errsum = 0;
- int errsum2 = 0;
- int errcnt = 0;
-
- for (xf=10.5f; xf>5e-5f; xf = xf * 0.9) {
-
- float orig = phi0_orig(xf);
- float new = phi0(xf);
-
- error = new - orig;
- printf("%10.4f: %10.6f - %10.6f = %10.6f", xf, new, orig, error);
- if ((error >= 0.001) && (error >= (orig * 0.1))) printf(" ****");
- printf("\n");
-
- errsum += error;
- errsum2 += error * error;
- errcnt ++;
-
- }
-
- printf("Net error %f\n", (double)errsum);
- printf("avg error %f\n", (double)errsum/errcnt);
- printf("rms error %f\n", (double)sqrt(errsum2/errcnt));
-
- return(0);
-}
-
-/* vi:set ts=4 et sts=4: */