random.h

Go to the documentation of this file.
00001 #ifndef VVELIB_UTIL_RANDOM_H
00002 #define VVELIB_UTIL_RANDOM_H
00003 
00009 #include <config.h>
00010 #include <util/vector.h>
00011 
00012 namespace util
00013 {
00020   unsigned int sran_time();
00021 
00025   void sran(unsigned int seed);
00026 
00030   double ran(double M);
00031 
00035   template <size_t dim>
00036   Vector<dim,double> ran(const Vector<dim,double>& V)
00037   {
00038     Vector<dim,double> result;
00039     for(size_t i = 0 ; i < dim ; ++i)
00040       result[i] = ran(V[i]);
00041     return result;
00042   }
00043 
00050   double gaussRan(double mean, double sigma);
00051 
00060   template <size_t dim>
00061   Vector<dim,double> gaussRan(const Vector<dim,double>& mean, const Vector<dim,double>& sigma)
00062   {
00063     Vector<dim,double> result;
00064     for(size_t i = 0 ; i < dim ; ++i)
00065       result[i] = gaussRan(mean[i], sigma[i]);
00066     return result;
00067   }
00068 
00072   long int random();
00073 
00077   template <size_t dim>
00078   Vector<dim,long int> random()
00079   {
00080     Vector<dim,double> result;
00081     for(size_t i = 0 ; i < dim ; ++i)
00082       result[i] = random();
00083     return result;
00084   }
00085 
00089   long int random(long int n);
00090 
00095   template <size_t dim>
00096   Vector<dim,long int> random(const Vector<dim,long int>& n)
00097   {
00098     Vector<dim,double> result;
00099     for(size_t i = 0 ; i < dim ; ++i)
00100       result[i] = random(n[i]);
00101     return result;
00102   }
00103 };
00104 
00105 
00106 #endif // VVELIB_UTIL_RANDOM_H
00107 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Fri May 31 15:37:53 2013 for VVE by  doxygen 1.6.3