Stxxl  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Public Attributes
stxxl::static_quadtree< ValueType, Level > Struct Template Reference

A static_quadtree holds 4^Level elements arranged in a quad tree. More...

#include <matrix_arithmetic.h>

List of all members.

Public Types

typedef static_quadtree
< ValueType, Level-1 > 
smaller_static_quadtree

Public Member Functions

 static_quadtree (smaller_static_quadtree ul, smaller_static_quadtree ur, smaller_static_quadtree dl, smaller_static_quadtree dr)
 static_quadtree ()
static_quadtreeoperator&= (const static_quadtree &right)
static_quadtreeoperator+= (const static_quadtree &right)
static_quadtreeoperator-= (const static_quadtree &right)
static_quadtree operator& (const static_quadtree &right) const
static_quadtree operator+ (const static_quadtree &right) const
static_quadtree operator- (const static_quadtree &right) const

Public Attributes

smaller_static_quadtree ul
smaller_static_quadtree ur
smaller_static_quadtree dl
smaller_static_quadtree dr

Detailed Description

template<typename ValueType, unsigned Level>
struct stxxl::static_quadtree< ValueType, Level >

A static_quadtree holds 4^Level elements arranged in a quad tree.

Static quad trees are useful for recursive algorithms with fixed depth that partition the in- and output and perform pre- and postcalculations on the partitions. The four children of one node are denoted as ul (up left), ur (up right), dl (down left), and dr (down right).

Definition at line 122 of file matrix_arithmetic.h.


Member Typedef Documentation

template<typename ValueType , unsigned Level>
typedef static_quadtree<ValueType, Level - 1> stxxl::static_quadtree< ValueType, Level >::smaller_static_quadtree

Definition at line 124 of file matrix_arithmetic.h.


Constructor & Destructor Documentation

template<typename ValueType , unsigned Level>
stxxl::static_quadtree< ValueType, Level >::static_quadtree ( smaller_static_quadtree< ValueType, Level >  ul,
smaller_static_quadtree< ValueType, Level >  ur,
smaller_static_quadtree< ValueType, Level >  dl,
smaller_static_quadtree< ValueType, Level >  dr 
) [inline]

Definition at line 128 of file matrix_arithmetic.h.

template<typename ValueType , unsigned Level>
stxxl::static_quadtree< ValueType, Level >::static_quadtree ( ) [inline]

Definition at line 132 of file matrix_arithmetic.h.


Member Function Documentation

template<typename ValueType , unsigned Level>
static_quadtree stxxl::static_quadtree< ValueType, Level >::operator& ( const static_quadtree< ValueType, Level > &  right) const [inline]
template<typename ValueType , unsigned Level>
static_quadtree& stxxl::static_quadtree< ValueType, Level >::operator&= ( const static_quadtree< ValueType, Level > &  right) [inline]
template<typename ValueType , unsigned Level>
static_quadtree stxxl::static_quadtree< ValueType, Level >::operator+ ( const static_quadtree< ValueType, Level > &  right) const [inline]
template<typename ValueType , unsigned Level>
static_quadtree& stxxl::static_quadtree< ValueType, Level >::operator+= ( const static_quadtree< ValueType, Level > &  right) [inline]
template<typename ValueType , unsigned Level>
static_quadtree stxxl::static_quadtree< ValueType, Level >::operator- ( const static_quadtree< ValueType, Level > &  right) const [inline]
template<typename ValueType , unsigned Level>
static_quadtree& stxxl::static_quadtree< ValueType, Level >::operator-= ( const static_quadtree< ValueType, Level > &  right) [inline]

Member Data Documentation

template<typename ValueType , unsigned Level>
smaller_static_quadtree stxxl::static_quadtree< ValueType, Level >::dl

Definition at line 126 of file matrix_arithmetic.h.

Referenced by stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_a_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_and_add_element(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_b_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_element(), stxxl::static_quadtree< ValueType, Level >::operator&(), stxxl::static_quadtree< ValueType, Level >::operator&=(), stxxl::static_quadtree< ValueType, Level >::operator+(), stxxl::static_quadtree< ValueType, Level >::operator+=(), stxxl::static_quadtree< ValueType, Level >::operator-(), stxxl::static_quadtree< ValueType, Level >::operator-=(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::read_element(), and stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::read_element().

template<typename ValueType , unsigned Level>
smaller_static_quadtree stxxl::static_quadtree< ValueType, Level >::dr

Definition at line 126 of file matrix_arithmetic.h.

Referenced by stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_a_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_and_add_element(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_b_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_element(), stxxl::static_quadtree< ValueType, Level >::operator&(), stxxl::static_quadtree< ValueType, Level >::operator&=(), stxxl::static_quadtree< ValueType, Level >::operator+(), stxxl::static_quadtree< ValueType, Level >::operator+=(), stxxl::static_quadtree< ValueType, Level >::operator-(), stxxl::static_quadtree< ValueType, Level >::operator-=(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::read_element(), and stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::read_element().

template<typename ValueType , unsigned Level>
smaller_static_quadtree stxxl::static_quadtree< ValueType, Level >::ul

Definition at line 126 of file matrix_arithmetic.h.

Referenced by stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_a_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_and_add_element(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_b_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_element(), stxxl::static_quadtree< ValueType, Level >::operator&(), stxxl::static_quadtree< ValueType, Level >::operator&=(), stxxl::static_quadtree< ValueType, Level >::operator+(), stxxl::static_quadtree< ValueType, Level >::operator+=(), stxxl::static_quadtree< ValueType, Level >::operator-(), stxxl::static_quadtree< ValueType, Level >::operator-=(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::read_element(), and stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::read_element().

template<typename ValueType , unsigned Level>
smaller_static_quadtree stxxl::static_quadtree< ValueType, Level >::ur

Definition at line 126 of file matrix_arithmetic.h.

Referenced by stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::begin_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_a_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_b_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_feeding_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_reading_block(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::end_reading_block(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_a_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_and_add_element(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_b_element(), stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_element(), stxxl::static_quadtree< ValueType, Level >::operator&(), stxxl::static_quadtree< ValueType, Level >::operator&=(), stxxl::static_quadtree< ValueType, Level >::operator+(), stxxl::static_quadtree< ValueType, Level >::operator+=(), stxxl::static_quadtree< ValueType, Level >::operator-(), stxxl::static_quadtree< ValueType, Level >::operator-=(), stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::read_element(), and stxxl::matrix_to_quadtree< ValueType, BlockSideLength, Level >::read_element().


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines