_STLP_DECLSPEC complex<long double> _STLP_CALL tanh(const complex<long double>& z) { long double re2 = 2.l * z._M_re; long double im2 = 2.l * z._M_im; if (_STLP_ABSL(re2) > ldouble_limit) return complex<long double>((re2 > 0 ? 1.l : -1.l), 0.l); else { long double den = _STLP_COSHL(re2) + _STLP_COSL(im2); return complex<long double>(_STLP_SINHL(re2) / den, _STLP_SINL(im2) / den); } }
_STLP_DECLSPEC complex<long double> _STLP_CALL cos(const complex<long double>& z) { return complex<long double>(_STLP_COSL(z._M_re) * _STLP_COSHL(z._M_im), -_STLP_SINL(z._M_re) * _STLP_SINHL(z._M_im)); }
_STLP_TEMPLATE_NULL _STLP_DECLSPEC complex<long double> _STLP_CALL polar(const long double& __rho, const long double& __phi) { return complex<long double>(__rho * _STLP_COSL(__phi), __rho * _STLP_SINL(__phi)); }