Changeset 4345a0 in git
- Timestamp:
- Apr 18, 1997, 3:35:59 PM (27 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- 5ec6957bea2ca39b00d7f174d456bba93f41ea83
- Parents:
- 7facdcf4421e259e6dd55850b1c5b97b84abaa90
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/cf_random.cc
r7facdcf r4345a0 1 1 // emacs edit mode for this file is -*- C++ -*- 2 // $Id: cf_random.cc,v 1. 1 1997-04-07 16:10:17schmidt Exp $2 // $Id: cf_random.cc,v 1.2 1997-04-18 13:35:59 schmidt Exp $ 3 3 4 4 /* 5 5 $Log: not supported by cvs2svn $ 6 Revision 1.1 1997/04/07 16:10:17 schmidt 7 #include <config.h> added 8 6 9 Revision 1.0 1996/05/17 10:59:44 stobbe 7 10 Initial revision … … 11 14 #include <config.h> 12 15 13 #include <stdlib.h> 14 #include <math.h> 16 #include <time.h> 15 17 16 18 #include "assert.h" … … 22 24 #include "imm.h" 23 25 26 class RandomGenerator { 27 private: 28 const long int 29 ia = 16807, 30 im = 2147483647, 31 iq = 127773, 32 ir = 2836, 33 deflt = 123459876; 34 35 long s; 36 37 // s must not equal zero! 38 void seedInit( long ss ) { s = ((ss == 0) ? deflt : ss); } 39 public: 40 RandomGenerator() { seedInit( (long)time( 0 ) ); } 41 RandomGenerator( long ss ) { seedInit( ss ); } 42 ~RandomGenerator() {} 43 long generate(); 44 void seed( long ss ) { seedInit( ss ); } 45 }; 46 47 long 48 RandomGenerator::generate() 49 { 50 long k; 51 52 k = s/iq; 53 s = ia*(s-k*iq)-ir*k; 54 if ( s < 0 ) s += im; 55 56 return s; 57 } 58 59 RandomGenerator ranGen; 24 60 25 61 CanonicalForm FFRandom::generate () const … … 135 171 int factoryrandom( int n ) 136 172 { 137 return ran d() % n;173 return ranGen.generate() % n; 138 174 } 139 175 140 176 void factoryseed ( int s ) 141 177 { 142 srand( s );178 ranGen.seed( s ); 143 179 }
Note: See TracChangeset
for help on using the changeset viewer.