binomials< C > Struct Template Reference

#include <binomials.hpp>

List of all members.

Public Member Functions

Public Attributes

Static Public Attributes


Detailed Description

template<typename C>
struct mmx::binomials< C >

Definition at line 68 of file binomials.hpp.


Constructor & Destructor Documentation

binomials ( const binomials< C > &  b  )  [inline]

Definition at line 72 of file binomials.hpp.

00072 :offs(b.offs),data(b.data) {}

binomials (  )  [inline]

Definition at line 82 of file binomials.hpp.

References binomials< C >::data, and binomials< C >::offs.

00082                         : offs(2), data(3) 
00083 {
00084   offs[0] = 0;       data[0] = 1;
00085   offs[1] = 1; data[offs[1]] = 1; data[offs[1]+1] = 1;
00086 };


Member Function Documentation

const C& operator() ( int  i,
int  j 
) [inline]

Definition at line 76 of file binomials.hpp.

References C.

00076 { return (*this)[i][j]; };

const C * operator[] ( int  d  )  [inline]

Definition at line 91 of file binomials.hpp.

References C, binomials< C >::data, and binomials< C >::offs.

00092 {
00093   int s,j,x;
00094   if ( (s=offs.size()) > d ) return &*(data.begin())+offs[d];
00095   for ( x = 0, j = s; j <= d; x += j+1, j ++ ) {}
00096   offs.resize(d+1);
00097   data.resize(data.size()+x);
00098   for ( j = s; j <= d; j ++ )
00099     {
00100       offs[j] = offs[j-1] + j;
00101       for ( int i = 0; i < j-1; i ++ )
00102         data[offs[j]+i+1] = data[offs[j-1]+i] + data[offs[j-1]+i+1];
00103       data[offs[j]] = data[offs[j]+j] = 1;
00104     };
00105   return &*(data.begin())+offs[d];
00106 };


Member Data Documentation

std::vector<C> data

Definition at line 71 of file binomials.hpp.

Referenced by binomials< C >::binomials(), and binomials< C >::operator[]().

binomials< C > default_ [inline, static]

Definition at line 69 of file binomials.hpp.

std::vector<int> offs

Definition at line 70 of file binomials.hpp.

Referenced by binomials< C >::binomials(), and binomials< C >::operator[]().


The documentation for this struct was generated from the following file:

Generated on 6 Dec 2012 for realroot by  doxygen 1.6.1