> > > diff -r1.29 FGInitialCondition.cpp
> > > 666a667,668
> > > >     if (f3-f1 == 0.0)
> > > >       f3+= 0.000000000001;
> >
> >
> > We have seen this happen before. This does prevent a division by zero.
> > However, Tony has mentioned before that f3 should *never* be zero. If it
is,
> > there is something else happening upstream from that point.
>
> Does this error show up if FG is set to exit/crash/whatever on FPE
> exceptions?
>
When I enable FPE exceptions, MSVC stop on :

inline void FGPhysicalProperties::WindAt(sgVec3 ret, const WeatherPrecision
a) const
{
    typedef map<FGPhysicalProperties::Altitude, FGWindItem>::const_iterator
vector_iterator;

    vector_iterator it = Wind.lower_bound(a);
    vector_iterator it2 = it;
    it--;

    //now I've got it->alt < a < it2->alt so I can interpolate
    sgSubVec3(ret, *it2->second.getValue(), *it->second.getValue());
>>>    sgScaleVec3(ret, (a - it2->first) / (it2->first - it->first)); << div
by 0
    sgAddVec3(ret, *it2->second.getValue());
}

Hope that helps !

Cheers,

-Fred



_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to