#include <PreciseType.hh>
Use "long double" as the most precise type among various built-in numeric types, std::complex<long double> for complex types, and the type itself for other types.