STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::matrix_local::static_quadtree< ValueType, Level > Struct Template Reference

Detailed Description

template<typename ValueType, unsigned Level>
struct stxxl::matrix_local::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 130 of file matrix_arithmetic.h.

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_quadtree operator& (const static_quadtree &right) const
 
static_quadtreeoperator&= (const static_quadtree &right)
 
static_quadtree operator+ (const static_quadtree &right) const
 
static_quadtreeoperator+= (const static_quadtree &right)
 
static_quadtree operator- (const static_quadtree &right) const
 
static_quadtreeoperator-= (const static_quadtree &right)
 

Public Attributes

smaller_static_quadtree dl
 
smaller_static_quadtree dr
 
smaller_static_quadtree ul
 
smaller_static_quadtree ur
 

Member Typedef Documentation

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

Definition at line 132 of file matrix_arithmetic.h.

Constructor & Destructor Documentation

template<typename ValueType , unsigned Level>
stxxl::matrix_local::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 136 of file matrix_arithmetic.h.

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

Definition at line 140 of file matrix_arithmetic.h.

Member Function Documentation

Member Data Documentation

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

Definition at line 134 of file matrix_arithmetic.h.

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

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

Definition at line 134 of file matrix_arithmetic.h.

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

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

Definition at line 134 of file matrix_arithmetic.h.

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

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

Definition at line 134 of file matrix_arithmetic.h.

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


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