2008/7/12 Michael Karcher <[EMAIL PROTECTED]>: > Am Samstag, den 12.07.2008, 16:55 -0500 schrieb James Hawkins: >> > GDI+ uses floating >> > point values for matrix elements so don't you think the result could be >> > slightly different due different calculation algorithms? > As they say: Never compare floating point numbers for equality. So I > understand your point. Especially if unrepresentable values are > involved.
Agreed. There could also be issues depending on the compiler used (msvc vs gcc), different CPUs or instruction sets (e.g. using MMX/SSE/SSE2 to optimise the calculations). > Nikolay: Please write a test whether the matrix > 1.0/131072, 2.0/131072, 4.0/131072, -1/131072, 0, 0 > is invertible. According to your criterion, it is *not* invertible, as > the determinant will be 9.0/17179869184, which is way below 1e-5, but > this matrix still *is* invertible. What happens on Windows? The identity matrix would also be a nice test case - for the other GDI and DirectX matrix operations as well. - Reece
