1 #ifndef STAN_MATH_PRIM_MAT_VECTORIZE_APPLY_UNARY_SCALAR_HPP
2 #define STAN_MATH_PRIM_MAT_VECTORIZE_APPLY_UNARY_SCALAR_HPP
35 template <
typename F,
typename T>
40 typedef typename Eigen::internal::traits<T>::Scalar
scalar_t;
46 typedef Eigen::Matrix<
scalar_t, T::RowsAtCompileTime,
60 for (
int j = 0; j < x.cols(); ++j)
61 for (
int i = 0; i < x.rows(); ++i)
89 static inline return_t
apply(
double x) {
102 template <
typename F>
118 static inline return_t
apply(
int x) {
119 return F::fun(static_cast<double>(x));
132 template <
typename F,
typename T>
138 typedef typename std::vector<typename apply_scalar_unary<F, T>::return_t>
152 for (
size_t i = 0; i < x.size(); ++i)
static return_t apply(double x)
Apply the function specified by F to the specified argument.
Eigen::Matrix< scalar_t, T::RowsAtCompileTime, T::ColsAtCompileTime > return_t
Return type for applying the function elementwise to a matrix expression template of type T...
static return_t apply(const std::vector< T > &x)
Apply the function specified by F elementwise to the specified argument.
static return_t apply(int x)
Apply the function specified by F to the specified argument.
double return_t
The return type, double.
std::vector< typename apply_scalar_unary< F, T >::return_t > return_t
Return type, which is calculated recursively as a standard vector of the return type of the contained...
Eigen::internal::traits< T >::Scalar scalar_t
Type of underlying scalar for the matrix type T.
Base template class for vectorization of unary scalar functions defined by a template class F to a sc...
double return_t
The return type, double.
static return_t apply(const T &x)
Return the result of applying the function defined by the template parameter F to the specified matri...