| 596 | } |
| 597 | |
| 598 | double tan_impl_double(double value) { |
| 599 | #if FL_MATH_USE_LIBM |
| 600 | return ::tan(value); |
| 601 | #else |
| 602 | const double c = detail::cos_reduce_<double>(value); |
| 603 | if (c == 0.0) return 0.0; |
| 604 | return detail::sin_reduce_<double>(value) / c; |
| 605 | #endif |
| 606 | } |
| 607 | |
| 608 | // Load exponent implementations (ldexp): value * 2^exp. |
| 609 | // |