[Ffmpeg-cvslog] r8474 - trunk/libavcodec/resample2.c

Uoti Urpala uoti.urpala
Thu Mar 22 20:14:53 CET 2007


On Thu, 2007-03-22 at 12:33 -0500, Rich Felker wrote:
> On Thu, Mar 22, 2007 at 06:39:16PM +0200, Uoti Urpala wrote:
> > That's because you used floats but gcc kept the variables in FPU
> > registers. Try it with long doubles or use -ffloat-store.
> 
> Won't help. All floating point expressions are actually double or
> larger in C. You'll need to explicitly cast to (float) after the
> multiplications to avoid it.

Not true. The type of float*float is float. gcc does generate inf as the
result of FLT_MAX*FLT_MAX on x86 too if you use -ffloat-store (the
standard does allow the gcc default of using more precision/range than
required by the type of the result - of course the standard allows
pretty much anything for floating point).

Also this of course isn't relevant at all to my other alternative
suggestion (doing the equivalent test with long double).





More information about the ffmpeg-cvslog mailing list