/* * 0 <= x <= pi * x = x' + pi/2 * tan x = tan (x' + pi/2) = -1 / tan x' */ static inline PTYPE __p_tan_pi(const PTYPE x) { PTYPE x_; if (x <= pi_2) return __p_tan_pi_2(x); x_ = x - pi_2; return PCONST(-1.0) / __p_tan_pi_2(x_); }
/* * 0 <= x <= pi * x = x' + pi/2 * tan x = tan (x' + pi/2) = -1 / tan x' */ static inline float __p_tan_pi(const float x) { float x_; if (x <= pi_2) return __p_tan_pi_2(x); x_ = x - pi_2; return -1.f / __p_tan_pi_2(x_); }