aboutsummaryrefslogtreecommitdiff
path: root/unittest/test_phi0.c
diff options
context:
space:
mode:
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: */