ClickHouse/libs/libcommon/include/common/preciseExp10.h

17 lines
425 B
C++
Raw Normal View History

#pragma once
/** exp10 from GNU libm fails to give precise result for integer arguments.
* For example, exp10(3) gives 1000.0000000000001
* despite the fact that 1000 is exactly representable in double and float.
* Better to always use implementation from MUSL.
*
* Note: the function names are different to avoid confusion with symbols from the system libm.
*/
extern "C"
{
2019-01-19 21:05:20 +00:00
double preciseExp10(double x);
}