Automatic Differentiation
 
Loading...
Searching...
No Matches
is_autodiff.hpp File Reference

Go to the source code of this file.

Classes

struct  stan::is_autodiff_scalar< T >
 Checks if decayed type is a var or fvar. More...
 
struct  stan::internal::is_autodiff< T, typename >
 Checks if decayed type is a var or fvar. More...
 
struct  stan::internal::is_autodiff< T, require_std_vector_t< T > >
 
struct  stan::internal::is_autodiff< T, require_eigen_t< T > >
 
struct  stan::is_autodiff< T, typename >
 Checks if decayed scalar_type_t is a var or fvar. More...
 

Namespaces

namespace  stan
 The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation from C or the boost::math::lgamma implementation.
 
namespace  stan::internal
 

Typedefs

template<typename T >
using stan::require_autodiff_scalar_t = require_t< is_autodiff_scalar< std::decay_t< T > > >
 Require type satisfies is_autodiff_scalar.
 
template<typename T >
using stan::require_not_autodiff_scalar_t = require_not_t< is_autodiff_scalar< std::decay_t< T > > >
 Require type does not satisfy is_autodiff_scalar.
 
template<typename... Types>
using stan::require_all_autodiff_scalar_t = require_all_t< is_autodiff_scalar< std::decay_t< Types > >... >
 Require all of the types satisfy is_autodiff_scalar.
 
template<typename... Types>
using stan::require_any_autodiff_scalar_t = require_any_t< is_autodiff_scalar< std::decay_t< Types > >... >
 Require any of the types satisfy is_autodiff_scalar.
 
template<typename... Types>
using stan::require_all_not_autodiff_scalar_t = require_all_not_t< is_autodiff_scalar< std::decay_t< Types > >... >
 Require none of the types satisfy is_autodiff_scalar.
 
template<typename... Types>
using stan::require_any_not_autodiff_scalar_t = require_any_not_t< is_autodiff_scalar< std::decay_t< Types > >... >
 Require at least one of the types do not satisfy is_autodiff_scalar.
 
template<typename T >
using stan::require_not_vt_autodiff_scalar = require_not_t< is_autodiff_scalar< value_type_t< std::decay_t< T > > > >
 Require value type does not satisfy is_autodiff_scalar.
 
template<typename... Types>
using stan::require_all_not_vt_autodiff_scalar = require_all_not_t< is_autodiff_scalar< value_type_t< std::decay_t< Types > > >... >
 Require none of the value types satisfy is_autodiff_scalar.
 
template<typename T >
using stan::require_st_autodiff_scalar = require_t< is_autodiff_scalar< scalar_type_t< std::decay_t< T > > > >
 Require scalar type satisfies is_autodiff_scalar.
 
template<typename T >
using stan::require_not_st_autodiff_scalar = require_not_t< is_autodiff_scalar< scalar_type_t< std::decay_t< T > > > >
 Require scalar type does not satisfy is_autodiff_scalar.
 
template<typename... Types>
using stan::require_any_st_autodiff_scalar = require_any_t< is_autodiff_scalar< scalar_type_t< std::decay_t< Types > > >... >
 Require any of the scalar types satisfy is_autodiff_scalar.
 

Variables

template<typename T >
constexpr bool stan::is_autodiff_scalar_v = is_autodiff_scalar<T>::value
 
template<typename T >
constexpr bool stan::is_autodiff_v = internal::is_autodiff<T>::value
 
template<typename... Types>
constexpr bool stan::is_all_autodiff_v = (is_autodiff_v<Types> && ...)
 
template<typename... Types>
constexpr bool stan::is_any_autodiff_v = (is_autodiff_v<Types> || ...)