1 #ifndef VIENNACL_RAND_UTILS_HPP_
2 #define VIENNACL_RAND_UTILS_HPP_
25 #ifdef VIENNACL_WITH_OPENCL
26 #include "viennacl/linalg/kernels/rand_kernels.h"
33 template<
class SCALARTYPE,
class DISTRIBUTION>
34 struct random_matrix_t{
36 random_matrix_t(size_type _size1,
unsigned int _size2, DISTRIBUTION
const & _distribution) :
size1(_size1),
size2(_size2), distribution(_distribution){
37 #ifdef VIENNACL_WITH_OPENCL
43 DISTRIBUTION distribution;
47 template<
class SCALARTYPE,
class DISTRIBUTION>
48 struct random_vector_t{
50 random_vector_t(size_type _size, DISTRIBUTION
const & _distribution) :
size(_size), distribution(_distribution){
51 #ifdef VIENNACL_WITH_OPENCL
56 DISTRIBUTION distribution;
59 template<
class ScalarType,
class Distribution>
vcl_size_t size1(MatrixType const &mat)
Generic routine for obtaining the number of rows of a matrix (ViennaCL, uBLAS, etc.)
result_of::size_type< MatrixType >::type size2(MatrixType const &mat)
Generic routine for obtaining the number of columns of a matrix (ViennaCL, uBLAS, etc...
vcl_size_t size(VectorType const &vec)
Generic routine for obtaining the size of a vector (ViennaCL, uBLAS, etc.)