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.

00024     {
00025       m_data.push_back( new T[1] );
00026       m_data[0][0] = 1;
00027     };

~binomials (  )  [inline]

Definition at line 28 of file bernstein_binomials.hpp.

00028                  { 
00029       for ( unsigned i = 0; i < m_data.size(); i ++ ) 
00030         delete[] m_data[i]; 
00031 
00032     };


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().

00046     { 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().

00034     {
00035       if ( m_data.size() > i ) return m_data[i];
00036       for ( unsigned j = m_data.size(); j <= i; j ++ )
00037         {
00038           m_data.push_back( new T[j+1] );
00039           pwsum(m_data[j]+1,m_data[j-1],j);
00040           m_data[j][0] = 1;
00041           m_data[j][j] = 1;
00042         };
00043       return m_data[i];
00044     };

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().

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


Member Data Documentation

binomials< T > _default_ [inline, 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:

Generated on 6 Dec 2012 for realroot by  doxygen 1.6.1