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

Public Types

typedef 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 (_Ty)
 
static bool _Isinf (_Ty _Left)
 
static bool _Isnan (_Ty _Left)
 
static _Ty _Nanv (_Ty)
 
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 double _Ctraits< double >::_Ty

Member Function Documentation

static _Ty _Ctraits< double >::_Cosh ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
335  { // return cosh(_Left) * _Right
336  return (_CSTD _Cosh(_Left, _Right));
337  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty _Cosh(_Ty _Left, _Ty _Right)
Definition: complex:334
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3591
static short _Ctraits< double >::_Exp ( _Ty _Pleft,
_Ty  _Right,
short  _Exponent 
)
inlinestatic
340  { // compute exp(*_Pleft) * _Right * 2 ^ _Exponent
341  return (_CSTD _Exp(_Pleft, _Right, _Exponent));
342  }
static short _Exp(_Ty *_Pleft, _Ty _Right, short _Exponent)
Definition: complex:339
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3591
static _Ty _Ctraits< double >::_Flt_eps ( )
inlinestatic
325  { // get epsilon
326  return (DBL_EPSILON);
327  }
static _Ty _Ctraits< double >::_Flt_max ( )
inlinestatic
330  { // get max
331  return (DBL_MAX);
332  }
static _Ty _Ctraits< double >::_Infv ( _Ty  )
inlinestatic
345  { // return infinity
347  }
Definition: limits:101
static bool _Ctraits< double >::_Isinf ( _Ty  _Left)
inlinestatic
350  { // test for infinity
351  return (_CSTD _Dtest(&_Left) == _INFCODE);
352  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
#define _INFCODE
Definition: ymath.h:23
#define _CSTD
Definition: yvals.h:570
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _Dtest(double *)
static bool _Ctraits< double >::_Isnan ( _Ty  _Left)
inlinestatic
355  { // test for NaN
356  return (_CSTD _Dtest(&_Left) == _NANCODE);
357  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
#define _NANCODE
Definition: ymath.h:24
#define _CSTD
Definition: yvals.h:570
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _Dtest(double *)
static _Ty _Ctraits< double >::_Nanv ( _Ty  )
inlinestatic
360  { // return NaN
362  }
Definition: limits:101
static _Ty _Ctraits< double >::_Sinh ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
365  { // return sinh(_Left) * _Right
366  return (_CSTD _Sinh(_Left, _Right));
367  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty _Sinh(_Ty _Left, _Ty _Right)
Definition: complex:364
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3591
static _Ty _Ctraits< double >::asinh ( _Ty  _Left)
inlinestatic
370  { // return asinh(_Left)
371  if (_Isnan(_Left) || _Isinf(_Left) || _Left == 0)
372  return (0);
373  else
374  { // _Left finite nonzero
375  bool _Neg = _Left < 0;
376  _Ty _Ans;
377 
378  if (_Neg)
379  _Left = -_Left;
380  if (_Left < 2 / _Flt_eps())
381  _Ans = log1p(_Left
382  + _Left * _Left / (1 + sqrt(_Left * _Left + 1)));
383  else
384  _Ans = log(_Left) // _Left big, compute log(_Left+_Left)
385  + (_Ty)0.69314718055994530941723212145817658L;
386  return (_Neg ? -_Ans : _Ans);
387  }
388  }
static bool _Isnan(_Ty _Left)
Definition: complex:354
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty log(_Ty _Left)
Definition: complex:410
static _Ty sqrt(_Ty _Left)
Definition: complex:442
double _Ty
Definition: complex:322
static bool _Isinf(_Ty _Left)
Definition: complex:349
static _Ty log1p(_Ty _Left)
Definition: complex:415
static _Ty _Flt_eps()
Definition: complex:324
static _Ty _Ctraits< double >::atan2 ( _Ty  _Yval,
_Ty  _Xval 
)
inlinestatic
391  { // return atan(_Yval / _Xval)
392  return (_CSTD atan2(_Yval, _Xval));
393  }
static _Ty atan2(_Ty _Yval, _Ty _Xval)
Definition: complex:390
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::cos ( _Ty  _Left)
inlinestatic
396  { // return cos(_Left)
397  return (_CSTD cos(_Left));
398  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty cos(_Ty _Left)
Definition: complex:395
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::exp ( _Ty  _Left)
inlinestatic
401  { // return exp(_Left)
402  return (_CSTD exp(_Left));
403  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty exp(_Ty _Left)
Definition: complex:400
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::ldexp ( _Ty  _Left,
int  _Exponent 
)
inlinestatic
406  { // return _Left * 2 ^ _Exponent
407  return (_CSTD ldexp(_Left, _Exponent));
408  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty ldexp(_Ty _Left, int _Exponent)
Definition: complex:405
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::log ( _Ty  _Left)
inlinestatic
411  { // return log(_Left)
412  return (_CSTD log(_Left));
413  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty log(_Ty _Left)
Definition: complex:410
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::log1p ( _Ty  _Left)
inlinestatic
416  { // return log(1 + _Left)
417  if (_Isnan(_Left) || _Left == 0 || (_Isinf(_Left) && 0 < _Left))
418  return (_Left);
419  else if (_Left < -1)
420  return (_Nanv(_Left));
421  else if (_Left == -1)
422  return (-_Infv(_Left));
423  else if (_Left == 0)
424  return (_Left);
425  else
426  { // compute log(1 + _Left) with fixup for small _Left
427  _Ty _Leftp1 = 1 + _Left;
428  return (log(_Leftp1) - ((_Leftp1 - 1) - _Left) / _Leftp1);
429  }
430  }
static bool _Isnan(_Ty _Left)
Definition: complex:354
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty log(_Ty _Left)
Definition: complex:410
static _Ty _Infv(_Ty)
Definition: complex:344
double _Ty
Definition: complex:322
static _Ty _Nanv(_Ty)
Definition: complex:359
static bool _Isinf(_Ty _Left)
Definition: complex:349
static _Ty _Ctraits< double >::pow ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
433  { // return _Left ^ _Right
434  return (_CSTD pow(_Left, _Right));
435  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty pow(_Ty _Left, _Ty _Right)
Definition: complex:432
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3591
static _Ty _Ctraits< double >::sin ( _Ty  _Left)
inlinestatic
438  { // return sin(_Left)
439  return (_CSTD sin(_Left));
440  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty sin(_Ty _Left)
Definition: complex:437
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::sqrt ( _Ty  _Left)
inlinestatic
443  { // return sqrt(_Left)
444  return (_CSTD sqrt(_Left));
445  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
static _Ty sqrt(_Ty _Left)
Definition: complex:442
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::tan ( _Ty  _Left)
inlinestatic
448  { // return tan(_Left)
449  return (_CSTD tan(_Left));
450  }
constexpr const _Ty &() _Left
Definition: algorithm:3590
#define _CSTD
Definition: yvals.h:570
static _Ty tan(_Ty _Left)
Definition: complex:447

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