realroot_doc 0.1.1
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.

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

Definition at line 82 of file binomials.hpp.

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

                        : offs(2), data(3) 
{
  offs[0] = 0;       data[0] = 1;
  offs[1] = 1; data[offs[1]] = 1; data[offs[1]+1] = 1;
};

Member Function Documentation

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

Definition at line 76 of file binomials.hpp.

{ return (*this)[i][j]; };
const C * operator[] ( int  d)

Definition at line 91 of file binomials.hpp.

{
  int s,j,x;
  if ( (s=offs.size()) > d ) return &*(data.begin())+offs[d];
  for ( x = 0, j = s; j <= d; x += j+1, j ++ ) {}
  offs.resize(d+1);
  data.resize(data.size()+x);
  for ( j = s; j <= d; j ++ )
    {
      offs[j] = offs[j-1] + j;
      for ( int i = 0; i < j-1; i ++ )
        data[offs[j]+i+1] = data[offs[j-1]+i] + data[offs[j-1]+i+1];
      data[offs[j]] = data[offs[j]+j] = 1;
    };
  return &*(data.begin())+offs[d];
};

Member Data Documentation

std::vector<C> data

Definition at line 71 of file binomials.hpp.

Referenced by binomials< C >::binomials().

binomials< C > default_ [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().


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