1/7 main.test.rational time test sum/product...
Reports how many iterations before the sum of rational integers is not equal to the product for NTSC rates.
Increment | Iterations | s | sum | product | iter/s |
---|---|---|---|---|---|
1001/24000 | 2145342 | 1.036d | 1073743670/12000 | 357914557/4000 | 1.52e6 |
1001/30000 | 2145342 | 19.884h | 1073743670/15000 | 357914557/5000 | 1.52e6 |
OK 2/7 main.test.rational time test sum/product w/ scale...
Reports how many iterations before the sum of rational integers is not equal to the product for NTSC rates.
Increment | Iterations | s | sum | product | iter/s |
---|---|---|---|---|---|
1001/48000 | 2145342 | 12.428h | 1073743670/24000 | 357914557/8000 | 1.49e6 |
1001/60000 | 2145342 | 9.942h | 1073743670/30000 | 357914557/10000 | 1.51e6 |
OK 3/7 main.test.Floating point product vs Sum Test...
Reports how many iterations before the sum is not equal to the product by more than half a frame
rate | iterations | tolerance | wall clock time | iterations/s |
---|---|---|---|---|
24 | 9418 | 0.020833334 | 6.540m | 9.96e8 |
24 | 1320 | 0.0005 | 55.001s | 8.33e8 |
23.976025 | 10059 | 0.020854166 | 6.993m | 1.01e9 |
23.976025 | 1206 | 0.0005 | 50.301s | 9.04e8 |
29.97003 | 10178 | 0.016683333 | 5.660m | 1.02e9 |
29.97003 | 1719 | 0.0005 | 57.358s | 1.01e9 |
120 | 6410 | 0.004166667 | 53.421s | 1.01e9 |
120 | 4350 | 0.0005 | 36.251s | 9.94e8 |
44100 | 11003 | 0.000011337868 | 0.250s | 1.03e9 |
44100 | 43366 | 0.0005 | 0.983s | 1.04e9 |
48000 | 8651 | 0.000010416667 | 0.180s | 1.03e9 |
48000 | 42861 | 0.0005 | 0.893s | 1.04e9 |
192000 | 8651 | 0.0000026041666 | 0.045s | 1.02e9 |
192000 | 95880 | 0.0005 | 0.500s | 1.04e9 |
rate | iterations | tolerance | wall clock time | iterations/s |
---|---|---|---|---|
24 | 187904821 | 0.020833333333333332 | 90.618d | 1.04e9 |
24 | 36641440 | 0.0005 | 17.670d | 1.02e9 |
23.976023976023978 | 275100607 | 0.020854166666666667 | 132.801d | 1.03e9 |
23.976023976023978 | 34051488 | 0.0005 | 16.438d | 1.03e9 |
29.97002997002997 | 170408320 | 0.016683333333333335 | 65.810d | 1.03e9 |
29.97002997002997 | 28345649 | 0.0005 | 10.947d | 1.03e9 |
120 | 223038290 | 0.004166666666666667 | 21.512d | 1.03e9 |
120 | 51714711 | 0.0005 | 4.988d | 1.04e9 |
44100 | 222189469 | 0.000011337868480725624 | 1.400h | 1.04e9 |
44100 | 1396578624 | 0.0005 | 8.797h | 1.04e9 |
48000 | 146783537 | 0.000010416666666666666 | 50.967m | 1.04e9 |
48000 | 1815515153 | 0.0005 | 10.506h | 1.04e9 |
192000 | 146783537 | 0.0000026041666666666666 | 12.742m | 1.04e9 |
192000 | 2254773172 | 0.0005 | 3.262h | 1.04e9 |
OK 4/7 main.test.Floating point product vs Sum Test w/ Scale...
Reports how many iterations before the sum is not equal to the product by more than half a frame.
rate | iterations | tolerance | wall clock time | iterations/s |
---|---|---|---|---|
24 | 11467 | 0.020833334 | 3.981m | 9.90e8 |
23.976025 | 16165 | 0.020854166 | 5.618m | 9.67e8 |
29.97003 | 11702 | 0.016683333 | 3.254m | 9.85e8 |
120 | 14935 | 0.004166667 | 1.037m | 1.03e9 |
44100 | 13961 | 0.000011337868 | 0.158s | 1.02e9 |
48000 | 15565 | 0.000010416667 | 0.162s | 1.04e9 |
192000 | 15565 | 0.0000026041666 | 0.041s | 1.03e9 |
rate | iterations | tolerance | wall clock time | iterations/s |
---|---|---|---|---|
24 | 308700774 | 0.020833333333333332 | 74.436d | 1.04e9 |
23.976023976023978 | 443471744 | 0.020854166666666667 | 107.040d | 1.04e9 |
29.97002997002997 | 208318011 | 0.016683333333333335 | 40.225d | 1.04e9 |
120 | 357256029 | 0.004166666666666667 | 17.229d | 1.04e9 |
44100 | 249437477 | 0.000011337868480725624 | 47.135m | 1.05e9 |
48000 | 193467964 | 0.000010416666666666666 | 33.588m | 1.03e9 |
192000 | 193467964 | 0.0000026041666666666666 | 8.397m | 1.04e9 |
OK 5/7 main.test.Floating point division to integer test...
Measures if the correct integer frame number and phase offset can be recovered from a large time value.
rate | iter | Failure | failure frame | expected | measured | iter/s |
---|---|---|---|---|---|---|
24 | 10e11 | frame is wrong | 2400000100000 | 27777780.000d | 100000000000 | 100000006144 |
23.976025 | 10e3 | Fract is not 0 | 23976.025 | 6.660h | 0 | 100 |
25 | 10e11 | frame is wrong | 2500000000000 | 28935184.000d | 100000000000 | 99999997952 |
29.97003 | 10e4 | Fract is not 0 | 299700.28 | 3.469d | 0 | 1000 |
120 | 10e9 | frame is wrong | 120000000000 | 1388888.900d | 1000000000 | 1000000064 |
44100 | 10e6 | Fract is not 0 | 44099998000 | 510416.620d | 0 | 100000 |
48000 | 10e8 | frame is wrong | 4800000300000 | 55555560.000d | 100000000 | 100000008 |
192000 | 10e8 | frame is wrong | 19200001000000 | 222222240.000d | 100000000 | 100000008 |
rate | iter | Failure | failure frame | expected | measured | iter/s |
---|---|---|---|---|---|---|
24 | 10e23 | frame is wrong | 2400000000000000000000000 | 27777777777777780000.000d | 100000000000000000000000 | 100000000000000008388608 |
23.976023976023978 | 10e2 | Fract is not 0 | 2397.602397602398 | 39.960m | 0 | 10 |
25 | 10e21 | frame is wrong | 25000000000000000000000 | 289351851851851840.000d | 1000000000000000000000 | 999999999999999868928 |
29.97002997002997 | 10e16 | frame is wrong | 299700299700299650 | 3468753468753.468d | 10000000000000000 | 9999999999999998 |
120 | 10e23 | frame is wrong | 12000000000000000000000000 | 138888888888888890000.000d | 100000000000000000000000 | 99999999999999991611392 |
44100 | 10e23 | frame is wrong | 4409999999999999400000000000 | 51041666666666656000000.000d | 100000000000000000000000 | 99999999999999991611392 |
48000 | 10e23 | frame is wrong | 4800000000000000000000000000 | 55555555555555555000000.000d | 100000000000000000000000 | 99999999999999991611392 |
192000 | 10e23 | frame is wrong | 19200000000000000000000000000 | 222222222222222220000000.000d | 100000000000000000000000 | 99999999999999991611392 |
OK 6/7 main.test.sin big number drift test...
Measures the number of iterations of adding two pi to pi/4 before the sin value drifts more than half a frame from the value at zero.
rate | target epsilon | iterations | s | iter/s |
---|---|---|---|---|
24 | 0.020833334 | 1804 | 1.253m | 3.90e8 |
23.976025 | 0.020854166 | 1805 | 1.255m | 3.80e8 |
25 | 0.02 | 1735 | 1.157m | 4.00e8 |
29.97003 | 0.016683333 | 1465 | 48.882s | 3.95e8 |
120 | 0.004166667 | 443 | 3.692s | 3.94e8 |
44100 | 0.000011337868 | 25 | 0.001s | 2.98e8 |
48000 | 0.000010416667 | 21 | 0.000s | 2.53e8 |
192000 | 0.0000026041666 | 9 | 0.000s | 2.20e8 |
rate | target epsilon | iterations | s | iter/s |
---|---|---|---|---|
24 | 0.020833333333333332 | 22417639 | 10.811d | 1.72e8 |
23.976023976023978 | 0.020854166666666667 | 22424856 | 10.825d | 1.72e8 |
25 | 0.02 | 22128769 | 10.245d | 1.72e8 |
29.97002997002997 | 0.016683333333333335 | 20975948 | 8.101d | 1.72e8 |
120 | 0.004166666666666667 | 7343345 | 16.998h | 1.72e8 |
44100 | 0.000011337868480725624 | 420084 | 9.526s | 1.87e8 |
48000 | 0.000010416666666666666 | 414231 | 8.630s | 1.79e8 |
192000 | 0.0000026041666666666666 | 364591 | 1.899s | 1.88e8 |
OK 7/7 main.test.NTSC 24 vs 44100 phase offset track...
Measures the number of iterations of finding the next common multiple of NTSC 24 and 44100 such that the sum of each of the rates does not equal.
rate_a | rate_b | iterations | next multiple | current_a | current_b | delta |
---|---|---|---|---|---|---|
24 | 23.976025 | 2 | 575.42456 | 9.590m | 575.4393 | 575.41693 |
24 | 25 | 7 | 3600 | 1.000h | 3600.0159 | 3599.9873 |
24 | 29.97003 | 2 | 719.2807 | 11.988m | 719.30115 | 719.26666 |
24 | 120 | 10 | 1080 | 18.000m | 1080.0201 | 1079.9965 |
23.976025 | 24 | 2 | 575.42456 | 9.590m | 575.41693 | 575.4393 |
23.976025 | 25 | 6 | 2997.0032 | 49.950m | 2997.0234 | 2996.999 |
23.976025 | 29.97003 | 4 | 2155.6865 | 35.928m | 2155.675 | 2155.6995 |
23.976025 | 120 | 62 | 175504.5 | 2.031d | 175504.52 | 175504.5 |
25 | 24 | 7 | 3600 | 1.000h | 3599.9873 | 3600.0159 |
25 | 23.976025 | 6 | 2997.0032 | 49.950m | 2996.999 | 2997.0234 |
25 | 29.97003 | 32 | 23226.773 | 6.452h | 23226.754 | 23226.787 |
25 | 120 | 13 | 7200 | 2.000h | 7200.0195 | 7199.9966 |
29.97003 | 24 | 2 | 719.2807 | 11.988m | 719.26666 | 719.30115 |
29.97003 | 23.976025 | 4 | 2155.6865 | 35.928m | 2155.6995 | 2155.675 |
29.97003 | 25 | 32 | 23226.773 | 6.452h | 23226.787 | 23226.754 |
29.97003 | 120 | 50 | 176223.78 | 2.040d | 176223.77 | 176223.78 |
120 | 24 | 10 | 1080 | 18.000m | 1079.9965 | 1080.0201 |
120 | 23.976025 | 62 | 175504.5 | 2.031d | 175504.5 | 175504.52 |
120 | 25 | 13 | 7200 | 2.000h | 7199.9966 | 7200.0195 |
120 | 29.97003 | 50 | 176223.78 | 2.040d | 176223.78 | 176223.77 |
rate_a | rate_b | iterations | next multiple | current_a | current_b | delta |
---|---|---|---|---|---|---|
24 | 23.976023976023978 | 3 | 1150.8491508491509 | 19.181m | 1150.8333333331914 | 1150.8580416667248 |
24 | 25 | 289 | 172800 | 2.000d | 172799.99999638795 | 172799.9999992555 |
24 | 29.97002997002997 | 3 | 1438.5614385614385 | 23.976m | 1438.541666667048 | 1438.5704666680454 |
24 | 120 | 1441 | 172800 | 2.000d | 172799.99999638795 | 172799.99997053778 |
23.976023976023978 | 24 | 3 | 1150.8491508491509 | 19.181m | 1150.8580416667248 | 1150.8333333331914 |
23.976023976023978 | 25 | 16 | 8991.00899100899 | 2.498h | 8991.023708328808 | 8991.00000001057 |
23.976023976023978 | 29.97002997002997 | 6 | 3592.8107856179786 | 59.880m | 3592.7975416632376 | 3592.8225666648073 |
23.976023976023978 | 120 | 15 | 40279.720279720284 | 11.189h | 40279.73949991521 | 40279.71666805922 |
25 | 24 | 289 | 172800 | 2.000d | 172799.9999992555 | 172799.99999638795 |
25 | 23.976023976023978 | 16 | 8991.00899100899 | 2.498h | 8991.00000001057 | 8991.023708328808 |
25 | 29.97002997002997 | 3 | 1498.5014985014984 | 24.975m | 1498.5199999992171 | 1498.4970000015815 |
25 | 120 | 289 | 172800 | 2.000d | 172799.9999992555 | 172799.99997053778 |
29.97002997002997 | 24 | 3 | 1438.5614385614385 | 23.976m | 1438.5704666680454 | 1438.541666667048 |
29.97002997002997 | 23.976023976023978 | 6 | 3592.8107856179786 | 59.880m | 3592.8225666648073 | 3592.7975416632376 |
29.97002997002997 | 25 | 3 | 1498.5014985014984 | 24.975m | 1498.4970000015815 | 1498.5199999992171 |
29.97002997002997 | 120 | 9 | 28771.228771228773 | 7.992h | 28771.24249991176 | 28771.225002327265 |
120 | 24 | 1441 | 172800 | 2.000d | 172799.99997053778 | 172799.99999638795 |
120 | 23.976023976023978 | 15 | 40279.720279720284 | 11.189h | 40279.71666805922 | 40279.73949991521 |
120 | 25 | 289 | 172800 | 2.000d | 172799.99997053778 | 172799.9999992555 |
120 | 29.97002997002997 | 9 | 28771.228771228773 | 7.992h | 28771.225002327265 | 28771.24249991176 |
OK | ||||||
All 7 tests passed. |