| 411 | } |
| 412 | |
| 413 | double fmod_impl_double(double x, double y) { |
| 414 | #if FL_MATH_USE_LIBM |
| 415 | return ::fmod(x, y); |
| 416 | #else |
| 417 | if (y == 0.0) return 0.0; |
| 418 | const double q = x / y; |
| 419 | const double t = q >= 0.0 ? floor_impl_double(q) : ceil_impl_double(q); |
| 420 | return x - t * y; |
| 421 | #endif |
| 422 | } |
| 423 | |
| 424 | // Inverse tangent 2 implementations (atan2). |
| 425 | // |
no test coverage detected