Hi to all, i was very busy last week, so....
I took some time to code and post the new update of our VectorMath UnitTest.
What's new :
- I reorganized and make some little changes (split in two project 32bit/64bit), adding a BaseTimingTest Class, modified Config.inc...
- I added DistanceSquare, LengthSquare and Spacing SSE functions for TGLZVector4f (native only have spacing)
- I added some {$ifdef TEST} in SSE functions
- I made some little update in my Profiler units (enough at this time, but not totally finished) and added for timing test
- I introduced Matrix and Quaternion with some SSE functions (sorry, only for win64 at this time)
- I introduced Vector Helper (including HmgPlane) and Matrix Helper
- I added Quaternion, Matrix, Test and Timing Case
- I added VectorAndHmgPlaneHelper Test Case
- I added a clean and full HTML output,. Just click on the HTML file to see result in your navigator
Now we have around 170 tests !
By reading the code you'll discovered some web links i found during my research. One of the most cool is
https://gcc.godbolt.org/ .This help me a lot for Matrix Invert function.
You'll also find some little optimization of the SSE code (the most between ($ifdef TEST}) , but not everywhere yet
Bugs :
- Some VectorHelper TestCase are Wrong for SSE : CreatePlane , NormalizePlane and AverageNormal4 (wrong and not finished. I'm little tired. I'll restart later)
Note : Use Profiler in loop is not advisable. Our tests are not enough complex. The call of RTDSC disturbing and decrease a lot
the performances, and timing results are not really good. So i let profiler outside the loops
One thing i discovered it's impossible to create more than 1 helper per RECORD. The last declared, is the only take in charge. sniff
Peter : Your ASMTick function not work on Win10 64bit. Mine in GLZCpuID (GetClockCycleTickCount) is ok
Cheers