Automatic Differentiation
 
Loading...
Searching...
No Matches
is_fvar.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_META_IS_FVAR_HPP
2#define STAN_MATH_PRIM_META_IS_FVAR_HPP
3
8#include <type_traits>
9
10namespace stan {
15template <typename T, typename = void>
16struct is_fvar : std::false_type {};
17
18template <typename T>
19inline constexpr bool is_fvar_v = is_fvar<T>::value;
20
25template <typename T>
26struct value_type<T, std::enable_if_t<is_fvar<std::decay_t<T>>::value>> {
27 using type = typename std::decay_t<T>::Scalar;
28};
29
37template <typename T>
39
42template <typename T>
44
47template <typename... Types>
49
52template <typename... Types>
54
57template <typename... Types>
60
63template <typename... Types>
75template <typename... Types>
78
82template <typename... Types>
85
88template <typename T>
90
93template <typename T>
96
100template <typename... Types>
103
107template <typename... Types>
110
115template <typename... Types>
120} // namespace stan
121#endif
require_any_t< is_fvar< std::decay_t< Types > >... > require_any_fvar_t
Require any of the types satisfy is_fvar.
Definition is_fvar.hpp:53
require_any_t< is_fvar< value_type_t< std::decay_t< Types > > >... > require_any_vt_fvar
Require any of the value types satisfy is_fvar.
Definition is_fvar.hpp:77
require_all_not_t< is_fvar< value_type_t< std::decay_t< Types > > >... > require_all_not_vt_fvar
Require none of the value types satisfy is_fvar.
Definition is_fvar.hpp:84
require_all_not_t< is_fvar< scalar_type_t< std::decay_t< Types > > >... > require_all_not_st_fvar
Require none of the scalar types satisfy is_fvar.
Definition is_fvar.hpp:109
require_any_t< is_fvar< scalar_type_t< std::decay_t< Types > > >... > require_any_st_fvar
Require any of the scalar types satisfy is_fvar.
Definition is_fvar.hpp:102
require_t< is_fvar< scalar_type_t< std::decay_t< T > > > > require_st_fvar
Require scalar type satisfies is_fvar.
Definition is_fvar.hpp:89
require_not_t< is_fvar< scalar_type_t< std::decay_t< T > > > > require_not_st_fvar
Require scalar type does not satisfy is_fvar.
Definition is_fvar.hpp:95
require_not_t< is_fvar< std::decay_t< T > > > require_not_fvar_t
Require type does not satisfy is_fvar.
Definition is_fvar.hpp:43
require_all_not_t< is_fvar< std::decay_t< Types > >... > require_all_not_fvar_t
Require none of the types satisfy is_fvar.
Definition is_fvar.hpp:59
require_t< is_fvar< std::decay_t< T > > > require_fvar_t
Require type satisfies is_fvar.
Definition is_fvar.hpp:38
require_all_t< is_fvar< std::decay_t< Types > >... > require_all_fvar_t
Require all of the types satisfy is_fvar.
Definition is_fvar.hpp:48
require_any_not_t< is_fvar< std::decay_t< Types > >... > require_any_not_fvar_t
Require at least one of the types do not satisfy is_fvar.
Definition is_fvar.hpp:65
require_any_t< is_fvar< base_type_t< std::decay_t< Types > > >... > require_any_bt_fvar
Require any of the base types satisfy is_fvar.
Definition is_fvar.hpp:117
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_fvar_v
Definition is_fvar.hpp:19
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 ...
STL namespace.
Defines a static member function type which is defined to be false as the primitive scalar types cann...
Definition is_fvar.hpp:16
Primary template class for metaprogram to compute the type of values stored in a container.