1#ifndef STAN_MATH_OPENCL_REF_TYPE_HPP
2#define STAN_MATH_OPENCL_REF_TYPE_HPP
35 :
public std::true_type {};
43template <
typename T,
bool Colwise,
bool Rowwise>
52template <
typename T,
bool Colwise,
bool Rowwise>
58template <
bool Condition,
typename T>
62 = std::conditional_t<std::is_rvalue_reference<T>::value,
63 std::remove_reference_t<T>,
const T&>;
64 using type = std::conditional_t<
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.
typename plain_type< T >::type plain_type_t
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
std::conditional_t< std::is_rvalue_reference< T >::value, std::remove_reference_t< T >, const T & > T_optionally_ref
std::conditional_t< internal::is_trivial_kg_expression< std::decay_t< T > >::value||!Condition, T_optionally_ref, T_plain > type
plain_type_t< T > T_plain
If the condition is true determines appropriate type for assigning expression of given type to,...