Hyperbolic area sine implementation. \param arg function argument \return function value stored in single-preicision
| 1966 | /// \param arg function argument |
| 1967 | /// \return function value stored in single-preicision |
| 1968 | static expr asinh(float arg) |
| 1969 | { |
| 1970 | #if HALF_ENABLE_CPP11_CMATH |
| 1971 | return expr(std::asinh(arg)); |
| 1972 | #else |
| 1973 | return expr((arg == -std::numeric_limits<float>::infinity()) |
| 1974 | ? arg |
| 1975 | : static_cast<float>(std::log(arg + std::sqrt(arg * arg + 1.0)))); |
| 1976 | #endif |
| 1977 | } |
| 1978 | |
| 1979 | /// Hyperbolic area cosine implementation. |
| 1980 | /// \param arg function argument |