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

Binomial2 Class Reference

Inheritance diagram for Binomial2:

Inheritance graph
[legend]
Collaboration diagram for Binomial2:

Collaboration graph
[legend]

Public Member Functions

 Binomial2 (int nx, Real px)
 ~Binomial2 ()
Real Next ()
ExtReal Mean () const
ExtReal Variance () const

Private Attributes

DiscreteGendg

Constructor & Destructor Documentation

Binomial2::Binomial2 int  nx,
Real  px
 

Definition at line 451 of file newran.cpp.

References dg, ErrorNoSpace(), ln_gamma(), and Real.

00452 {
00453    Real qx = 1.0 - px;
00454    Real probs[40];
00455    int k = (int)(nx * px);
00456    probs[k] = exp(ln_gamma(nx+1) - ln_gamma(k+1) - ln_gamma(nx-k+1)
00457       + k * log(px) + (nx-k) * log(qx));
00458    int i;
00459    int m = (nx >= 40) ? 39 : nx;
00460    for (i=k+1; i<=m; i++) probs[i]=probs[i-1] * px * (nx-i+1) / qx / i;
00461    for (i=k-1; i>=0; i--) probs[i]=probs[i+1] * qx * (i+1) / px / (nx-i);
00462    dg = new DiscreteGen(m + 1, probs);
00463    if (!dg) ErrorNoSpace();
00464 }

Binomial2::~Binomial2  ) 
 

Definition at line 466 of file newran.cpp.

References dg.

00466 { delete dg; }


Member Function Documentation

ExtReal Binomial2::Mean  )  const [inline, virtual]
 

Reimplemented from Random.

Definition at line 108 of file newran.cpp.

00108 { return dg->Mean(); }

Real Binomial2::Next  )  [inline, virtual]
 

Reimplemented from Random.

Definition at line 107 of file newran.cpp.

References Real.

00107 { return dg->Next(); }

ExtReal Binomial2::Variance  )  const [inline, virtual]
 

Reimplemented from Random.

Definition at line 109 of file newran.cpp.

00109 { return dg->Variance(); }


Field Documentation

DiscreteGen* Binomial2::dg [private]
 

Definition at line 103 of file newran.cpp.

Referenced by Binomial2(), and ~Binomial2().


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