-
Notifications
You must be signed in to change notification settings - Fork 61
Open
Labels
Description
Hi!
I'm starting to test out the lib for our project (awesome work btw!) and just by chance I realised that the tests for the MS AVX2 build config seem to be failing right away. I dont see any issues with the AVX or SSE4.1 configs.
This is the full console output with the failures:
1) Experiments started
Experiments completed
2) Unit tests started
eq(vlerp1, lerpf(vfoo1.r, vbar1.r, vbaz1.r)) Assertion failed! Values are not equal: a = -2.990000, b = -2.990000, tolerance = 0.000000
eq(vlerp2, lerpf(vfoo2.r, vbar2.r, vbaz2.r), lerpf(vfoo2.g, vbar2.g, vbaz2.g)) Assertion failed! Values are not equal: a = -1.849000, b = -1.849000, tolerance = 0.000000
eq(vlerp3, lerpf(vfoo3.r, vbar3.r, vbaz3.r), lerpf(vfoo3.g, vbar3.g, vbaz3.g), lerpf(vfoo3.b, vbar3.b, vbaz3.b)) Assertion failed! Values are not equal: a = 1.462000, b = 1.462000, tolerance = 0.000000
eq(vlerp4, lerpf(vfoo4.r, vbar4.r, vbaz4.r), lerpf(vfoo4.g, vbar4.g, vbaz4.g), lerpf(vfoo4.b, vbar4.b, vbaz4.b), lerpf(vfoo4.a, vbar4.a, vbaz4.a)) Assertion failed! Values are not equal: a = 1.934000, b = 1.934000, tolerance = 0.000000
eq(vlerpf_4, lerpf(vfoo4.r, vbar4.r, 0.7f), lerpf(vfoo4.g, vbar4.g, 0.7f), lerpf(vfoo4.b, vbar4.b, 0.7f), lerpf(vfoo4.a, vbar4.a, 0.7f)) Assertion failed! Values are not equal: a = 1.729000, b = 1.729000, tolerance = 0.000000
eq(vlerp_swiz_1, lerpf(vfoo1.r, vbar1.r, vbaz1.r)) Assertion failed! Values are not equal: a = -2.990000, b = -2.990000, tolerance = 0.000000
eq(vlerp_swiz_2, lerpf(vfoo2.r, vbar2.r, vbaz2.r), lerpf(vfoo2.g, vbar2.g, vbaz2.g)) Assertion failed! Values are not equal: a = -1.849000, b = -1.849000, tolerance = 0.000000
eq(vlerp_swiz_3, lerpf(vfoo3.r, vbar3.r, vbaz3.b), lerpf(vfoo3.g, vbar3.g, vbaz3.g), lerpf(vfoo3.b, vbar3.b, vbaz3.r)) Assertion failed! Values are not equal: a = -2.676000, b = -2.676000, tolerance = 0.000000
eq(vlerp_swiz_4, lerpf(vfoo4.r, vbar4.r, vbaz4.r), lerpf(vfoo4.g, vbar4.g, vbaz4.g), lerpf(vfoo4.b, vbar4.b, vbaz4.b), lerpf(vfoo4.a, vbar4.a, vbaz4.a)) Assertion failed! Values are not equal: a = 1.934000, b = 1.934000, tolerance = 0.000000
eq(mat_mmul_2x2_2x3, 0.900000036f, 1.20000005f, 1.50000000f, 1.90000010f, 2.59999990f, 3.30000019f ) Assertion failed! Values are not equal: a = 2.600000, b = 2.600000, tolerance = 0.000000
eq(mat_mmul_2x2_2x4, 1.10000002f, 1.40000010f, 1.70000005f, 2.00000000f, 2.29999995f, 3.00000000f, 3.70000005f, 4.40000010f ) Assertion failed! Values are not equal: a = 1.400000, b = 1.400000, tolerance = 0.000000
eq(mat_mmul_3x2_2x2, 0.700000048f, 1.00000000f, 1.50000000f, 2.20000005f, 2.30000019f, 3.40000010f ) Assertion failed! Values are not equal: a = 0.700000, b = 0.700000, tolerance = 0.000000
eq(mat_mmul_3x2_2x3, 0.900000036f, 1.20000005f, 1.50000000f, 1.90000010f, 2.59999990f, 3.30000019f, 2.90000010f, 4.00000000f, 5.10000038f ) Assertion failed! Values are not equal: a = 2.600000, b = 2.600000, tolerance = 0.000000
eq(mat_mmul_3x2_2x4, 1.10000002f, 1.40000010f, 1.70000005f, 2.00000000f, 2.29999995f, 3.00000000f, 3.70000005f, 4.40000010f, 3.50000000f, 4.60000038f, 5.70000029f, 6.80000019f ) Assertion failed! Values are not equal: a = 1.400000, b = 1.400000, tolerance = 0.000000
eq(mat_mmul_4x2_2x2, 0.700000048f, 1.00000000f, 1.50000000f, 2.20000005f, 2.30000019f, 3.40000010f, 3.10000014f, 4.59999990f ) Assertion failed! Values are not equal: a = 0.700000, b = 0.700000, tolerance = 0.000000
eq(mat_mmul_4x2_2x3, 0.900000036f, 1.20000005f, 1.50000000f, 1.90000010f, 2.59999990f, 3.30000019f, 2.90000010f, 4.00000000f, 5.10000038f, 3.90000010f, 5.40000010f, 6.90000010f ) Assertion failed! Values are not equal: a = 2.600000, b = 2.600000, tolerance = 0.000000
eq(mat_mmul_2x3_3x3, 3.00000024f, 3.60000014f, 4.19999981f, 6.60000038f, 8.10000038f, 9.60000038f ) Assertion failed! Values are not equal: a = 3.000000, b = 3.000000, tolerance = 0.000000
eq(mat_mmul_3x3_3x3, 35929.47f, 4440.54f, 134063.46f, 3625.123f, 256.345f, -943.98f, 120437.234f, 6135.154482f, -3005.63867f, 0.001f) Assertion failed! Values are not equal: a = 120437.226562, b = 120437.234375, tolerance = 0.001000
eq(mat_mmul_3x3_3x4, 3.80000019f, 4.40000010f, 5.00000000f, 5.60000038f, 8.30000019f, 9.80000019f, 11.3000002f, 12.8000002f, 12.7999992f, 15.2000008f, 17.5999985f, 20.0000000f ) Assertion failed! Values are not equal: a = 15.200000, b = 15.200001, tolerance = 0.000000
eq(mat_mmul_4x3_3x2, 2.20000005f, 2.80000019f, 4.90000010f, 6.40000010f, 7.60000038f, 10.0000000f, 10.3000002f, 13.6000004f ) Assertion failed! Values are not equal: a = 7.600000, b = 7.600000, tolerance = 0.000000
eq(mat_mmul_4x3_3x3, 3.00000024f, 3.60000014f, 4.19999981f, 6.60000038f, 8.10000038f, 9.60000038f, 10.1999998f, 12.6000004f, 15.0000000f, 13.8000011f, 17.1000004f, 20.4000015f ) Assertion failed! Values are not equal: a = 3.000000, b = 3.000000, tolerance = 0.000000
eq(mat_mmul_4x3_3x4, 3.80000019f, 4.40000010f, 5.00000000f, 5.60000038f, 8.30000019f, 9.80000019f, 11.3000002f, 12.8000002f, 12.7999992f, 15.2000008f, 17.5999985f, 20.0000000f, 17.2999992f, 20.6000004f, 23.9000015f, 27.2000008f ) Assertion failed! Values are not equal: a = 15.200000, b = 15.200001, tolerance = 0.000000
Unit tests completed
(perf tests omitted)
Is this a tolerance issue? Looks like all tests run with a tolerance of 0?
If I run Debug, so that it stops on the assertions, this is the first failure point:
I tried evaluating the subexpressions in a watch window, but VS doesnt want to evaluate lerpf for whatever reason..
I'm on an i7 9700K (Coffee Lake), so AVX2 support should be no issue, afaict.
Hope this helps.