Stxxl  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
stxxl::feedable_strassen_winograd_block_grained< 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_block_grained
< ValueType, BlockSideLength,
Level-1, AExists, BExists > 
smaller_feedable_strassen_winograd_ab
typedef
feedable_strassen_winograd_block_grained
< ValueType, BlockSideLength,
Level-1, AExists, false > 
smaller_feedable_strassen_winograd_a
typedef
feedable_strassen_winograd_block_grained
< ValueType, BlockSideLength,
Level-1, false, BExists > 
smaller_feedable_strassen_winograd_b
typedef
feedable_strassen_winograd_block_grained
< 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
typedef matrix_operations
< ValueType, BlockSideLength > 
Ops

Public Member Functions

 feedable_strassen_winograd_block_grained (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_block_grained (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_grained (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_grained (block_scheduler_type &bs_c, const size_type n, const size_type m, const size_type l)
void feed_a (const size_type &row, const size_type &col, const swappable_block_matrix_type &bl)
void feed_b (const size_type &row, const size_type &col, const swappable_block_matrix_type &bl)
void multiply ()
void read_and_add (const size_type &row, const size_type &col, const swappable_block_matrix_type &bl)

Static Public Member Functions

static unsigned_type get_num_temp_grains ()

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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >

Definition at line 702 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::block_scheduler_type

Definition at line 713 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::internal_block_type

Definition at line 714 of file matrix_arithmetic.h.

template<typename ValueType , unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
typedef matrix_operations<ValueType, BlockSideLength> stxxl::feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::Ops

Definition at line 716 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::size_type

Definition at line 715 of file matrix_arithmetic.h.

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

Definition at line 708 of file matrix_arithmetic.h.

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

Definition at line 707 of file matrix_arithmetic.h.

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

Definition at line 709 of file matrix_arithmetic.h.

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

Definition at line 710 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::swappable_block_matrix_type

Definition at line 712 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::vt

Definition at line 705 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::zbt

Definition at line 704 of file matrix_arithmetic.h.


Constructor & Destructor Documentation

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

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

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

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

Definition at line 761 of file matrix_arithmetic.h.


Member Function Documentation

template<typename ValueType , unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::feed_a ( const size_type row,
const size_type col,
const swappable_block_matrix_type bl 
) [inline]
template<typename ValueType , unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::feed_b ( const size_type row,
const size_type col,
const swappable_block_matrix_type bl 
) [inline]
template<typename ValueType , unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
static unsigned_type stxxl::feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::get_num_temp_grains ( ) [inline, static]

Definition at line 843 of file matrix_arithmetic.h.

template<typename ValueType , unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::multiply ( ) [inline]

Definition at line 812 of file matrix_arithmetic.h.

template<typename ValueType , unsigned BlockSideLength, unsigned Level, bool AExists, bool BExists>
void stxxl::feedable_strassen_winograd_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::read_and_add ( const size_type row,
const size_type col,
const swappable_block_matrix_type bl 
) [inline]

Member Data Documentation

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

Definition at line 718 of file matrix_arithmetic.h.

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

Definition at line 718 of file matrix_arithmetic.h.

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

Definition at line 718 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p1

Definition at line 719 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p2

Definition at line 719 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p3

Definition at line 720 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p4

Definition at line 720 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p5

Definition at line 720 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p6

Definition at line 721 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_block_grained< ValueType, BlockSideLength, Level, AExists, BExists >::p7

Definition at line 722 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