1#ifndef STAN_MATH_OPENCL_PRIM_REP_MATRIX_HPP
2#define STAN_MATH_OPENCL_PRIM_REP_MATRIX_HPP
27template <
typename T, require_matrix_cl_t<T>* =
nullptr>
50template <
typename T, require_arithmetic_t<T>* =
nullptr>
55 const int N = x.
rows() == 1 ? m : x.
rows();
56 const int M = x.
cols() == 1 ? m : x.
cols();
Represents operation that determines column index.
Represents an arithmetic matrix on the OpenCL device.
Represents operation that determines row index.
void check_mat_not_size_one(const char *function, const char *name, const matrix_cl< T > &A)
Check if the matrix_cl has a single element.
auto constant(const T a, int rows, int cols)
Matrix of repeated values in kernel generator expressions.
auto indexing(T_mat &&mat, T_row_index &&row_index, T_col_index &&col_index)
Index a kernel generator expression using two expressions for indices.
auto rep_matrix(const value_type_t< T > &x, int n, int m)
Creates a matrix_cl by replicating the given value of arithmetic type.
typename value_type< T >::type value_type_t
Helper function for accessing underlying type.
void check_nonnegative(const char *function, const char *name, const T_y &y)
Check if y is non-negative.
void check_vector(const char *function, const char *name, const Mat &x)
Check the input is either a row vector or column vector or a matrix with a single row or column.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...