FW: [ODE] Bug reporting
Martin C. Martin
martin at metahuman.org
Thu Feb 13 07:09:16 2003
Michal Bacik wrote:
>
> > here. just make sure its a bug :-)
> >
>
> If reading uninitialized variable is a bug, then here it is:
>
> file ode/src/mass.cpp, function checkMass - *** use of uninitialized
> variable 'dMatrix3 I2' ***
> func performs dMULTIPLY0_333(I2,chat,chat); which writes first 3 members of
> each row, leaving mess in fourth. One line below: for (int i=0; i<12; i++)
> I2[i] = m->I[i] + m->mass*I2[i]; all 12 members of I2 are read, including
> uninitialized ones. FPU won't be happy...
This isn't really a bug, it's an inefficiency. Because those 4th values
don't affect the simulation, it doesn't matter that we're filling them
with the product of the mass and an uninitialized value. It's extra work
to multiply the two of them because we don't need the result, but not
really an error. Unless you have signaling NaNs or overflows I suppose...
- Martin