Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals

DiscreteProba Struct Reference

#include <ProbaHolder.h>

Collaboration diagram for DiscreteProba:

Collaboration graph
[legend]

Public Member Functions

 DiscreteProba (void)
 ~DiscreteProba (void)
void Setup (vector< double > &aP, const int an, const int aNr=10000)
const int Next (void)

Data Fields

RealP
int n
int Nr
Randomrand
Normal nn
Reala
Real count
Real maxn
Real minn

Private Member Functions

void Reset (void)

Private Attributes

int at

Constructor & Destructor Documentation

DiscreteProba::DiscreteProba void   )  [inline]
 

Definition at line 109 of file ProbaHolder.h.

References a, at, count, maxn, minn, P, and rand.

00110         : P( 0 ) , rand( 0 ) , count( 0 )
00111         , a( 0 ) , maxn( 0 ) , minn( 1.0 ) , at( 0 )
00112         {}

DiscreteProba::~DiscreteProba void   )  [inline]
 

Definition at line 114 of file ProbaHolder.h.

References Reset(), and tron.

00115         {
00116    #ifdef MONITOR
00117       tron << "destructing DiscreteProba\n";
00118    #endif
00119                 Reset();
00120         }


Member Function Documentation

const int DiscreteProba::Next void   )  [inline]
 

Definition at line 145 of file ProbaHolder.h.

References a, at, Nr, P, and Real.

00146         {
00147                 if( a )
00148                         while( 1 )
00149                         {
00150                                 Real rat = a[at++];
00151                                 if( at >= Nr )
00152                                         at = 0;
00153                                 if( P[(int)rat] != 0 )
00154                                         return (int)(rat);
00155                                 else
00156                                         at = 0;
00157                         }
00158                 return -1;
00159         }

void DiscreteProba::Reset void   )  [inline, private]
 

Definition at line 164 of file ProbaHolder.h.

References a, at, P, and rand.

Referenced by Setup(), and ~DiscreteProba().

00165         {
00166                 at = 0;
00167 
00168                 if( rand )
00169                         delete rand;
00170                 rand = 0;
00171                 if( P )
00172                         delete [] P;
00173                 P = 0;
00174                 if( a )
00175                         delete[] a;
00176                 a = 0;
00177         }

void DiscreteProba::Setup vector< double > &  aP,
const int  an,
const int  aNr = 10000
[inline]
 

Generates a discrete sample according to the P of occurence determined by aP and for the upper boundary an. The sample will generates aNr numbers that will be converted to discrete Probability

Definition at line 125 of file ProbaHolder.h.

References a, count, maxn, minn, n, Random::Next(), Nr, P, rand, Real, and Reset().

Referenced by PDiscrete::Setup().

00126         {
00127                 Nr = aNr;
00128                 Reset();
00129                 count = an - 0.001;
00130                 P = new Real[ an ];
00131                 for( int j = 0 ; j < an ; j++ )
00132                         P[j] = aP[j];
00133                 n = an;
00134                 
00135                 a = new Real[ aNr ];
00136                 rand = new DiscreteGen( n , P );
00137                 maxn = minn = a[0] = rand->Next();
00138                 for( int i = 1 ; i < aNr ; i++ )
00139                 {
00140                         a[i] = rand->Next();
00141                         minn = min( minn , a[i] );
00142                         maxn = max( maxn , a[i] );
00143                 }
00144         }


Field Documentation

Real* DiscreteProba::a
 

Definition at line 106 of file ProbaHolder.h.

Referenced by DiscreteProba(), Next(), Reset(), and Setup().

int DiscreteProba::at [private]
 

Definition at line 163 of file ProbaHolder.h.

Referenced by DiscreteProba(), Next(), and Reset().

Real DiscreteProba::count
 

Definition at line 106 of file ProbaHolder.h.

Referenced by DiscreteProba(), and Setup().

Real DiscreteProba::maxn
 

Definition at line 107 of file ProbaHolder.h.

Referenced by DiscreteProba(), and Setup().

Real DiscreteProba::minn
 

Definition at line 107 of file ProbaHolder.h.

Referenced by DiscreteProba(), and Setup().

int DiscreteProba::n
 

Definition at line 102 of file ProbaHolder.h.

Referenced by Setup().

Normal DiscreteProba::nn
 

Definition at line 104 of file ProbaHolder.h.

int DiscreteProba::Nr
 

Definition at line 102 of file ProbaHolder.h.

Referenced by Next(), and Setup().

Real* DiscreteProba::P
 

Definition at line 101 of file ProbaHolder.h.

Referenced by DiscreteProba(), Next(), Reset(), and Setup().

Random* DiscreteProba::rand
 

Definition at line 103 of file ProbaHolder.h.

Referenced by DiscreteProba(), Reset(), and Setup().


The documentation for this struct was generated from the following file:
Generated on Fri Dec 5 04:06:19 2003 for Borqueror by doxygen 1.3.3