STXXL
1.4.1
|
Definition at line 1017 of file matrix_arithmetic.h.
Classes | |
struct | addition |
struct | scalar_multiplication |
struct | subtraction |
struct | swappable_block_matrix_approximative_quarterer |
struct | swappable_block_matrix_padding_quarterer |
struct | swappable_block_matrix_quarterer |
Public Types | |
typedef swappable_block_matrix_type::block_scheduler_type | block_scheduler_type |
typedef column_vector< ValueType > | column_vector_type |
typedef block_scheduler_type::internal_block_type | internal_block_type |
typedef row_vector< ValueType > | row_vector_type |
typedef swappable_block_matrix_type::size_type | size_type |
typedef swappable_block_matrix_type::swappable_block_identifier_type | swappable_block_identifier_type |
typedef swappable_block_matrix < ValueType, BlockSideLength > | swappable_block_matrix_type |
typedef column_vector_type::size_type | vector_size_type |
Public Attributes | |
template<class Op > | |
static swappable_block_matrix_type &return | C |
Static Public Attributes | |
static const int_type | strassen_winograd_base_case_size = 3 |
typedef swappable_block_matrix_type::block_scheduler_type stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::block_scheduler_type |
Definition at line 1024 of file matrix_arithmetic.h.
typedef column_vector<ValueType> stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::column_vector_type |
Definition at line 1028 of file matrix_arithmetic.h.
typedef block_scheduler_type::internal_block_type stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::internal_block_type |
Definition at line 1026 of file matrix_arithmetic.h.
typedef row_vector<ValueType> stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::row_vector_type |
Definition at line 1029 of file matrix_arithmetic.h.
typedef swappable_block_matrix_type::size_type stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::size_type |
Definition at line 1027 of file matrix_arithmetic.h.
typedef swappable_block_matrix_type::swappable_block_identifier_type stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_identifier_type |
Definition at line 1025 of file matrix_arithmetic.h.
typedef swappable_block_matrix<ValueType, BlockSideLength> stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_type |
Definition at line 1023 of file matrix_arithmetic.h.
typedef column_vector_type::size_type stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::vector_size_type |
Definition at line 1030 of file matrix_arithmetic.h.
|
inlinestatic |
Definition at line 1531 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::ilog2_ceil(), and min().
|
inlinestatic |
Definition at line 1070 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed().
|
inlinestatic |
Definition at line 1086 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed().
|
inlinestatic |
Definition at line 1112 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::deinitialize(), stxxl::block_scheduler< SwappableBlockType >::is_initialized(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), and stxxl::block_scheduler< SwappableBlockType >::release().
|
inlinestatic |
Definition at line 1191 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::is_initialized(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), and stxxl::block_scheduler< SwappableBlockType >::release().
|
inlinestatic |
Definition at line 1233 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::is_initialized(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), and stxxl::block_scheduler< SwappableBlockType >::release().
|
inlinestatic |
|
inlinestatic |
Definition at line 1893 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::is_initialized(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), min(), stxxl::block_scheduler< SwappableBlockType >::release(), and stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType >::size().
|
inlinestatic |
Definition at line 2028 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), min(), stxxl::block_scheduler< SwappableBlockType >::release(), and stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType >::size().
|
inlinestatic |
Definition at line 1961 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::is_initialized(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), min(), stxxl::block_scheduler< SwappableBlockType >::release(), and stxxl::vector< ValueType, PageSize, PagerType, BlockSize, AllocStr, SizeType >::size().
|
inlinestatic |
calculates C = A * B + C
Definition at line 1514 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::ilog2_ceil(), min(), and stxxl::round_up_to_power_of_two().
|
inlinestatic |
calculates C = A * B + C
Definition at line 1425 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::ilog2_ceil(), min(), stxxl::round_up_to_power_of_two(), STXXL_MATRIX_MULTI_LEVEL_STRASSEN_WINOGRAD_BASE_CASE, and STXXL_MATRIX_MULTI_LEVEL_STRASSEN_WINOGRAD_MAX_NUM_LEVELS.
|
inlinestatic |
Definition at line 1823 of file matrix_arithmetic.h.
References stxxl::block_scheduler< SwappableBlockType >::acquire(), stxxl::block_scheduler< SwappableBlockType >::is_initialized(), stxxl::block_scheduler< SwappableBlockType >::is_simulating(), and stxxl::block_scheduler< SwappableBlockType >::release().
|
inlinestatic |
Definition at line 1882 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed().
|
inlinestatic |
Definition at line 2019 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed().
|
inlinestatic |
Definition at line 1950 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed().
|
inlinestatic |
calculates C = A * B + C
Definition at line 1807 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed().
|
inlinestatic |
Definition at line 1340 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs.
|
inlinestatic |
Definition at line 1352 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs.
|
inlinestatic |
calculates z = A * x
Definition at line 1858 of file matrix_arithmetic.h.
References stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ur.
|
inlinestatic |
Definition at line 1996 of file matrix_arithmetic.h.
References stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ur.
|
inlinestatic |
calculates z = y * A
Definition at line 1926 of file matrix_arithmetic.h.
References stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ur.
|
inlinestatic |
calculates C = A * B + C
Definition at line 1777 of file matrix_arithmetic.h.
References stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_approximative_quarterer::ur.
|
inlinestatic |
calculates C = A * B
Definition at line 1626 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::set_zero(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::ur.
|
inlinestatic |
calculates C = A * B + C
Definition at line 1726 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::ur.
|
inlinestatic |
calculates C = A * B + C
Definition at line 1675 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::dl, stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::dr, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::is_transposed(), stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::ul, and stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::swappable_block_matrix_padding_quarterer::ur.
|
inlinestatic |
Definition at line 1298 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width().
|
inlinestatic |
Definition at line 1258 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width().
|
inlinestatic |
Definition at line 1278 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), and stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width().
|
inlinestatic |
Definition at line 1559 of file matrix_arithmetic.h.
References 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::swappable_block_matrix< ValueType, BlockSideLength >::bs, 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::matrix_to_quadtree< ValueType, BlockSideLength, Level >::feed_and_add_element(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::matrix_local::matrix_to_quadtree< ValueType, BlockSideLength, Level >::get_height_in_blocks(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), stxxl::matrix_local::matrix_to_quadtree< ValueType, BlockSideLength, Level >::get_width_in_blocks(), 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().
|
inlinestatic |
Definition at line 1475 of file matrix_arithmetic.h.
References stxxl::swappable_block_matrix< ValueType, BlockSideLength >::bs, stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_height(), stxxl::matrix_local::matrix_to_quadtree_block_grained< ValueType, BlockSideLength, Level, Granularity >::get_height(), stxxl::swappable_block_matrix< ValueType, BlockSideLength >::get_width(), and stxxl::matrix_local::matrix_to_quadtree_block_grained< ValueType, BlockSideLength, Level, Granularity >::get_width().
swappable_block_matrix_type& return stxxl::matrix_local::matrix_operations< ValueType, BlockSideLength >::C |
Definition at line 1101 of file matrix_arithmetic.h.
|
static |
Definition at line 1021 of file matrix_arithmetic.h.