Skip to content

Latest commit

 

History

History
301 lines (242 loc) · 20 KB

File metadata and controls

301 lines (242 loc) · 20 KB

Ordinate Precision Exploration

Integer Rational Sum/Product Test

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.44e6
1001/30000 2145342 19.884h 1073743670/15000 357914557/5000 1.46e6

Integer Rational Sum/Product Test w/ 0.5 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.41e6
1001/60000 2145342 9.942h 1073743670/30000 357914557/10000 1.44e6

Sum/Product equality tests

Reports how many iterations before the sum is not equal to the product by more than half a frame

Type: f32

rate iterations tolerance wall clock time iterations/s
24 9418 0.020833334 6.540m 9.34e8
24 1320 0.0005 55.001s 8.80e8
23.976025 10059 0.020854166 6.993m 9.50e8
23.976025 1206 0.0005 50.301s 9.04e8
25 10958 0.02 7.306m 9.60e8
25 964 0.0005 38.561s 9.26e8
29.97003 10178 0.016683333 5.660m 9.62e8
29.97003 1719 0.0005 57.358s 9.37e8
120 6410 0.004166667 53.421s 9.32e8
120 4350 0.0005 36.251s 9.49e8
44100 11003 0.000011337868 0.250s 9.64e8
44100 43366 0.0005 0.983s 9.74e8
48000 8651 0.000010416667 0.180s 9.57e8
48000 42861 0.0005 0.893s 9.74e8
192000 8651 0.0000026041666 0.045s 9.66e8
192000 95880 0.0005 0.500s 9.75e8

Type: f64

rate iterations tolerance wall clock time iterations/s
24 187904821 0.020833333333333332 90.618d 9.59e8
24 36641440 0.0005 17.670d 9.98e8
23.976023976023978 275100607 0.020854166666666667 132.801d 9.82e8
23.976023976023978 34051488 0.0005 16.438d 9.70e8
25 240142747 0.02 111.177d 9.82e8
25 29746761 0.0005 13.772d 9.86e8
29.97002997002997 170408320 0.016683333333333335 65.810d 9.84e8
29.97002997002997 28345649 0.0005 10.947d 1.00e9
120 223038290 0.004166666666666667 21.512d 9.86e8
120 51714711 0.0005 4.988d 9.79e8
44100 222189469 0.000011337868480725624 1.400h 9.84e8
44100 1396578624 0.0005 8.797h 9.83e8
48000 146783537 0.000010416666666666666 50.967m 9.90e8
48000 1815515153 0.0005 10.506h 9.94e8
192000 146783537 0.0000026041666666666666 12.742m 9.90e8
192000 2254773172 0.0005 3.262h 9.89e8

Type: f128

rate iterations tolerance wall clock time iterations/s
24 10000000000 0.020833333333333333333333333333333332 13.212y 1.75e7
24 10000000000 0.0005 13.212y 1.74e7
23.976023976023976023976023976023977 10000000000 0.020854166666666666666666666666666664 13.226y 1.72e7
23.976023976023976023976023976023977 10000000000 0.0005 13.226y 1.74e7
25 10000000000 0.02 12.684y 1.74e7
25 10000000000 0.0005 12.684y 1.73e7
29.97002997002997002997002997002997 10000000000 0.016683333333333333333333333333333334 10.581y 1.78e7
29.97002997002997002997002997002997 10000000000 0.0005 10.581y 1.78e7
120 10000000000 0.0041666666666666666666666666666666666 2.642y 1.82e7
120 10000000000 0.0005 2.642y 1.82e7
44100 10000000000 0.000011337868480725623582766439909297053 2.625d 1.82e7
44100 10000000000 0.0005 2.625d 1.66e7
48000 10000000000 0.000010416666666666666666666666666666666 2.411d 1.81e7
48000 10000000000 0.0005 2.411d 1.82e7
192000 10000000000 0.0000026041666666666666666666666666666665 14.468h 1.68e7
192000 10000000000 0.0005 14.468h 1.82e7

Sum/Product equality tests

Reports how many iterations before the sum is not equal to the product by more than half a frame

Type: f32

rate iterations tolerance wall clock time iterations/s
24 11467 0.020833334 3.981m 4.70e8
23.976025 16165 0.020854166 5.618m 4.80e8
25 16247 0.02 5.415m 4.83e8
29.97003 11702 0.016683333 3.254m 4.83e8
120 14935 0.004166667 1.037m 4.84e8
44100 13961 0.000011337868 0.158s 4.86e8
48000 15565 0.000010416667 0.162s 4.88e8
192000 15565 0.0000026041666 0.041s 4.87e8

Type: f64

rate iterations tolerance wall clock time iterations/s
24 308700774 0.020833333333333332 74.436d 9.54e8
23.976023976023978 443471744 0.020854166666666667 107.040d 9.74e8
25 262512368 0.02 60.767d 9.84e8
29.97002997002997 208318011 0.016683333333333335 40.225d 9.83e8
120 357256029 0.004166666666666667 17.229d 9.79e8
44100 249437477 0.000011337868480725624 47.135m 9.80e8
48000 193467964 0.000010416666666666666 33.588m 9.82e8
192000 193467964 0.0000026041666666666666 8.397m 9.80e8

Type: f128

rate iterations tolerance wall clock time iterations/s
24 10000000000 0.020833333333333333333333333333333332 6.606y 1.75e7
23.976023976023976023976023976023977 10000000000 0.020854166666666666666666666666666664 6.613y 1.74e7
25 10000000000 0.02 6.342y 1.72e7
29.97002997002997002997002997002997 10000000000 0.016683333333333333333333333333333334 5.290y 1.74e7
120 10000000000 0.0041666666666666666666666666666666666 1.321y 1.74e7
44100 10000000000 0.000011337868480725623582766439909297053 1.312d 1.73e7
48000 10000000000 0.000010416666666666666666666666666666666 1.206d 1.78e7
192000 10000000000 0.0000026041666666666666666666666666666665 7.234h 1.78e7

Time to Frame Number Test

Measures if the correct integer frame number and phase offset can be recovered from a large time value.

Type: f32

rate iter Failure failure frame expected measured iter/s
24 10e11 frame is wrong 2400000100000 76103.510y 100000000000 100000006144
23.976025 10e3 Fract is not 0 23976.025 6.660h 0 100
25 10e11 frame is wrong 2500000000000 79274.480y 100000000000 99999997952
29.97003 10e4 Fract is not 0 299700.28 3.469d 0 1000
120 10e9 frame is wrong 120000000000 3805.175y 1000000000 1000000064
44100 10e6 Fract is not 0 44099998000 1398.402y 0 100000
48000 10e8 frame is wrong 4800000300000 152207.020y 100000000 100000008
192000 10e8 frame is wrong 19200001000000 608828.060y 100000000 100000008

Type: f64

rate iter Failure failure frame expected measured iter/s
24 10e23 frame is wrong 2400000000000000000000000 76103500761035000.000y 100000000000000000000000 100000000000000008388608
23.976023976023978 10e2 Fract is not 0 2397.602397602398 39.960m 0 10
25 10e21 frame is wrong 25000000000000000000000 792744799594114.600y 1000000000000000000000 999999999999999868928
29.97002997002997 10e16 frame is wrong 299700299700299650 9503434160.968y 10000000000000000 9999999999999998
120 10e23 frame is wrong 12000000000000000000000000 380517503805175040.000y 100000000000000000000000 99999999999999991611392
44100 10e23 frame is wrong 4409999999999999400000000000 139840182648401800000.000y 100000000000000000000000 99999999999999991611392
48000 10e23 frame is wrong 4800000000000000000000000000 152207001522070030000.000y 100000000000000000000000 99999999999999991611392
192000 10e23 frame is wrong 19200000000000000000000000000 608828006088280100000.000y 100000000000000000000000 99999999999999991611392

Type: f128

rate iter Failure failure frame expected measured iter/s

Sin 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.

Type: f32

rate target epsilon iterations s iter/s
24 0.020833334 1804 1.253m 3.49e8
23.976025 0.020854166 1805 1.255m 3.38e8
25 0.02 1735 1.157m 3.39e8
29.97003 0.016683333 1465 48.882s 3.74e8
120 0.004166667 443 3.692s 3.66e8
44100 0.000011337868 25 0.001s 2.98e8
48000 0.000010416667 21 0.000s 2.53e8
192000 0.0000026041666 9 0.000s 2.14e8

Type: f64

rate target epsilon iterations s iter/s
24 0.020833333333333332 22417639 10.811d 1.51e8
23.976023976023978 0.020854166666666667 22424856 10.825d 1.59e8
25 0.02 22128769 10.245d 1.56e8
29.97002997002997 0.016683333333333335 20975948 8.101d 1.57e8
120 0.004166666666666667 7343345 16.998h 1.55e8
44100 0.000011337868480725624 420084 9.526s 1.70e8
48000 0.000010416666666666666 414231 8.630s 1.70e8
192000 0.0000026041666666666666 364591 1.899s 1.72e8

Type: f128

rate target epsilon iterations s iter/s
24 0.020833333333333333333333333333333332 10000000000 13.212y 2.16e7
23.976023976023976023976023976023977 0.020854166666666666666666666666666664 10000000000 13.226y 2.15e7
25 0.02 10000000000 12.684y 2.15e7
29.97002997002997002997002997002997 0.016683333333333333333333333333333334 10000000000 10.581y 2.13e7
120 0.0041666666666666666666666666666666666 10000000000 2.642y 2.15e7
44100 0.000011337868480725623582766439909297053 10000000000 2.625d 2.16e7
48000 0.000010416666666666666666666666666666666 10000000000 2.411d 2.13e7
192000 0.0000026041666666666666666666666666666665 5468522290 7.912h 2.15e7

Phase Offset Test

Measures the number of iterations of finding the next common multiple of two rates such that the sum of each of the rates does not equal. Will terminate after 2 days of time.

Type: f32

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

Type: f64

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

Type: f128

rate_a rate_b iterations next multiple current_a current_b delta
24 23.976023976023976023976023976023977 3 1150.8491508491508491508491508491509 19.181m 1150.8333333333333333333333333332102 1150.8580416666666666666666666660164
24 25 289 172800 2.000d 172799.99999999999999999999999686705 172799.99999999999999999999999935424
24 29.97002997002997002997002997002997 3 1438.5614385614385614385614385614385 23.976m 1438.5416666666666666666666666669975 1438.5704666666666666666666666657208
24 120 1441 172800 2.000d 172799.99999999999999999999999686705 172799.9999999999999999999999744456
23.976023976023976023976023976023977 24 3 1150.8491508491508491508491508491509 19.181m 1150.8580416666666666666666666660164 1150.8333333333333333333333333332102
23.976023976023976023976023976023977 25 16 8991.00899100899100899100899100899 2.498h 8991.023708333333333333333333370472 8991.000000000000000000000000009168
23.976023976023976023976023976023977 29.97002997002997002997002997002997 6 3592.810785617978425171232364039557 59.880m 3592.7975416666666666666666666633686 3592.8225666666666666666666666633848
23.976023976023976023976023976023977 120 15 40279.720279720279720279720279720284 11.189h 40279.73949999999999999999999939519 40279.716666666666666666666667874514
25 24 289 172800 2.000d 172799.99999999999999999999999935424 172799.99999999999999999999999686705
25 23.976023976023976023976023976023977 16 8991.00899100899100899100899100899 2.498h 8991.000000000000000000000000009168 8991.023708333333333333333333370472
25 29.97002997002997002997002997002997 3 1498.5014985014985014985014985014984 24.975m 1498.519999999999999999999999999321 1498.4969999999999999999999999989892
25 120 289 172800 2.000d 172799.99999999999999999999999935424 172799.9999999999999999999999744456
29.97002997002997002997002997002997 24 3 1438.5614385614385614385614385614385 23.976m 1438.5704666666666666666666666657208 1438.5416666666666666666666666669975
29.97002997002997002997002997002997 23.976023976023976023976023976023977 6 3592.810785617978425171232364039557 59.880m 3592.8225666666666666666666666633848 3592.7975416666666666666666666633686
29.97002997002997002997002997002997 25 3 1498.5014985014985014985014985014984 24.975m 1498.4969999999999999999999999989892 1498.519999999999999999999999999321
29.97002997002997002997002997002997 120 9 28771.228771228771228771228771228772 7.992h 28771.24250000000000000000000055514 28771.22500000000000000000000201858
120 24 1441 172800 2.000d 172799.9999999999999999999999744456 172799.99999999999999999999999686705
120 23.976023976023976023976023976023977 15 40279.720279720279720279720279720284 11.189h 40279.716666666666666666666667874514 40279.73949999999999999999999939519
120 25 289 172800 2.000d 172799.9999999999999999999999744456 172799.99999999999999999999999935424
120 29.97002997002997002997002997002997 9 28771.228771228771228771228771228772 7.992h 28771.22500000000000000000000201858 28771.24250000000000000000000055514

Additional Notes

  • Tests have an iteartion limit of 10000000000. Tests that end at that being terminated and not running to completion (in particular tests on f128).