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

#include <matrix_arithmetic.h>

List of all members.

Public Types

typedef static_quadtree< bool,
Level > 
zbt
typedef static_quadtree
< ValueType, Level > 
vt
typedef
feedable_strassen_winograd
< ValueType, BlockSideLength,
Level-1, AExists, BExists > 
smaller_feedable_strassen_winograd_ab
typedef
feedable_strassen_winograd
< ValueType, BlockSideLength,
Level-1, AExists, false > 
smaller_feedable_strassen_winograd_a
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
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

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 feed_a_element (const int_type element_num, const vt v)
void end_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)
void feed_b_element (const int_type element_num, const vt v)
void end_feeding_b_block (const size_type &block_row, const size_type &block_col, const zbt zb)
void multiply ()
zbt begin_reading_block (const size_type &block_row, const size_type &block_col)
vt read_element (int_type element_num)
zbt end_reading_block (const size_type &block_row, const size_type &block_col)

Public Attributes

const size_type n
const size_type m
const size_type l
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

Detailed Description

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

Definition at line 210 of file matrix_arithmetic.h.


Member Typedef Documentation

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

Definition at line 221 of file matrix_arithmetic.h.

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

Definition at line 222 of file matrix_arithmetic.h.

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

Definition at line 223 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::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_a

Definition at line 216 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::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_ab

Definition at line 215 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::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_b

Definition at line 217 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::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::smaller_feedable_strassen_winograd_n

Definition at line 218 of file matrix_arithmetic.h.

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

Definition at line 220 of file matrix_arithmetic.h.

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

Definition at line 213 of file matrix_arithmetic.h.

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

Definition at line 212 of file matrix_arithmetic.h.


Constructor & Destructor Documentation

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::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 231 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::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 244 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::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 256 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
stxxl::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 268 of file matrix_arithmetic.h.


Member Function Documentation

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::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::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::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::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::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::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::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::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::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::multiply ( ) [inline]

Definition at line 369 of file matrix_arithmetic.h.

template<typename ValueType, unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
vt stxxl::feedable_strassen_winograd< ValueType, BlockSideLength, Level, AExists, BExists >::read_element ( int_type  element_num) [inline]

Member Data Documentation

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

Definition at line 225 of file matrix_arithmetic.h.

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

Definition at line 225 of file matrix_arithmetic.h.

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

Definition at line 225 of file matrix_arithmetic.h.

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

Definition at line 226 of file matrix_arithmetic.h.

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

Definition at line 226 of file matrix_arithmetic.h.

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

Definition at line 227 of file matrix_arithmetic.h.

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

Definition at line 227 of file matrix_arithmetic.h.

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

Definition at line 227 of file matrix_arithmetic.h.

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

Definition at line 228 of file matrix_arithmetic.h.

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

Definition at line 229 of file matrix_arithmetic.h.


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