// Copyright (C) 2015 Davis E. King ([email protected]) | |
// License: Boost Software License See LICENSE.txt for the full license. | |
namespace dlib | |
{ | |
namespace cuda | |
{ | |
// ----------------------------------------------------------------------------------- | |
class curand_generator | |
{ | |
public: | |
// not copyable | |
curand_generator(const curand_generator&) = delete; | |
curand_generator& operator=(const curand_generator&) = delete; | |
curand_generator() : curand_generator(0) {} | |
curand_generator(unsigned long long seed); | |
~curand_generator(); | |
void fill ( | |
cuda_data_ptr<unsigned int>& data | |
); | |
/*! | |
ensures | |
- Fills data with random 32-bit unsigned integers. | |
!*/ | |
void fill_gaussian ( | |
tensor& data, | |
float mean = 0, | |
float stddev = 1 | |
); | |
/*! | |
requires | |
- data.size()%2 == 0 | |
- stddev >= 0 | |
ensures | |
- Fills data with random numbers drawn from a Gaussian distribution | |
with the given mean and standard deviation. | |
!*/ | |
void fill_uniform ( | |
tensor& data | |
); | |
/*! | |
ensures | |
- Fills data with uniform random numbers in the range (0.0, 1.0]. | |
!*/ | |
private: | |
void* handle; | |
}; | |
// ----------------------------------------------------------------------------------- | |
} | |
} | |