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


Reply via email to