MTK++ Latest version: 0.2.0

randomNumbers.h
Go to the documentation of this file.
00001 
00035 #ifndef RANDOMNUMBER_H
00036 #define RANDOMNUMBER_H
00037 
00038 #include <stdio.h>
00039 #include <stdlib.h>
00040 #include <time.h>
00041 
00042 namespace MTKpp
00043 {
00044 
00045 // ============================================================
00046 // Function : setRandomNumberSeed()
00047 // ------------------------------------------------------------
00051 // ============================================================
00052 inline void setRandomNumberSeed(int seed)
00053 {
00054     if (seed < 0) {
00055       srand(time(NULL));
00056     }
00057     else {
00058       srand(seed);
00059     }
00060 }
00061 
00062 // ============================================================
00063 // Function : randomDoubleBetweenZeroAndOne()
00064 // ------------------------------------------------------------
00068 // ============================================================
00069 inline double randomDoubleBetweenZeroAndOne()
00070 {
00071     return ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
00072 }
00073 
00074 // ============================================================
00075 // Function : randomDoubleBetweenZeroAndX()
00076 // ------------------------------------------------------------
00080 // ============================================================
00081 inline double randomDoubleBetweenZeroAndX(int X)
00082 {
00083     return randomDoubleBetweenZeroAndOne() * X;
00084 }
00085 
00086 // ============================================================
00087 // Function : ranNumBetweenZeroAndX()
00088 // ------------------------------------------------------------
00092 // ============================================================
00093 inline int randomIntegerBetweenZeroAndX(int X)
00094 {
00095     return int(randomDoubleBetweenZeroAndX(X));
00096 }
00097 
00098 #endif // RANDOMNUMBER_H
00099 
00100 } // MTKpp namespace
00101 

Generated on Fri Dec 23 2011 09:28:51 for MTK++ by Doxygen 1.7.5.1