25#ifndef _gcem_atan2_HPP
26#define _gcem_atan2_HPP
64template<
typename T1,
typename T2,
typename TC = common_return_t<T1,T2>>
85template<
typename T1,
typename T2>
91 if (std::is_constant_evaluated()) {
94 return std::atan2(y, x);
#define GCEM_PI
Definition gcem_options.hpp:98
#define GCEM_HALF_PI
Definition gcem_options.hpp:118
constexpr T atan2_compute(const T y, const T x) noexcept
Definition atan2.hpp:40
constexpr bool neg_zero(const T x) noexcept
Definition neg_zero.hpp:34
constexpr bool any_nan(const T1 x, const T2 y) noexcept
Definition is_nan.hpp:48
constexpr TC atan2_type_check(const T1 y, const T2 x) noexcept
Definition atan2.hpp:67
constexpr T abs(const T x) noexcept
Compile-time absolute value function.
Definition abs.hpp:40
constexpr return_t< T > atan(const T x) noexcept
Compile-time arctangent function.
Definition atan.hpp:217
std::numeric_limits< T > GCLIM
Definition gcem_options.hpp:74
return_t< common_t< T... > > common_return_t
Definition gcem_options.hpp:83
constexpr common_return_t< T1, T2 > atan2(const T1 y, const T2 x) noexcept
Compile-time two-argument arctangent function.
Definition atan2.hpp:88