Do the C and C++ standards require the math operations in math.h
on floating points (i.e. sqrt
, exp
, log
, sin
, ...) to return numerically best solution?
For a given (exact and valid) input there can obviously in general not be an exact floating point output from these functions. But is the output required to be the representable value nearest to the mathematically exact one?
If not, are there any requirements on precision whatsoever (possibly platform-specific / in other standards ?), so that I am able to make worst-case estimates of calculation errors in my code? What are typical limits on numerical errors of modern implementations?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…