Loading [MathJax]/extensions/TeX/AMSsymbols.js
Automatic Differentiation
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
is_autodiff.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_META_IS_AUTODIFF_HPP
2#define STAN_MATH_PRIM_META_IS_AUTODIFF_HPP
3
7#include <complex>
8#include <type_traits>
9
10namespace stan {
11
17template <typename T>
19 : bool_constant<math::disjunction<is_var<std::decay_t<T>>,
20 is_fvar<std::decay_t<T>>>::value> {};
21
22template <typename T>
23inline constexpr bool is_autodiff_v = is_autodiff<T>::value;
24
32template <typename T>
34
37template <typename T>
39
42template <typename... Types>
45
48template <typename... Types>
51
54template <typename... Types>
57
60template <typename... Types>
71template <typename T>
74
78template <typename... Types>
81
84template <typename T>
87
90template <typename T>
93
97template <typename... Types>
102} // namespace stan
103
104#endif
require_not_t< is_autodiff< scalar_type_t< std::decay_t< T > > > > require_not_st_autodiff
Require scalar type does not satisfy is_autodiff.
require_not_t< is_autodiff< std::decay_t< T > > > require_not_autodiff_t
Require type does not satisfy is_autodiff.
require_t< is_autodiff< scalar_type_t< std::decay_t< T > > > > require_st_autodiff
Require scalar type satisfies is_autodiff.
require_not_t< is_autodiff< value_type_t< std::decay_t< T > > > > require_not_vt_autodiff
Require value type does not satisfy is_autodiff.
require_any_t< is_autodiff< scalar_type_t< std::decay_t< Types > > >... > require_any_st_autodiff
Require any of the scalar types satisfy is_autodiff.
require_any_t< is_autodiff< std::decay_t< Types > >... > require_any_autodiff_t
Require any of the types satisfy is_autodiff.
require_all_t< is_autodiff< std::decay_t< Types > >... > require_all_autodiff_t
Require all of the types satisfy is_autodiff.
require_all_not_t< is_autodiff< value_type_t< std::decay_t< Types > > >... > require_all_not_vt_autodiff
Require none of the value types satisfy is_autodiff.
require_t< is_autodiff< std::decay_t< T > > > require_autodiff_t
Require type satisfies is_autodiff.
require_any_not_t< is_autodiff< std::decay_t< Types > >... > require_any_not_autodiff_t
Require at least one of the types do not satisfy is_autodiff.
require_all_not_t< is_autodiff< std::decay_t< Types > >... > require_all_not_autodiff_t
Require none of the types satisfy is_autodiff.
std::enable_if_t<!Check::value > require_not_t
If condition is false, template is disabled.
std::enable_if_t< math::disjunction< Checks... >::value > require_any_t
If any condition is true, template is enabled.
constexpr bool is_autodiff_v
std::enable_if_t<!math::disjunction< Checks... >::value > require_all_not_t
If all conditions are false, template is enabled.
std::enable_if_t<!math::conjunction< Checks... >::value > require_any_not_t
If any condition is false, template is enabled.
std::enable_if_t< Check::value > require_t
If condition is true, template is enabled.
std::enable_if_t< math::conjunction< Checks... >::value > require_all_t
If all conditions are true, template is enabled Returns a type void if all conditions are true and ot...
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
Checks if decayed type is a var or fvar.