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

Detailed Description

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
struct stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >

Definition at line 221 of file matrix_arithmetic.h.

Public Types

typedef
swappable_block_matrix_type::block_scheduler_type 
block_scheduler_type
 
typedef
block_scheduler_type::internal_block_type 
internal_block_type
 
typedef
swappable_block_matrix_type::size_type 
size_type
 
typedef
feedable_strassen_winograd
< ValueType, BlockSideLength,
Level-1, AExists, false > 
smaller_feedable_strassen_winograd_a
 
typedef
feedable_strassen_winograd
< ValueType, BlockSideLength,
Level-1, AExists, BExists > 
smaller_feedable_strassen_winograd_ab
 
typedef
feedable_strassen_winograd
< ValueType, BlockSideLength,
Level-1, false, BExists > 
smaller_feedable_strassen_winograd_b
 
typedef
feedable_strassen_winograd
< ValueType, BlockSideLength,
Level-1, false, false > 
smaller_feedable_strassen_winograd_n
 
typedef swappable_block_matrix
< ValueType, BlockSideLength > 
swappable_block_matrix_type
 
typedef static_quadtree
< ValueType, Level > 
vt
 
typedef static_quadtree< bool,
Level > 
zbt
 

Public Member Functions

 feedable_strassen_winograd (const swappable_block_matrix_type &existing_a, const size_type a_from_row, const size_type a_from_col, block_scheduler_type &bs_c, const size_type n, const size_type m, const size_type l, const swappable_block_matrix_type &existing_b, const size_type b_from_row, const size_type b_from_col)
 
 feedable_strassen_winograd (const swappable_block_matrix_type &existing_a, const size_type a_from_row, const size_type a_from_col, block_scheduler_type &bs_c, const size_type n, const size_type m, const size_type l)
 
 feedable_strassen_winograd (block_scheduler_type &bs_c, const size_type n, const size_type m, const size_type l, const swappable_block_matrix_type &existing_b, const size_type b_from_row, const size_type b_from_col)
 
 feedable_strassen_winograd (block_scheduler_type &bs_c, const size_type n, const size_type m, const size_type l)
 
void begin_feeding_a_block (const size_type &block_row, const size_type &block_col, const zbt zb)
 
void begin_feeding_b_block (const size_type &block_row, const size_type &block_col, const zbt zb)
 
zbt begin_reading_block (const size_type &block_row, const size_type &block_col)
 
void end_feeding_a_block (const size_type &block_row, const size_type &block_col, const zbt zb)
 
void end_feeding_b_block (const size_type &block_row, const size_type &block_col, const zbt zb)
 
zbt end_reading_block (const size_type &block_row, const size_type &block_col)
 
void feed_a_element (const int_type element_num, const vt v)
 
void feed_b_element (const int_type element_num, const vt v)
 
void multiply ()
 
vt read_element (int_type element_num)
 

Public Attributes

const size_type l
 
const size_type m
 
const size_type n
 
smaller_feedable_strassen_winograd_ab p1
 
smaller_feedable_strassen_winograd_ab p2
 
smaller_feedable_strassen_winograd_n p3
 
smaller_feedable_strassen_winograd_n p4
 
smaller_feedable_strassen_winograd_n p5
 
smaller_feedable_strassen_winograd_b p6
 
smaller_feedable_strassen_winograd_a p7
 

Member Typedef Documentation

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef swappable_block_matrix_type::block_scheduler_type stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::block_scheduler_type

Definition at line 232 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef block_scheduler_type::internal_block_type stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::internal_block_type

Definition at line 233 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef swappable_block_matrix_type::size_type stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::size_type

Definition at line 234 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef feedable_strassen_winograd<ValueType, BlockSideLength, Level - 1, AExists, false> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_a

Definition at line 227 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef feedable_strassen_winograd<ValueType, BlockSideLength, Level - 1, AExists, BExists> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_ab

Definition at line 226 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef feedable_strassen_winograd<ValueType, BlockSideLength, Level - 1, false, BExists> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_b

Definition at line 228 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef feedable_strassen_winograd<ValueType, BlockSideLength, Level - 1, false, false> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_n

Definition at line 229 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef swappable_block_matrix<ValueType, BlockSideLength> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::swappable_block_matrix_type

Definition at line 231 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef static_quadtree<ValueType, Level> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::vt

Definition at line 224 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef static_quadtree<bool, Level> stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::zbt

Definition at line 223 of file matrix_arithmetic.h.

Constructor & Destructor Documentation

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feedable_strassen_winograd ( const swappable_block_matrix_type existing_a,
const size_type  a_from_row,
const size_type  a_from_col,
block_scheduler_type bs_c,
const size_type  n,
const size_type  m,
const size_type  l,
const swappable_block_matrix_type existing_b,
const size_type  b_from_row,
const size_type  b_from_col 
)
inline

Definition at line 242 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feedable_strassen_winograd ( const swappable_block_matrix_type existing_a,
const size_type  a_from_row,
const size_type  a_from_col,
block_scheduler_type bs_c,
const size_type  n,
const size_type  m,
const size_type  l 
)
inline

Definition at line 255 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feedable_strassen_winograd ( block_scheduler_type bs_c,
const size_type  n,
const size_type  m,
const size_type  l,
const swappable_block_matrix_type existing_b,
const size_type  b_from_row,
const size_type  b_from_col 
)
inline

Definition at line 267 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feedable_strassen_winograd ( block_scheduler_type bs_c,
const size_type  n,
const size_type  m,
const size_type  l 
)
inline

Definition at line 279 of file matrix_arithmetic.h.

Member Function Documentation

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_a_block ( const size_type block_row,
const size_type block_col,
const zbt  zb 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_feeding_b_block ( const size_type block_row,
const size_type block_col,
const zbt  zb 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
zbt stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::begin_reading_block ( const size_type block_row,
const size_type block_col 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_a_block ( const size_type block_row,
const size_type block_col,
const zbt  zb 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_feeding_b_block ( const size_type block_row,
const size_type block_col,
const zbt  zb 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
zbt stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::end_reading_block ( const size_type block_row,
const size_type block_col 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_a_element ( const int_type  element_num,
const vt  v 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::feed_b_element ( const int_type  element_num,
const vt  v 
)
inline
template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::multiply ( )
inline

Definition at line 386 of file matrix_arithmetic.h.

Member Data Documentation

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
const size_type stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::l

Definition at line 236 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
const size_type stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::m

Definition at line 236 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
const size_type stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::n

Definition at line 236 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_ab stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p1

Definition at line 237 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_ab stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p2

Definition at line 237 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_n stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p3

Definition at line 238 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_n stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p4

Definition at line 238 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_n stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p5

Definition at line 238 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_b stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p6

Definition at line 239 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
smaller_feedable_strassen_winograd_a stxxl::matrix_local::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::p7

Definition at line 240 of file matrix_arithmetic.h.


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