// #include <float.h> // FLT_EPSILON, DBL_EPSILON, LDBL_EPSILON // #include <math.h> // fabsf, fabs, fabsl, fmaxf, fmax, fmaxl /* float型(倍精度浮動小数点数) */ if (fabsf(a - b) <= FLT_EPSILON * fmaxf(1.f, fmaxf(fabsf(a), fabsf(b)))) {} /* double型(単精度浮動小数点数) */ if (fabs(a - b) <= DBL_EPSILON * fmax(1, fmax(fabs(a), fabs(b)))) {} /* long double型(四倍精度浮動小数点数) */ if (fabsl(a - b) <= LDBL_EPSILON * fmaxl(1.L, fm