bool doubles_equal(double d1, double d2, double threshold) { if (PlatformSpecificIsNan(d1) || PlatformSpecificIsNan(d2) || PlatformSpecificIsNan(threshold)) return false; if (PlatformSpecificIsInf(d1) && PlatformSpecificIsInf(d2)) { return true; } return PlatformSpecificFabs(d1 - d2) <= threshold; }
SimpleString StringFrom(double value, int precision) { if (PlatformSpecificIsNan(value)) return "Nan - Not a number"; else if (PlatformSpecificIsInf(value)) return "Inf - Infinity"; else return StringFromFormat("%.*g", precision, value); }