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

ProbaHolder Struct Reference

#include <ProbaHolder.h>

Collaboration diagram for ProbaHolder:

Collaboration graph
[legend]

Public Member Functions

 ProbaHolder (Random *aGen)
 ProbaHolder (const int aNr, Random &aGen, const double aCount)
const double Next (const int i)
const int operator[] (const int i)
 ~ProbaHolder (void)

Data Fields

Randomgen
Reala
const int n
Real maxn
Real minn
Real count
Real mean
Real sd
int atN

Constructor & Destructor Documentation

ProbaHolder::ProbaHolder Random aGen  )  [inline]
 

Definition at line 28 of file ProbaHolder.h.

References a, atN, count, gen, maxn, mean, minn, n, and sd.

00029         : n( -1 ) , atN( 0 ) , count( 0 ) , mean( 0 ) , sd( 0 ) , a( 0 ) , maxn( 0 ) , minn( 1.0 ) , gen( aGen )
00030         {}

ProbaHolder::ProbaHolder const int  aNr,
Random aGen,
const double  aCount
[inline]
 

Definition at line 32 of file ProbaHolder.h.

References a, atN, count, gen, maxn, mean, minn, n, Random::Next(), Real, and sd.

00033         : n( aNr ) , count( aCount - 0.001 ) , mean( 0 ) , sd( 0 ) , gen( 0 ) , atN( 0 )
00034         {
00035                 a = new Real[ aNr ];
00036                 maxn = minn = a[0] = aGen.Next();
00037                 for( int i = 1 ; i < n ; i++ )
00038                 {
00039                         a[i] = aGen.Next();
00040                         minn = min( minn , a[i] );
00041                         maxn = max( maxn , a[i] );
00042               mean += a[i];
00043                 }
00044            mean /= n;
00045         }

ProbaHolder::~ProbaHolder void   )  [inline]
 

Definition at line 86 of file ProbaHolder.h.

References a, gen, and tron.

00087         {
00088    #ifdef MONITOR
00089       tron << "destructing ProbaHolder\n";
00090    #endif
00091                 if( a )
00092                         delete[] a;
00093                 a = 0;
00094                 if( gen )
00095                         delete gen; 
00096                 gen = 0;
00097         }


Member Function Documentation

const double ProbaHolder::Next const int  i  )  [inline]
 

Definition at line 47 of file ProbaHolder.h.

References a, atN, gen, maxn, mean, minn, n, Random::Next(), and Real.

Referenced by Parameters::CreateGalaxy(), PlanetInfo::GetValueOf(), and Planet::Setup().

00048         {
00049                 Real rat = 0.0;
00050 
00051                 if( a )
00052                 {
00053                         if( atN >= n )
00054                                 atN = 0;
00055                         rat = (maxn != minn) ? (a[atN++] - minn) / (maxn - minn) : 1.0;
00056                 }
00057                 else if( gen )
00058                 {
00059                         Real v = gen->Next();
00060                         minn = min( minn , v );
00061                         maxn = max( maxn , v );
00062                         rat = (maxn != minn) ? (v - minn) / (maxn - minn) : 1.0;
00063                         mean = (mean + v) / 2;
00064                 }
00065                 return (double(i - 0.001) * rat);
00066         }

const int ProbaHolder::operator[] const int  i  )  [inline]
 

Definition at line 68 of file ProbaHolder.h.

References a, count, gen, maxn, mean, minn, Random::Next(), and Real.

00069         {
00070                 Real rat = 0.0;
00071 
00072                 if( a )
00073                         rat = (maxn != minn) ? (a[i] - minn) / (maxn - minn) : 1.0;
00074                 else if( gen )
00075                 {
00076                         Real v = gen->Next();
00077                         minn = min( minn , v );
00078                         maxn = max( maxn , v );
00079                         rat = (maxn != minn) ? (v - minn) / (maxn - minn) : 1.0;
00080                         mean = (mean + v) / 2;
00081                         count = (i - 0.001);
00082                 }
00083                 return (int)(count * rat);
00084         }


Field Documentation

Real* ProbaHolder::a
 

Definition at line 21 of file ProbaHolder.h.

Referenced by Next(), operator[](), ProbaHolder(), and ~ProbaHolder().

int ProbaHolder::atN
 

Definition at line 46 of file ProbaHolder.h.

Referenced by Next(), and ProbaHolder().

Real ProbaHolder::count
 

Definition at line 24 of file ProbaHolder.h.

Referenced by operator[](), and ProbaHolder().

Random* ProbaHolder::gen
 

Definition at line 20 of file ProbaHolder.h.

Referenced by Next(), operator[](), ProbaHolder(), and ~ProbaHolder().

Real ProbaHolder::maxn
 

Definition at line 23 of file ProbaHolder.h.

Referenced by Next(), operator[](), and ProbaHolder().

Real ProbaHolder::mean
 

Definition at line 26 of file ProbaHolder.h.

Referenced by Next(), operator[](), and ProbaHolder().

Real ProbaHolder::minn
 

Definition at line 23 of file ProbaHolder.h.

Referenced by Next(), operator[](), and ProbaHolder().

const int ProbaHolder::n
 

Definition at line 22 of file ProbaHolder.h.

Referenced by Parameters::CreateGalaxy(), Next(), and ProbaHolder().

Real ProbaHolder::sd
 

Definition at line 26 of file ProbaHolder.h.

Referenced by ProbaHolder().


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