STLdoc
STLdocumentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Static Public Member Functions | List of all members
_Ctraits< long double > Class Template Reference

Public Types

typedef long double _Ty
 

Static Public Member Functions

static _Ty _Flt_eps ()
 
static _Ty _Flt_max ()
 
static _Ty _Cosh (_Ty _Left, _Ty _Right)
 
static short _Exp (_Ty *_Pleft, _Ty _Right, short _Exponent)
 
static _Ty _Infv ()
 
static bool _Isinf (_Ty _Left)
 
static bool _Isnan (_Ty _Left)
 
static _Ty _Nanv ()
 
static _Ty _Sinh (_Ty _Left, _Ty _Right)
 
static _Ty asinh (_Ty _Left)
 
static _Ty atan2 (_Ty _Yval, _Ty _Xval)
 
static _Ty cos (_Ty _Left)
 
static _Ty exp (_Ty _Left)
 
static _Ty ldexp (_Ty _Left, int _Exponent)
 
static _Ty log (_Ty _Left)
 
static _Ty log1p (_Ty _Left)
 
static _Ty pow (_Ty _Left, _Ty _Right)
 
static _Ty sin (_Ty _Left)
 
static _Ty sqrt (_Ty _Left)
 
static _Ty tan (_Ty _Left)
 

Member Typedef Documentation

typedef long double _Ctraits< long double >::_Ty

Member Function Documentation

static _Ty _Ctraits< long double >::_Cosh ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
203  { // return cosh(_Left) * _Right
204  return (_CSTD _LCosh(_Left, _Right));
205  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_CRTIMP2_PURE long double __CLRCALL_PURE_OR_CDECL _LCosh(long double, long double)
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static short _Ctraits< long double >::_Exp ( _Ty _Pleft,
_Ty  _Right,
short  _Exponent 
)
inlinestatic
208  { // compute exp(*_Pleft) * _Right * 2 ^ _Exponent
209  return (_CSTD _LExp(_Pleft, _Right, _Exponent));
210  }
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _LExp(long double *, long double, short)
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static _Ty _Ctraits< long double >::_Flt_eps ( )
inlinestatic
193  { // get epsilon
194  return (LDBL_EPSILON);
195  }
#define LDBL_EPSILON
Definition: float.h:97
static _Ty _Ctraits< long double >::_Flt_max ( )
inlinestatic
198  { // get max
199  return (LDBL_MAX);
200  }
#define LDBL_MAX
Definition: float.h:100
static _Ty _Ctraits< long double >::_Infv ( )
inlinestatic
213  { // return infinity
215  }
Definition: limits:102
static bool _Ctraits< long double >::_Isinf ( _Ty  _Left)
inlinestatic
218  { // test for infinity
219  return (_CSTD _LDtest(&_Left) == _INFCODE);
220  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
#define _INFCODE
Definition: corecrt_math.h:97
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _LDtest(long double *)
#define _CSTD
Definition: yvals.h:570
static bool _Ctraits< long double >::_Isnan ( _Ty  _Left)
inlinestatic
223  { // test for NaN
224  return (_CSTD _LDtest(&_Left) == _NANCODE);
225  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
#define _NANCODE
Definition: corecrt_math.h:98
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _LDtest(long double *)
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::_Nanv ( )
inlinestatic
228  { // return NaN
230  }
Definition: limits:102
static _Ty _Ctraits< long double >::_Sinh ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
233  { // return sinh(_Left) * _Right
234  return (_CSTD _LSinh(_Left, _Right));
235  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
#define _CSTD
Definition: yvals.h:570
_CRTIMP2_PURE long double __CLRCALL_PURE_OR_CDECL _LSinh(long double, long double)
constexpr const _Ty &() _Right
Definition: algorithm:3723
static _Ty _Ctraits< long double >::asinh ( _Ty  _Left)
inlinestatic
238  { // return asinh(_Left)
239  constexpr _Ty _Ln2 = 0.69314718055994530941723212145817658L;
240 
241  bool _Neg = _Left < 0;
242  _Ty _Ans;
243 
244  if (_Neg)
245  _Left = -_Left;
246  if (_Left < 2 / _Flt_eps())
247  _Ans = log1p(_Left
248  + _Left * _Left / (1 + sqrt(_Left * _Left + 1)));
249  else
250  _Ans = log(_Left) + _Ln2;
251  return (_Neg ? -_Ans : _Ans);
252  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty log(_Ty _Left)
Definition: complex:274
static _Ty sqrt(_Ty _Left)
Definition: complex:302
static _Ty log1p(_Ty _Left)
Definition: complex:279
long double _Ty
Definition: complex:190
static _Ty _Flt_eps()
Definition: complex:192
static _Ty _Ctraits< long double >::atan2 ( _Ty  _Yval,
_Ty  _Xval 
)
inlinestatic
255  { // return atan(_Yval / _Xval)
256  return (_CSTD atan2l(_Yval, _Xval));
257  }
_Check_return_ __inline long double __CRTDECL atan2l(_In_ long double _Y, _In_ long double _X)
Definition: corecrt_math.h:788
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::cos ( _Ty  _Left)
inlinestatic
260  { // return cos(_Left)
261  return (_CSTD cosl(_Left));
262  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL cosl(_In_ long double _X)
Definition: corecrt_math.h:824
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::exp ( _Ty  _Left)
inlinestatic
265  { // return exp(_Left)
266  return (_CSTD expl(_Left));
267  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL expl(_In_ long double _X)
Definition: corecrt_math.h:832
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::ldexp ( _Ty  _Left,
int  _Exponent 
)
inlinestatic
270  { // return _Left * 2 ^ _Exponent
271  return (_CSTD ldexpl(_Left, _Exponent));
272  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL ldexpl(_In_ long double _X, _In_ int _Y)
Definition: corecrt_math.h:878
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::log ( _Ty  _Left)
inlinestatic
275  { // return log(_Left)
276  return (_CSTD logl(_Left));
277  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL logl(_In_ long double _X)
Definition: corecrt_math.h:887
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::log1p ( _Ty  _Left)
inlinestatic
280  { // return log(1 + _Left)
281  if (_Left < -1)
282  return (_Nanv());
283  else if (_Left == 0)
284  return (_Left);
285  else
286  { // compute log(1 + _Left) with fixup for small _Left
287  _Ty _Leftp1 = 1 + _Left;
288  return (log(_Leftp1) - ((_Leftp1 - 1) - _Left) / _Leftp1);
289  }
290  }
static _Ty _Nanv()
Definition: complex:227
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty log(_Ty _Left)
Definition: complex:274
long double _Ty
Definition: complex:190
static _Ty _Ctraits< long double >::pow ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
293  { // return _Left ^ _Right
294  return (_CSTD powl(_Left, _Right));
295  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL powl(_In_ long double _X, _In_ long double _Y)
Definition: corecrt_math.h:916
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static _Ty _Ctraits< long double >::sin ( _Ty  _Left)
inlinestatic
298  { // return sin(_Left)
299  return (_CSTD sinl(_Left));
300  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL sinl(_In_ long double _X)
Definition: corecrt_math.h:933
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::sqrt ( _Ty  _Left)
inlinestatic
303  { // return sqrt(_Left)
304  return (_CSTD sqrtl(_Left));
305  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL sqrtl(_In_ long double _X)
Definition: corecrt_math.h:938
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< long double >::tan ( _Ty  _Left)
inlinestatic
308  { // return tan(_Left)
309  return (_CSTD tanl(_Left));
310  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
_Check_return_ __inline long double __CRTDECL tanl(_In_ long double _X)
Definition: corecrt_math.h:948
#define _CSTD
Definition: yvals.h:570

The documentation for this class was generated from the following file: