#ifndef _MAT_HPP
#define _MAT_HPP
#include <vector>
#include <random>
#include <cilk/cilk.h>
typedef double scalar;
typedef std::vector<scalar> vec;
typedef std::vector<vec> mat;
inline double dist(long int raw) {
return (raw % 20) -10 ;
}
inline
mat random_mat(long seed, int rows, int cols) {
mat A;
A.resize(rows);
cilk_for(int i=0; i<rows; i++) {
std::mt19937 gen(seed+i);
vec v;
v.resize(cols);
for (int j=0; j<cols; j++) {
v[j]=dist(gen());
}
A[i]=v;
}
return A;
}
#endif