realroot_doc 0.1.1
binomials< T > Struct Template Reference

#include <bernstein_binomials.hpp>

List of all members.

Public Member Functions

Static Public Member Functions

Public Attributes

Static Public Attributes


Detailed Description

template<typename T>
struct mmx::bernstein::binomials< T >

Definition at line 17 of file bernstein_binomials.hpp.


Constructor & Destructor Documentation

binomials ( const binomials< T > &  )
binomials ( int  dmax = 100) [inline]

Definition at line 23 of file bernstein_binomials.hpp.

    {
      m_data.push_back( new T[1] );
      m_data[0][0] = 1;
    };
~binomials ( ) [inline]

Definition at line 28 of file bernstein_binomials.hpp.

                 { 
      for ( unsigned i = 0; i < m_data.size(); i ++ ) 
        delete[] m_data[i]; 

    };

Member Function Documentation

const T& binomial ( unsigned  n,
unsigned  i 
) [inline]

Definition at line 45 of file bernstein_binomials.hpp.

Referenced by bzenv< X >::binomial(), and mmx::bernstein::binomial().

    { return get(n)[i]; };
T* get ( unsigned  i) [inline]

Definition at line 33 of file bernstein_binomials.hpp.

Referenced by bzenv< X >::fromMonomsToScaled(), bzenv< X >::get(), bzenv< X >::scale(), bzenv< X >::scaled_elevate(), and bzenv< X >::uscale().

    {
      if ( m_data.size() > i ) return m_data[i];
      for ( unsigned j = m_data.size(); j <= i; j ++ )
        {
          m_data.push_back( new T[j+1] );
          pwsum(m_data[j]+1,m_data[j-1],j);
          m_data[j][0] = 1;
          m_data[j][j] = 1;
        };
      return m_data[i];
    };
static void pwsum ( T *  dst,
T *  src,
int  sz 
) [inline, static]

Definition at line 22 of file bernstein_binomials.hpp.

Referenced by binomials< X >::get().

{ for(int i=0;i<sz-1;dst[i]=src[i]+src[i+1],i++) ; };

Member Data Documentation

binomials< T > _default_ [static]

Definition at line 19 of file bernstein_binomials.hpp.

std::vector< T * > m_data

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