Unified · Split
| @@ -28,7 +28,7 @@ · 27 unmodified lines | ||
| 28 | 28 | #define LONG_BUFFER_LEN ((1 << 16) - 20) |
| 29 | 29 | |
| 30 | 30 | static void stream_test (int converter, double ratio) ; |
| 31 | −static void term_test (int converter, double ratio) ; | |
| 31 | +static void init_term_test (int converter, double ratio) ; | |
| 32 | 32 | |
| 33 | 33 | static int next_block_length (int reset) ; |
| 34 | 34 | |
| @@ -44,7 +44,7 @@ main (void) · 9 unmodified lines | ||
| 44 | 44 | puts ("\n Zero Order Hold interpolator:") ; |
| 45 | 45 | |
| 46 | 46 | for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++) |
| 47 | − term_test (SRC_ZERO_ORDER_HOLD, src_ratios [k]) ; | |
| 47 | + init_term_test (SRC_ZERO_ORDER_HOLD, src_ratios [k]) ; | |
| 48 | 48 | puts ("") ; |
| 49 | 49 | for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++) |
| 50 | 50 | stream_test (SRC_ZERO_ORDER_HOLD, src_ratios [k]) ; |
| @@ -52,7 +52,7 @@ main (void) · 1 unmodified line | ||
| 52 | 52 | |
| 53 | 53 | puts ("\n Linear interpolator:") ; |
| 54 | 54 | for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++) |
| 55 | − term_test (SRC_LINEAR, src_ratios [k]) ; | |
| 55 | + init_term_test (SRC_LINEAR, src_ratios [k]) ; | |
| 56 | 56 | puts ("") ; |
| 57 | 57 | for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++) |
| 58 | 58 | stream_test (SRC_LINEAR, src_ratios [k]) ; |
| @@ -60,7 +60,7 @@ main (void) · 1 unmodified line | ||
| 60 | 60 | |
| 61 | 61 | puts ("\n Sinc interpolator:") ; |
| 62 | 62 | for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++) |
| 63 | − term_test (SRC_SINC_FASTEST, src_ratios [k]) ; | |
| 63 | + init_term_test (SRC_SINC_FASTEST, src_ratios [k]) ; | |
| 64 | 64 | puts ("") ; |
| 65 | 65 | for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++) |
| 66 | 66 | stream_test (SRC_SINC_FASTEST, src_ratios [k]) ; |
| @@ -71,14 +71,14 @@ main (void) · 4 unmodified lines | ||
| 71 | 71 | } /* main */ |
| 72 | 72 | |
| 73 | 73 | static void |
| 74 | −term_test (int converter, double src_ratio) | |
| 74 | +init_term_test (int converter, double src_ratio) | |
| 75 | 75 | { static float input [SHORT_BUFFER_LEN], output [SHORT_BUFFER_LEN] ; |
| 76 | 76 | |
| 77 | 77 | SRC_DATA src_data ; |
| 78 | 78 | |
| 79 | − int input_len, output_len, error, terminate ; | |
| 79 | + int k, input_len, output_len, error, terminate ; | |
| 80 | 80 | |
| 81 | − printf ("\ttermination_test (SRC ratio = %7.4f) .......... ", src_ratio) ; | |
| 81 | + printf ("\tinit_term_test (SRC ratio = %7.4f) .......... ", src_ratio) ; | |
| 82 | 82 | fflush (stdout) ; |
| 83 | 83 | |
| 84 | 84 | /* Calculate maximun input and output lengths. */ |
| @@ -94,6 +94,9 @@ term_test (int converter, double src_ratio) · 9 unmodified lines | ||
| 94 | 94 | /* Reduce input_len by 10 so output is longer than necessary. */ |
| 95 | 95 | input_len -= 10 ; |
| 96 | 96 | |
| 97 | + for (k = 0 ; k < ARRAY_LEN (input) ; k++) | |
| 98 | + input [k] = 1.0 ; | |
| 99 | + | |
| 97 | 100 | if (output_len > SHORT_BUFFER_LEN) |
| 98 | 101 | { printf ("\n\nLine %d : output_len > SHORT_BUFFER_LEN\n\n", __LINE__) ; |
| 99 | 102 | exit (1) ; |
| @@ -132,10 +135,16 @@ term_test (int converter, double src_ratio) · 32 unmodified lines | ||
| 132 | 135 | exit (1) ; |
| 133 | 136 | } ; |
| 134 | 137 | |
| 138 | + if (fabs (output [0]) < 0.1) | |
| 139 | + { printf ("\n\nLine %d : First output sample is bad.\n\n", __LINE__) ; | |
| 140 | + printf ("\toutput [0] == %f\n\n", output [0]) ; | |
| 141 | + exit (1) ; | |
| 142 | + } | |
| 143 | + | |
| 135 | 144 | puts ("ok") ; |
| 136 | 145 | |
| 137 | 146 | return ; |
| 138 | −} /* term_test */ | |
| 147 | +} /* init_term_test */ | |
| 139 | 148 | |
| 140 | 149 | static void |
| 141 | 150 | stream_test (int converter, double src_ratio) |