Stan Math Library
4.9.0
Automatic Differentiation
Loading...
Searching...
No Matches
scalar_type.hpp
Go to the documentation of this file.
1
#ifndef STAN_MATH_OPENCL_SCALAR_TYPE_HPP
2
#define STAN_MATH_OPENCL_SCALAR_TYPE_HPP
3
#ifdef STAN_OPENCL
4
5
#include <
stan/math/prim/meta.hpp
>
6
#include <type_traits>
7
8
namespace
stan
{
9
13
template
<
typename
T>
14
struct
scalar_type
<T,
require_all_kernel_expressions_and_none_scalar_t
<T>> {
15
using
type
=
typename
scalar_type<typename std::decay_t<T>::Scalar
>
::type
;
16
};
17
}
// namespace stan
18
#endif
19
#endif
stan::require_all_kernel_expressions_and_none_scalar_t
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...
Definition
is_kernel_expression.hpp:58
stan
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
Definition
unit_vector_constrain.hpp:15
meta.hpp
stan::scalar_type< T, require_all_kernel_expressions_and_none_scalar_t< T > >::type
typename scalar_type< typename std::decay_t< T >::Scalar >::type type
Definition
scalar_type.hpp:15
stan::scalar_type::type
std::decay_t< T > type
Definition
scalar_type.hpp:21
stan::scalar_type
Metaprogram structure to determine the base scalar type of a template argument.
Definition
scalar_type.hpp:20
stan
math
opencl
scalar_type.hpp
[
Stan Home Page
]
© 2011–2019, Stan Development Team.