STXXL
1.4-dev
|
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_quadtree & | operator&= (const static_quadtree &right) |
static_quadtree | operator+ (const static_quadtree &right) const |
static_quadtree & | operator+= (const static_quadtree &right) |
static_quadtree | operator- (const static_quadtree &right) const |
static_quadtree & | operator-= (const static_quadtree &right) |
Public Attributes | |
smaller_static_quadtree | dl |
smaller_static_quadtree | dr |
smaller_static_quadtree | ul |
smaller_static_quadtree | ur |
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.
|
inline |
Definition at line 136 of file matrix_arithmetic.h.
|
inline |
Definition at line 140 of file matrix_arithmetic.h.
|
inline |
Definition at line 163 of file matrix_arithmetic.h.
References stxxl::matrix_local::static_quadtree< ValueType, Level >::dl, stxxl::matrix_local::static_quadtree< ValueType, Level >::dr, stxxl::matrix_local::static_quadtree< ValueType, Level >::ul, and stxxl::matrix_local::static_quadtree< ValueType, Level >::ur.
|
inline |
Definition at line 142 of file matrix_arithmetic.h.
References stxxl::matrix_local::static_quadtree< ValueType, Level >::dl, stxxl::matrix_local::static_quadtree< ValueType, Level >::dr, stxxl::matrix_local::static_quadtree< ValueType, Level >::ul, and stxxl::matrix_local::static_quadtree< ValueType, Level >::ur.
|
inline |
Definition at line 166 of file matrix_arithmetic.h.
References stxxl::matrix_local::static_quadtree< ValueType, Level >::dl, stxxl::matrix_local::static_quadtree< ValueType, Level >::dr, stxxl::matrix_local::static_quadtree< ValueType, Level >::ul, and stxxl::matrix_local::static_quadtree< ValueType, Level >::ur.
|
inline |
Definition at line 149 of file matrix_arithmetic.h.
References stxxl::matrix_local::static_quadtree< ValueType, Level >::dl, stxxl::matrix_local::static_quadtree< ValueType, Level >::dr, stxxl::matrix_local::static_quadtree< ValueType, Level >::ul, and stxxl::matrix_local::static_quadtree< ValueType, Level >::ur.
|
inline |
Definition at line 169 of file matrix_arithmetic.h.
References stxxl::matrix_local::static_quadtree< ValueType, Level >::dl, stxxl::matrix_local::static_quadtree< ValueType, Level >::dr, stxxl::matrix_local::static_quadtree< ValueType, Level >::ul, and stxxl::matrix_local::static_quadtree< ValueType, Level >::ur.
|
inline |
Definition at line 156 of file matrix_arithmetic.h.
References stxxl::matrix_local::static_quadtree< ValueType, Level >::dl, stxxl::matrix_local::static_quadtree< ValueType, Level >::dr, stxxl::matrix_local::static_quadtree< ValueType, Level >::ul, and stxxl::matrix_local::static_quadtree< ValueType, Level >::ur.
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().
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().
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().
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().