MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
MatrixCache_module Module Reference

Matrix cache module. More...

Data Types

type  MatrixArray
type  MatrixCache
 This handles the matrix elements and also expands the vector size if we have reached max capacity. More...

Functions/Subroutines

subroutine check_constructed (this)
integer function get_chunk_idx (this, idx)
subroutine construct (this, expand_size_)
subroutine insert_into_cache (this, i, j, coefficient)
subroutine get_local_mat (this, idx, mat_id, local_index)
subroutine get_from_cache (this, idx, i, j, coeff)
subroutine expand_array (this)
subroutine destroy_matrix_array (this)
subroutine construct_array (this, capacity)
subroutine clear_array (this)
subroutine insert_into_array (this, i, j, coeff)
subroutine get_from_array (this, idx, i, j, coeff)
subroutine expand_capacity (this, capacity)
logical function check_bounds (this, i)
logical function is_empty (this)
subroutine clear (this)
integer function get_size (this)
subroutine shrink_capacity (this)
subroutine clear_and_shrink (this)
subroutine destroy_cache (this)
subroutine print_matelems (this)
subroutine qsort_matelem (this)
recursive subroutine quick_sort_function (this, start_idx, end_idx)
subroutine partition_function (this, marker, start_idx, end_idx)

Detailed Description

Matrix cache module.

Authors
A Al-Refaie
Date
2017
Note
16/01/2019 - Jakub Benda: Unifom coding style and expanded documentation.

Function/Subroutine Documentation

◆ check_bounds()

logical function MatrixCache_module::check_bounds ( class(matrixcache), intent(in) this,
integer, intent(in) i )
private

Definition at line 330 of file MatrixCache_module.f90.

◆ check_constructed()

subroutine MatrixCache_module::check_constructed ( class(matrixcache) this)

Definition at line 95 of file MatrixCache_module.f90.

◆ clear()

subroutine MatrixCache_module::clear ( class(matrixcache) this)
private

Definition at line 354 of file MatrixCache_module.f90.

◆ clear_and_shrink()

subroutine MatrixCache_module::clear_and_shrink ( class(matrixcache) this)
private

Definition at line 407 of file MatrixCache_module.f90.

◆ clear_array()

subroutine MatrixCache_module::clear_array ( class(matrixarray) this)
private

Definition at line 283 of file MatrixCache_module.f90.

◆ construct()

subroutine MatrixCache_module::construct ( class(matrixcache) this,
integer, intent(in), optional expand_size_ )
private

Definition at line 118 of file MatrixCache_module.f90.

◆ construct_array()

subroutine MatrixCache_module::construct_array ( class(matrixarray) this,
integer, intent(in) capacity )
private

Definition at line 268 of file MatrixCache_module.f90.

◆ destroy_cache()

subroutine MatrixCache_module::destroy_cache ( class(matrixcache) this)
private

Definition at line 416 of file MatrixCache_module.f90.

◆ destroy_matrix_array()

subroutine MatrixCache_module::destroy_matrix_array ( class(matrixarray) this)
private

Definition at line 248 of file MatrixCache_module.f90.

◆ expand_array()

subroutine MatrixCache_module::expand_array ( class(matrixcache) this)
private

Definition at line 219 of file MatrixCache_module.f90.

◆ expand_capacity()

subroutine MatrixCache_module::expand_capacity ( class(matrixcache) this,
integer, intent(in) capacity )
private

Definition at line 319 of file MatrixCache_module.f90.

◆ get_chunk_idx()

integer function MatrixCache_module::get_chunk_idx ( class(matrixcache) this,
integer, intent(in) idx )
private

Definition at line 106 of file MatrixCache_module.f90.

◆ get_from_array()

subroutine MatrixCache_module::get_from_array ( class(matrixarray), intent(in) this,
integer, intent(in) idx,
integer, intent(out) i,
integer, intent(out) j,
real(wp), intent(out) coeff )
private

Definition at line 304 of file MatrixCache_module.f90.

◆ get_from_cache()

subroutine MatrixCache_module::get_from_cache ( class(matrixcache) this,
integer, intent(in) idx,
integer, intent(out) i,
integer, intent(out) j,
real(wp), intent(out) coeff )
private

Definition at line 199 of file MatrixCache_module.f90.

◆ get_local_mat()

subroutine MatrixCache_module::get_local_mat ( class(matrixcache) this,
integer, intent(in) idx,
integer, intent(out) mat_id,
integer, intent(out) local_index )
private

Definition at line 181 of file MatrixCache_module.f90.

◆ get_size()

integer function MatrixCache_module::get_size ( class(matrixcache), intent(in) this)
private

Definition at line 364 of file MatrixCache_module.f90.

◆ insert_into_array()

subroutine MatrixCache_module::insert_into_array ( class(matrixarray) this,
integer, intent(in) i,
integer, intent(in) j,
real(wp), intent(in) coeff )
private

Definition at line 291 of file MatrixCache_module.f90.

◆ insert_into_cache()

subroutine MatrixCache_module::insert_into_cache ( class(matrixcache) this,
integer, intent(in) i,
integer, intent(in) j,
real(wp), intent(in) coefficient )
private

Definition at line 156 of file MatrixCache_module.f90.

◆ is_empty()

logical function MatrixCache_module::is_empty ( class(matrixcache), intent(in) this)
private

Definition at line 346 of file MatrixCache_module.f90.

◆ partition_function()

subroutine MatrixCache_module::partition_function ( class(matrixcache) this,
integer, intent(out) marker,
integer, intent(in) start_idx,
integer, intent(in) end_idx )
private

Definition at line 484 of file MatrixCache_module.f90.

◆ print_matelems()

subroutine MatrixCache_module::print_matelems ( class(matrixcache) this)
private

Definition at line 436 of file MatrixCache_module.f90.

◆ qsort_matelem()

subroutine MatrixCache_module::qsort_matelem ( class(matrixcache) this)
private

Definition at line 457 of file MatrixCache_module.f90.

◆ quick_sort_function()

recursive subroutine MatrixCache_module::quick_sort_function ( class(matrixcache) this,
integer, intent(in) start_idx,
integer, intent(in) end_idx )
private

Definition at line 468 of file MatrixCache_module.f90.

◆ shrink_capacity()

subroutine MatrixCache_module::shrink_capacity ( class(matrixcache) this)
private

Definition at line 372 of file MatrixCache_module.f90.