1#ifndef STAN_MATH_OPENCL_KERNEL_GENERATOR_IS_KERNEL_EXPRESSION_HPP
2#define STAN_MATH_OPENCL_KERNEL_GENERATOR_IS_KERNEL_EXPRESSION_HPP
33template <
typename T,
typename =
void>
36 std::remove_reference_t<T>>::value> {};
49 || std::is_arithmetic<std::remove_reference_t<T>>::value> {
56template <
typename... Types>
64template <
typename... Types>
72template <
typename T,
typename =
void>
75 std::remove_reference_t<T>>::value> {};
102 is_kernel_expression_and_not_scalar<T>,
103 math::conjunction<is_var<T>, is_kernel_expression_and_not_scalar<
104 value_type_t<T>>>> {};
146template <
typename... Types>
174template <
typename... Types>
181template <
typename... Types>
188template <
typename... Types>
Non-templated base of operation_cl is needed for easy checking if something is a subclass of operatio...
Non-templated base of operation_cl_lhs is needed for easy checking if something is a subclass of oper...
require_t< is_kernel_expression_lhs< std::decay_t< T > > > require_kernel_expression_lhs_t
Require type satisfies is_kernel_expression_lhs.
require_t< is_matrix_cl< std::decay_t< T > > > require_matrix_cl_t
Require type satisfies is_matrix_cl.
require_any_t< is_nonscalar_prim_or_rev_kernel_expression< std::decay_t< Types > >... > require_any_nonscalar_prim_or_rev_kernel_expression_t
Require any of the types satisfy is_nonscalar_prim_or_rev_kernel_expression.
require_not_t< is_nonscalar_prim_or_rev_kernel_expression< std::decay_t< T > > > require_not_nonscalar_prim_or_rev_kernel_expression_t
Require type does not satisfy is_nonscalar_prim_or_rev_kernel_expression.
require_all_not_t< is_nonscalar_prim_or_rev_kernel_expression< std::decay_t< Types > >... > require_all_not_nonscalar_prim_or_rev_kernel_expression_t
Require none of the types satisfy is_nonscalar_prim_or_rev_kernel_expression.
require_t< is_nonscalar_prim_or_rev_kernel_expression< std::decay_t< T > > > require_nonscalar_prim_or_rev_kernel_expression_t
Require type satisfies is_nonscalar_prim_or_rev_kernel_expression.
require_all_t< is_nonscalar_prim_or_rev_kernel_expression< std::decay_t< Types > >... > require_all_nonscalar_prim_or_rev_kernel_expression_t
Require all of the types satisfy is_nonscalar_prim_or_rev_kernel_expression.
require_all_t< is_kernel_expression< Types >... > require_all_kernel_expressions_t
Enables a template if all given types are are a valid kernel generator expressions.
require_all_t< is_kernel_expression_and_not_scalar< Types >... > require_all_kernel_expressions_and_none_scalar_t
Enables a template if all given types are non-scalar types that are a valid kernel generator expressi...
require_all_t< is_prim_or_rev_kernel_expression< std::decay_t< Types > >... > require_all_prim_or_rev_kernel_expression_t
Require type satisfies is_prim_or_rev_kernel_expression.
require_t< is_rev_kernel_expression< std::decay_t< T > > > require_rev_kernel_expression_t
Require type satisfies is_rev_kernel_expression.
require_not_t< is_rev_kernel_expression< std::decay_t< T > > > require_not_rev_kernel_expression_t
Require type does not satisfy is_rev_kernel_expression.
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.
std::enable_if_t<!math::disjunction< Checks... >::value > require_all_not_t
If all conditions are 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 ...
Determines whether a type is non-scalar type that is a valid kernel generator expression.
Determines whether a type is an assignable kernel generator expression.
Determines whether a type is is a valid kernel generator expression.
Determines whether a type is either a non-scalar kernel generator expression or a var containing a no...
Determines whether a type is either a kernel generator expression or a var containing a kernel genera...
Determines whether a type is a var containing a kernel generator expression.
Extends std::true_type when instantiated with zero or more template parameters, all of which extend t...
Extends std::false_type when instantiated with zero or more template parameters, all of which extend ...