Exemplo n.º 1
0
_STLP_EXP_DECLSPEC complex<float> _STLP_CALL tanh(const complex<float>& z) {
  float re2 = 2.f * z._M_re;
  float im2 = 2.f * z._M_im;
#if defined(__LIBSTD_CPP_SYMBIAN32_WSD__) || defined(_STLP_LIBSTD_CPP_NO_STATIC_VAR_)
   if (_STLP_ABSF(re2) > get_complex_trig_float_limit())
# else
   if (_STLP_ABSF(re2) > float_limit)
# endif  //__LIBSTD_CPP_SYMBIAN32_WSD__
    return complex<float>((re2 > 0 ? 1.f : -1.f), 0.f);
  else {
    float den = _STLP_COSHF(re2) + _STLP_COSF(im2);
    return complex<float>(_STLP_SINHF(re2) / den, _STLP_SINF(im2) / den);
  }
}
Exemplo n.º 2
0
_STLP_DECLSPEC complex<float> _STLP_CALL tanh(const complex<float>& z) {
  float re2 = 2.f * z._M_re;
  float im2 = 2.f * z._M_im;
  if (_STLP_ABSF(re2) > float_limit)
    return complex<float>((re2 > 0 ? 1.f : -1.f), 0.f);
  else {
    float den = _STLP_COSHF(re2) + _STLP_COSF(im2);
    return complex<float>(_STLP_SINHF(re2) / den, _STLP_SINF(im2) / den);
  }
}