1#ifndef STAN_MATH_FWD_CORE_STD_NUMERIC_LIMITS_HPP
2#define STAN_MATH_FWD_CORE_STD_NUMERIC_LIMITS_HPP
10struct numeric_limits<
stan::math::fvar<T> > {
13 return numeric_limits<double>::min();
16 return numeric_limits<double>::max();
25 return numeric_limits<double>::epsilon();
28 return numeric_limits<double>::round_error();
30 static constexpr int max_digits10{numeric_limits<T>::max_digits10};
43 return numeric_limits<double>::infinity();
46 return numeric_limits<double>::quiet_NaN();
49 return numeric_limits<double>::signaling_NaN();
52 return numeric_limits<double>::denorm_min();
65const bool numeric_limits<stan::math::fvar<T> >::is_specialized =
true;
67const int numeric_limits<stan::math::fvar<T> >::digits
68 = numeric_limits<double>::digits;
70const int numeric_limits<stan::math::fvar<T> >::digits10
71 = numeric_limits<double>::digits10;
73const bool numeric_limits<stan::math::fvar<T> >::is_signed
74 = numeric_limits<double>::is_signed;
76const bool numeric_limits<stan::math::fvar<T> >::is_integer
77 = numeric_limits<double>::is_integer;
79const bool numeric_limits<stan::math::fvar<T> >::is_exact
80 = numeric_limits<double>::is_exact;
82const int numeric_limits<stan::math::fvar<T> >::radix
83 = numeric_limits<double>::radix;
85const int numeric_limits<stan::math::fvar<T> >::min_exponent
86 = numeric_limits<double>::min_exponent;
88const int numeric_limits<stan::math::fvar<T> >::min_exponent10
89 = numeric_limits<double>::min_exponent10;
91const int numeric_limits<stan::math::fvar<T> >::max_exponent
92 = numeric_limits<double>::max_exponent;
94const int numeric_limits<stan::math::fvar<T> >::max_exponent10
95 = numeric_limits<double>::max_exponent10;
98const bool numeric_limits<stan::math::fvar<T> >::has_infinity
99 = numeric_limits<double>::has_infinity;
101const bool numeric_limits<stan::math::fvar<T> >::has_quiet_NaN
102 = numeric_limits<double>::has_quiet_NaN;
104const bool numeric_limits<stan::math::fvar<T> >::has_signaling_NaN
105 = numeric_limits<double>::has_signaling_NaN;
107const float_denorm_style numeric_limits<stan::math::fvar<T> >::has_denorm
108 = numeric_limits<double>::has_denorm;
110const bool numeric_limits<stan::math::fvar<T> >::has_denorm_loss
111 = numeric_limits<double>::has_denorm_loss;
114const bool numeric_limits<stan::math::fvar<T> >::is_iec559
115 = numeric_limits<double>::is_iec559;
117const bool numeric_limits<stan::math::fvar<T> >::is_bounded
118 = numeric_limits<double>::is_bounded;
120const bool numeric_limits<stan::math::fvar<T> >::is_modulo
121 = numeric_limits<double>::is_modulo;
124const bool numeric_limits<stan::math::fvar<T> >::traps
125 = numeric_limits<double>::traps;
127const bool numeric_limits<stan::math::fvar<T> >::tinyness_before
128 = numeric_limits<double>::tinyness_before;
130const float_round_style numeric_limits<stan::math::fvar<T> >::round_style
131 = numeric_limits<double>::round_style;
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
This template class represents scalars used in forward-mode automatic differentiation,...
static constexpr stan::math::fvar< T > denorm_min()
static const bool is_iec559
static const int max_exponent
static const bool has_signaling_NaN
static const float_round_style round_style
static const int min_exponent10
static constexpr stan::math::fvar< T > min()
static constexpr stan::math::fvar< T > max()
static const bool is_modulo
static constexpr stan::math::fvar< T > signaling_NaN()
static const int max_exponent10
static const bool is_specialized
static constexpr stan::math::fvar< T > infinity()
static const bool tinyness_before
static const bool has_quiet_NaN
static const bool is_exact
static const float_denorm_style has_denorm
static constexpr stan::math::fvar< T > epsilon()
static const bool is_bounded
static const int min_exponent
static const bool has_denorm_loss
static const int digits10
static constexpr stan::math::fvar< T > round_error()
static const bool has_infinity
static const bool is_integer
static const bool is_signed
static constexpr stan::math::fvar< T > quiet_NaN()