sparse_dmatrix_csr Derived Type

type, public, extends(sparse_matrix) :: sparse_dmatrix_csr


Inherits

type~~sparse_dmatrix_csr~~InheritsGraph type~sparse_dmatrix_csr sparse_dmatrix_csr type~sparse_drow_csr sparse_drow_csr type~sparse_dmatrix_csr->type~sparse_drow_csr row type~sparse_matrix sparse_matrix type~sparse_dmatrix_csr->type~sparse_matrix type~sparse_row_csr sparse_row_csr type~sparse_drow_csr->type~sparse_row_csr

Components

Type Visibility Attributes Name Initial
integer, public :: Nrow
integer, public :: Ncol
integer, public :: Nelements
logical, public :: status = .false.
type(sparse_drow_csr), public, dimension(:), allocatable :: row

Type-Bound Procedures

procedure, public, pass :: shape => shape_matrix

  • public function shape_matrix(self) result(shape)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_matrix), intent(in) :: self

    Return Value integer, dimension(2)

procedure, public, pass :: init => init_dmatrix_csr

  • private elemental subroutine init_dmatrix_csr(sparse, N, N1)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(inout) :: sparse
    integer, intent(in) :: N
    integer, intent(in), optional :: N1

procedure, public, pass :: free => free_dmatrix_csr

  • private elemental subroutine free_dmatrix_csr(sparse)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(inout) :: sparse

procedure, public, pass :: load => load_dmatrix_csr

  • private subroutine load_dmatrix_csr(sparse, matrix)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(inout) :: sparse
    real(kind=8), intent(in), dimension(:,:) :: matrix

procedure, public, pass :: dump => dump_dmatrix_csr

  • private subroutine dump_dmatrix_csr(sparse, matrix)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(in) :: sparse
    real(kind=8), intent(inout), dimension(:,:) :: matrix

procedure, public, pass :: insert => insert_delement_csr

  • private subroutine insert_delement_csr(sparse, value, i, j)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(inout) :: sparse
    real(kind=8), intent(in) :: value
    integer, intent(in) :: i
    integer, intent(in) :: j

procedure, public, pass :: get => get_delement_csr

  • private function get_delement_csr(sparse, i, j) result(value)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(inout) :: sparse
    integer, intent(in) :: i
    integer, intent(in) :: j

    Return Value real(kind=8)

procedure, public, pass :: as_matrix => as_dmatrix_csr

  • private function as_dmatrix_csr(sparse) result(matrix)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(in) :: sparse

    Return Value real(kind=8), dimension(sparse%Nrow,sparse%Ncol)

procedure, public, pass :: dgr => dgr_dmatrix_csr

procedure, public, pass :: transpose => transpose_dmatrix_csr

  • private function transpose_dmatrix_csr(a) result(c)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_dmatrix_csr), intent(in) :: a

    Return Value type(sparse_dmatrix_csr)

Source Code

  type, extends(sparse_matrix) :: sparse_dmatrix_csr
     type(sparse_drow_csr),dimension(:),allocatable :: row
   contains
     procedure,pass :: init      => init_dmatrix_csr
     procedure,pass :: free      => free_dmatrix_csr
     procedure,pass :: load      => load_dmatrix_csr
     procedure,pass :: dump      => dump_dmatrix_csr
     procedure,pass :: insert    => insert_delement_csr
     procedure,pass :: get       => get_delement_csr
     procedure,pass :: as_matrix => as_dmatrix_csr
     procedure,pass :: dgr       => dgr_dmatrix_csr
     procedure,pass :: transpose => transpose_dmatrix_csr
  end type sparse_dmatrix_csr