41#include "realTraits.hpp"
46 template<
typename T_Tape>
49 template<
typename T_Tape,
typename T_ParallelToolbox>
50 struct ParallelActiveType;
56 template<
typename Type>
64 static Type
constexpr min() {
65 return Type(numeric_limits<Passive>::min());
67 static Type
constexpr max() {
68 return Type(numeric_limits<Passive>::max());
71 return Type(numeric_limits<Passive>::lowest());
73 static int constexpr digits = numeric_limits<Passive>::digits;
74 static int constexpr digits10 = numeric_limits<Passive>::digits10;
75 static bool constexpr is_signed = numeric_limits<Passive>::is_signed;
76 static bool constexpr is_integer = numeric_limits<Passive>::is_integer;
77 static bool constexpr is_exact = numeric_limits<Passive>::is_exact;
78 static int constexpr radix = numeric_limits<Passive>::radix;
80 return Type(numeric_limits<Passive>::epsilon());
83 return Type(numeric_limits<Passive>::round_error());
86 static int constexpr min_exponent = numeric_limits<Passive>::min_exponent;
87 static int constexpr min_exponent10 = numeric_limits<Passive>::max_exponent10;
88 static int constexpr max_exponent = numeric_limits<Passive>::max_exponent;
89 static int constexpr max_exponent10 = numeric_limits<Passive>::max_exponent10;
91 static bool constexpr has_infinity = numeric_limits<Passive>::has_infinity;
92 static bool constexpr has_quiet_NaN = numeric_limits<Passive>::has_quiet_NaN;
94 static float_denorm_style
constexpr has_denorm = numeric_limits<Passive>::has_denorm;
97 return Type(numeric_limits<Passive>::infinity());
100 return Type(numeric_limits<Passive>::quiet_NaN());
103 return Type(numeric_limits<Passive>::signaling_NaN());
106 return Type(numeric_limits<Passive>::denorm_min());
109 static bool constexpr is_iec559 = numeric_limits<Passive>::is_iec559;
110 static bool constexpr is_bounded = numeric_limits<Passive>::is_bounded;
111 static bool constexpr is_modulo = numeric_limits<Passive>::is_modulo;
113 static bool constexpr traps = numeric_limits<Passive>::traps;
115 static float_round_style
constexpr round_style = numeric_limits<Passive>::round_style;
119 template<
typename Tape>
123 template<
typename Tape,
typename ParallelToolbox>
124 struct numeric_limits<
codi::ParallelActiveType<Tape, ParallelToolbox>>
128 template<
typename Tape>
129 struct numeric_limits<
codi::ActiveTypeStatelessTape<Tape>>
typename TraitsImplementation< Type >::PassiveReal PassiveReal
The original computation type, that was used in the application.
Definition realTraits.hpp:117
CoDiPack - Code Differentiation Package.
Definition codi.hpp:90
Represents a concrete lvalue in the CoDiPack expression tree.
Definition activeType.hpp:52
Specialization of std::numeric_limits for the default CoDiPack active types.
Definition numericLimits.hpp:57
static bool constexpr traps
See numeric_limits.
Definition numericLimits.hpp:113
static bool constexpr tinyness_before
See numeric_limits.
Definition numericLimits.hpp:114
static int constexpr radix
See numeric_limits.
Definition numericLimits.hpp:78
static bool constexpr is_bounded
See numeric_limits.
Definition numericLimits.hpp:110
static Type constexpr lowest()
See numeric_limits.
Definition numericLimits.hpp:70
static bool constexpr has_denorm_loss
See numeric_limits.
Definition numericLimits.hpp:95
static bool constexpr is_modulo
See numeric_limits.
Definition numericLimits.hpp:111
static bool constexpr is_specialized
See numeric_limits.
Definition numericLimits.hpp:63
static int constexpr min_exponent
See numeric_limits.
Definition numericLimits.hpp:86
static bool constexpr has_quiet_NaN
See numeric_limits.
Definition numericLimits.hpp:92
static int constexpr min_exponent10
See numeric_limits.
Definition numericLimits.hpp:87
static Type constexpr round_error()
See numeric_limits.
Definition numericLimits.hpp:82
static Type constexpr epsilon()
See numeric_limits.
Definition numericLimits.hpp:79
static bool constexpr is_exact
See numeric_limits.
Definition numericLimits.hpp:77
static bool constexpr has_infinity
See numeric_limits.
Definition numericLimits.hpp:91
static bool constexpr is_integer
See numeric_limits.
Definition numericLimits.hpp:76
static int constexpr digits10
See numeric_limits.
Definition numericLimits.hpp:74
static Type constexpr signaling_NaN()
See numeric_limits.
Definition numericLimits.hpp:102
static Type constexpr max()
See numeric_limits.
Definition numericLimits.hpp:67
static int constexpr digits
See numeric_limits.
Definition numericLimits.hpp:73
static float_round_style constexpr round_style
See numeric_limits.
Definition numericLimits.hpp:115
static Type constexpr infinity()
See numeric_limits.
Definition numericLimits.hpp:96
static int constexpr max_exponent10
See numeric_limits.
Definition numericLimits.hpp:89
static bool constexpr is_signed
See numeric_limits.
Definition numericLimits.hpp:75
static float_denorm_style constexpr has_denorm
See numeric_limits.
Definition numericLimits.hpp:94
static Type constexpr denorm_min()
See numeric_limits.
Definition numericLimits.hpp:105
static bool constexpr is_iec559
See numeric_limits.
Definition numericLimits.hpp:109
static int constexpr max_exponent
See numeric_limits.
Definition numericLimits.hpp:88
static bool constexpr has_signaling_NaN
See numeric_limits.
Definition numericLimits.hpp:93
static Type constexpr quiet_NaN()
See numeric_limits.
Definition numericLimits.hpp:99
static Type constexpr min()
See numeric_limits.
Definition numericLimits.hpp:64