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 ()
 
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 double _Ctraits< double >::_Ty

Member Function Documentation

static _Ty _Ctraits< double >::_Cosh ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
331  { // return cosh(_Left) * _Right
332  return (_CSTD _Cosh(_Left, _Right));
333  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty _Cosh(_Ty _Left, _Ty _Right)
Definition: complex:330
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static short _Ctraits< double >::_Exp ( _Ty _Pleft,
_Ty  _Right,
short  _Exponent 
)
inlinestatic
336  { // compute exp(*_Pleft) * _Right * 2 ^ _Exponent
337  return (_CSTD _Exp(_Pleft, _Right, _Exponent));
338  }
static short _Exp(_Ty *_Pleft, _Ty _Right, short _Exponent)
Definition: complex:335
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static _Ty _Ctraits< double >::_Flt_eps ( )
inlinestatic
321  { // get epsilon
322  return (DBL_EPSILON);
323  }
#define DBL_EPSILON
Definition: float.h:68
static _Ty _Ctraits< double >::_Flt_max ( )
inlinestatic
326  { // get max
327  return (DBL_MAX);
328  }
#define DBL_MAX
Definition: float.h:71
static _Ty _Ctraits< double >::_Infv ( )
inlinestatic
341  { // return infinity
343  }
Definition: limits:102
static bool _Ctraits< double >::_Isinf ( _Ty  _Left)
inlinestatic
346  { // test for infinity
347  return (_CSTD _Dtest(&_Left) == _INFCODE);
348  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
#define _INFCODE
Definition: corecrt_math.h:97
#define _CSTD
Definition: yvals.h:570
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _Dtest(double *)
static bool _Ctraits< double >::_Isnan ( _Ty  _Left)
inlinestatic
351  { // test for NaN
352  return (_CSTD _Dtest(&_Left) == _NANCODE);
353  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
#define _NANCODE
Definition: corecrt_math.h:98
#define _CSTD
Definition: yvals.h:570
_CRTIMP2_PURE short __CLRCALL_PURE_OR_CDECL _Dtest(double *)
static _Ty _Ctraits< double >::_Nanv ( )
inlinestatic
356  { // return NaN
358  }
Definition: limits:102
static _Ty _Ctraits< double >::_Sinh ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
361  { // return sinh(_Left) * _Right
362  return (_CSTD _Sinh(_Left, _Right));
363  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty _Sinh(_Ty _Left, _Ty _Right)
Definition: complex:360
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static _Ty _Ctraits< double >::asinh ( _Ty  _Left)
inlinestatic
366  { // return asinh(_Left)
367  if (_Isnan(_Left) || _Isinf(_Left) || _Left == 0)
368  return (0);
369  else
370  { // _Left finite nonzero
371  bool _Neg = _Left < 0;
372  _Ty _Ans;
373 
374  if (_Neg)
375  _Left = -_Left;
376  if (_Left < 2 / _Flt_eps())
377  _Ans = log1p(_Left
378  + _Left * _Left / (1 + sqrt(_Left * _Left + 1)));
379  else
380  _Ans = log(_Left) // _Left big, compute log(_Left+_Left)
381  + (_Ty)0.69314718055994530941723212145817658L;
382  return (_Neg ? -_Ans : _Ans);
383  }
384  }
static bool _Isnan(_Ty _Left)
Definition: complex:350
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty log(_Ty _Left)
Definition: complex:406
static _Ty sqrt(_Ty _Left)
Definition: complex:438
double _Ty
Definition: complex:318
static bool _Isinf(_Ty _Left)
Definition: complex:345
static _Ty log1p(_Ty _Left)
Definition: complex:411
static _Ty _Flt_eps()
Definition: complex:320
static _Ty _Ctraits< double >::atan2 ( _Ty  _Yval,
_Ty  _Xval 
)
inlinestatic
387  { // return atan(_Yval / _Xval)
388  return (_CSTD atan2(_Yval, _Xval));
389  }
static _Ty atan2(_Ty _Yval, _Ty _Xval)
Definition: complex:386
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::cos ( _Ty  _Left)
inlinestatic
392  { // return cos(_Left)
393  return (_CSTD cos(_Left));
394  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty cos(_Ty _Left)
Definition: complex:391
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::exp ( _Ty  _Left)
inlinestatic
397  { // return exp(_Left)
398  return (_CSTD exp(_Left));
399  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty exp(_Ty _Left)
Definition: complex:396
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::ldexp ( _Ty  _Left,
int  _Exponent 
)
inlinestatic
402  { // return _Left * 2 ^ _Exponent
403  return (_CSTD ldexp(_Left, _Exponent));
404  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty ldexp(_Ty _Left, int _Exponent)
Definition: complex:401
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::log ( _Ty  _Left)
inlinestatic
407  { // return log(_Left)
408  return (_CSTD log(_Left));
409  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty log(_Ty _Left)
Definition: complex:406
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::log1p ( _Ty  _Left)
inlinestatic
412  { // return log(1 + _Left)
413  if (_Isnan(_Left) || _Left == 0 || (_Isinf(_Left) && 0 < _Left))
414  return (_Left);
415  else if (_Left < -1)
416  return (_Nanv());
417  else if (_Left == -1)
418  return (-_Infv());
419  else if (_Left == 0)
420  return (_Left);
421  else
422  { // compute log(1 + _Left) with fixup for small _Left
423  _Ty _Leftp1 = 1 + _Left;
424  return (log(_Leftp1) - ((_Leftp1 - 1) - _Left) / _Leftp1);
425  }
426  }
static bool _Isnan(_Ty _Left)
Definition: complex:350
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty log(_Ty _Left)
Definition: complex:406
double _Ty
Definition: complex:318
static _Ty _Nanv()
Definition: complex:355
static _Ty _Infv()
Definition: complex:340
static bool _Isinf(_Ty _Left)
Definition: complex:345
static _Ty _Ctraits< double >::pow ( _Ty  _Left,
_Ty  _Right 
)
inlinestatic
429  { // return _Left ^ _Right
430  return (_CSTD pow(_Left, _Right));
431  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty pow(_Ty _Left, _Ty _Right)
Definition: complex:428
#define _CSTD
Definition: yvals.h:570
constexpr const _Ty &() _Right
Definition: algorithm:3723
static _Ty _Ctraits< double >::sin ( _Ty  _Left)
inlinestatic
434  { // return sin(_Left)
435  return (_CSTD sin(_Left));
436  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty sin(_Ty _Left)
Definition: complex:433
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::sqrt ( _Ty  _Left)
inlinestatic
439  { // return sqrt(_Left)
440  return (_CSTD sqrt(_Left));
441  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
static _Ty sqrt(_Ty _Left)
Definition: complex:438
#define _CSTD
Definition: yvals.h:570
static _Ty _Ctraits< double >::tan ( _Ty  _Left)
inlinestatic
444  { // return tan(_Left)
445  return (_CSTD tan(_Left));
446  }
constexpr const _Ty &() _Left
Definition: algorithm:3722
#define _CSTD
Definition: yvals.h:570
static _Ty tan(_Ty _Left)
Definition: complex:443

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