Changeset 26586
- Timestamp:
- 11/10/21 09:24:10 (3 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/shared/Random/randomgenerator.h ¶
r26583 r26586 9 9 #define M_PI 3.141592653589793238462643 10 10 11 class uniform_distribution_rnd11 class rnd_uniform_distribution 12 12 { 13 13 … … 23 23 24 24 public: 25 uniform_distribution_rnd() : _seed( 0 ), a( 1103515245 ), c( 12345 ), m( 2147483648 ), a1(0.0), a2(1.0) {}26 uniform_distribution_rnd(double a_1,double a_2) : _seed( 0 ), a( 1103515245 ), c( 12345 ), m( 2147483648 ), a1(a_1), a2(a_2) {}25 rnd_uniform_distribution() : _seed( 0 ), a( 1103515245 ), c( 12345 ), m( 2147483648 ), a1(0.0), a2(1.0) {} 26 rnd_uniform_distribution(double a_1,double a_2) : _seed( 0 ), a( 1103515245 ), c( 12345 ), m( 2147483648 ), a1(a_1), a2(a_2) {} 27 27 void seed( unsigned int s ) { _seed = s; } 28 28 unsigned int get_seed() { return _seed; } 29 double rnd() { return (a2-a1)*(double) drnd()/ m + a1; }29 double generator() { return (a2-a1)*(double) drnd()/ m + a1; } 30 30 31 31 }; 32 32 33 class normal_distribution_rnd33 class rnd_normal_distribution 34 34 { 35 35 … … 40 40 41 41 public: 42 normal_distribution_rnd() : _seed( 0 ), mean( 0), sdev(1.0) {}43 normal_distribution_rnd(double m,double s) : _seed( 0 ), mean( m ), sdev(s) {}42 rnd_normal_distribution() : _seed( 0 ), mean( 0), sdev(1.0) {} 43 rnd_normal_distribution(double m,double s) : _seed( 0 ), mean( m ), sdev(s) {} 44 44 void seed( unsigned int s ) { _seed = s; } 45 double rnd()45 double generator() 46 46 { 47 uniform_distribution_rndunifdistri;47 rnd_uniform_distribution unifdistri; 48 48 unifdistri.seed(_seed); 49 49 50 double u1 = unifdistri. rnd();51 double u2 = unifdistri. rnd();50 double u1 = unifdistri.generator(); 51 double u2 = unifdistri.generator(); 52 52 53 53 double R = sqrt(-2*log(u1)); -
TabularUnified issm/trunk-jpl/src/c/solutionsequences/solutionsequence_sampling.cpp ¶
r26583 r26586 18 18 19 19 /*Define seed*/ 20 normal_distribution_rnddistribution;20 rnd_normal_distribution distribution; 21 21 if(seed<0){ 22 22 std::random_device rd; … … 38 38 ppf->GetLocalSize(&M); 39 39 for(int i=0;i<M;i++){ 40 rdnumber = distribution. rnd();40 rdnumber = distribution.generator(); 41 41 ppf->SetValue(local_indices[i],rdnumber,INS_VAL); 42 42 }
Note:
See TracChangeset
for help on using the changeset viewer.