14 static long int random() {
18 static void srandom(
unsigned int seed) {
31 mgx_EXPORT
unsigned int sran_time();
36 mgx_EXPORT
void sran(
unsigned int seed);
41 mgx_EXPORT
double ran(
double M);
45 mgx_EXPORT
long double ran(
long double M);
49 mgx_EXPORT
float ran(
float M);
54 template <
typename T>
double ran(T M) {
55 return ran(
double(M));
61 template <
size_t dim,
typename T> Vector<dim, T> ran(
const Vector<dim, T>& V)
63 Vector<dim, T> result;
64 for(
size_t i = 0; i < dim; ++i)
65 result[i] = ran(V[i]);
75 mgx_EXPORT
double gaussRan(
double mean,
double sigma);
85 template <
size_t dim> Vector<dim, double> gaussRan(
const Vector<dim, double>& mean,
const Vector<dim, double>& sigma)
87 Vector<dim, double> result;
88 for(
size_t i = 0; i < dim; ++i)
89 result[i] = gaussRan(mean[i], sigma[i]);
96 mgx_EXPORT
long int ranInt();
101 template <
typename T> T ranInt()
103 long int i = ranInt();
110 template <
size_t dim,
typename T> Vector<dim, T> ranInt()
112 Vector<dim, long int> result;
113 for(
size_t i = 0; i < dim; ++i)
114 result[i] = ranInt<T>();
121 template <
size_t dim> Vector<dim, long int> ranInt() {
122 return ranInt<dim, long int>();
128 mgx_EXPORT
long int ranInt(
long int n);
134 template <
size_t dim,
typename T> Vector<dim, T> ranInt(
const Vector<dim, T>& n)
136 Vector<dim, T> result;
137 for(
size_t i = 0; i < dim; ++i)
138 result[i] = ranInt<T>(n[i]);
Defines the Vector class template This file is shared by cuda, do not include headers that nvcc can't...