buds
0.1
FORTRAN reference counted types
|
integer(selected_int_kind(18))
data type
Modules | |
module | bud_lsm_csc |
Data Types | |
type | lsm_csc |
Sparse matrix type in the CSR format. More... | |
interface | new |
Create a new sparse matrix. More... | |
interface | new_lsm_csc |
See interface #new More... | |
interface | mat_fold |
Fold a sparse matrix to form a smaller sparse matrix. More... | |
interface | mat_sort |
Sorts rows in the sparse pattern. More... | |
interface | mat_pointerp |
Retrieve a pointer to the column offsets/pointers. More... | |
interface | mat_offsetp |
See interface #mat_pointerp More... | |
interface | mat_rowp |
Retrieve a pointer to the row indices. More... | |
interface | nonzeros |
Return number of non-zero elements stored in the sparse matrix. More... | |
interface | mat_rows |
Number of rows in matrix. More... | |
interface | mat_cols |
Number of columns in matrix. More... | |
interface | attach |
Retrieve access to sparse pattern variables via pointers. More... | |
interface | |
Print, to std-out, some basic information of the data-container. More... | |
interface | assignment(=) |
Assignment of bud to another bud. More... | |
interface | initialize |
Initialization of data container. More... | |
interface | is_initialized |
Query whether bud is associated with any data. More... | |
interface | initialized |
See interface is_initialized More... | |
interface | is_initd |
See interface is_initialized More... | |
interface | is_same |
Check whether two buds point to the same data (function) More... | |
interface | same |
See interface #is_same More... | |
interface | delete |
Deletes the bud by decreasing references to the underlying data. More... | |
interface | nullify |
Nullifies the current bud. More... | |
interface | references |
Query number of references to the bud. More... | |
interface | refs |
See interface #references More... | |
Functions/Subroutines | |
procedure, public | delete => delete_ |
See interface delete More... | |
procedure, public | nullify => nullify_ |
See interface nullify More... | |
procedure, public | initialize => initialize_ |
See interface initialize More... | |
procedure, public | is_initialized => is_initialized_ |
See interface is_initialized More... | |
procedure, public | is_initd => is_initialized_ |
See interface is_initialized More... | |
procedure, public | initialized => is_initialized_ |
See interface is_initialized More... | |
procedure, public | is_same => is_same_ |
See interface is_same More... | |
procedure, public | same => is_same_ |
See interface is_same More... | |
procedure, public | references => references_ |
See interface references More... | |
procedure, public | refs => references_ |
See interface references More... | |
procedure, public | print => print_ |
See interface print More... | |
procedure, private | new_dim_ => new_dim_ |
procedure, private | new_copy_ => new_copy_ |
generic, public | new => new_dim_, new_copy_ |
See interface new More... | |
procedure, public | nonzeros => nonzeros_ |
See interface nonzeros More... | |
procedure, public | rows => mat_rows_ |
See interface mat_rows More... | |
procedure, public | mat_rows => mat_rows_ |
See interface mat_rows More... | |
procedure, public | cols => mat_cols_ |
See interface mat_cols More... | |
procedure, public | mat_cols => mat_cols_ |
See interface mat_cols More... | |
procedure, public | fold => fold_ |
See interface mat_fold More... | |
procedure, public | mat_fold => fold_ |
See interface mat_fold More... | |
procedure, public | sort => sort_ |
See interface mat_sort More... | |
procedure, public | mat_sort => sort_ |
See interface mat_sort More... | |
procedure, public | pointerp => get_col_offsetp_ |
See interface mat_pointerp More... | |
procedure, public | mat_pointerp => get_col_offsetp_ |
See interface mat_pointerp More... | |
procedure, public | offsetp => get_col_offsetp_ |
See interface mat_pointerp More... | |
procedure, public | mat_offsetp => get_col_offsetp_ |
See interface mat_pointerp More... | |
procedure, public | rowp => get_rowp_ |
See interface mat_rowp More... | |
procedure, public | mat_rowp => get_rowp_ |
See interface mat_rowp More... | |
procedure, public | attach => attach_ |
See interface attach More... | |
subroutine | new_dim_ (this, nr, nc, nz) |
subroutine | new_copy_ (this, nr, nc, nz, cptr, row) |
subroutine | new_dim_ (this, nr, nc, nz) |
subroutine | new_copy_ (this, nr, nc, nz, cptr, row) |
subroutine | fold_ (from, nr, nc, to, single) |
subroutine | sort_ (this, err, pvt) |
integer(il_) function, dimension(:), pointer, contiguous | get_col_offsetp_ (this) |
integer(il_) function, dimension(:), pointer, contiguous | get_col_offsetp_ (this) |
integer(il_) function, dimension(:), pointer, contiguous | get_rowp_ (this) |
elemental integer function | nonzeros_ (this) |
elemental integer function | mat_rows_ (this) |
elemental integer function | mat_cols_ (this) |
subroutine | attach_ (this, D, nr, nc, nz, cptr, row ) |
subroutine | print_ (this, info, indent) |
subroutine | assign_ (lhs, rhs) |
subroutine | initialize_ (this) |
pure logical function | is_initialized_ (this) |
pure logical function | is_initialized_ (this) |
pure logical function | is_initialized_ (this) |
elemental logical function | is_same_ (lhs, rhs) |
elemental logical function | is_same_ (lhs, rhs) |
elemental subroutine | delete_ (this) |
elemental subroutine | nullify_ (this) |
elemental integer function | references_ (this) |
elemental integer function | references_ (this) |
subroutine | initialize_ (this) |
pure logical function | is_initialized_ (this) |
elemental logical function | is_same_ (lhs, rhs) |
elemental subroutine | delete_ (this) |
elemental subroutine | nullify_ (this) |
subroutine | assign_ (lhs, rhs) |
elemental integer function | references_ (this) |
elemental integer function | nonzeros_ (this) |
elemental integer function | mat_rows_ (this) |
elemental integer function | mat_cols_ (this) |
subroutine | new_dim_ (this, nr, nc, nz) |
subroutine | new_copy_ (this, nr, nc, nz, cptr, row) |
subroutine | attach_ (this, D, nr, nc, nz, cptr, row ) |
subroutine | fold_ (from, nr, nc, to, single) |
subroutine | fold_col_only (from, nc, to) |
integer(il_) function, dimension(:), pointer, contiguous | get_rowp_ (this) |
subroutine | sort_ (this, err, pvt) |
subroutine | attach_ (this, D, nr, nc, nz, cptr, row , ncol ) |
subroutine | attach_ (this, D, nr, nc, nz, cptr, row , ncol ) |
Variables | |
integer, parameter, private | bud_id_len = 36 |
Size of ID parameter for bud data-containers. More... | |
character(len=*), parameter, private | bud_mod = "bud_" // "bud_lSM_CSC" |
Name of module. More... | |
character(len=*), parameter, private | bud_type = "lSM_CSC" |
Name of bud in this module. More... | |
integer, parameter, public | sm_none = 0 |
Errors with a negative number refers to the -err element. More... | |
integer, parameter, public | sm_entry_multiple = 1 |
Signals two or more equivalent sparse elements. More... | |
integer, parameter, public | sm_input = 1000 |
The input argument that is wrong by err-SM_INPUT More... | |
[in,out] | lhs | contains rhs after exit |
[in] | rhs | copy the containing element bud |
[in,out] | lhs | contains rhs after exit |
[in] | rhs | copy the containing element bud |
procedure, public attach | ( | ) |
See interface attach
|
private |
[in] | this | sparse matrix bud |
[out] | nr | optional number of rows in SM |
[out] | nc | optional number of columns in SM |
[out] | nz | optional number of non-zero elements in SM |
[out] | cptr | optional column pointer (cptr(2) is starting index of ic=2 ) |
[out] | row | optional row index |
[out] | ncol | optional number of non-zero elements per column |
|
private |
[in] | this | sparse matrix bud |
[out] | nr | optional number of rows in SM |
[out] | nc | optional number of columns in SM |
[out] | nz | optional number of non-zero elements in SM |
[out] | cptr | optional column pointer (cptr(2) is starting index of ic=2 ) |
[out] | row | optional row index |
[out] | ncol | optional number of non-zero elements per column |
|
private |
[in] | this | sparse matrix bud |
[out] | nr | optional number of rows in SM |
[out] | nc | optional number of columns in SM |
[out] | nz | optional number of non-zero elements in SM |
[out] | cptr | optional column pointer (cptr(2) is starting index of ic=2 ) |
[out] | row | optional row index |
|
private |
[in] | this | sparse matrix bud |
[out] | nr | optional number of rows in SM |
[out] | nc | optional number of columns in SM |
[out] | nz | optional number of non-zero elements in SM |
[out] | cptr | optional column pointer (cptr(2) is starting index of ic=2 ) |
[out] | row | optional row index |
procedure, public cols | ( | ) |
See interface mat_cols
procedure, public delete | ( | ) |
See interface delete
|
private |
[in,out] | this | returned bud is un-initialized with no data associated |
|
private |
[in,out] | this | returned bud is un-initialized with no data associated |
procedure, public fold | ( | ) |
See interface mat_fold
|
private |
[in] | from | the originating sparse pattern |
[in] | nr | new number of rows in the sparse pattern |
[in] | nc | new number of columns in the sparse pattern |
[in,out] | to | the resulting sparse pattern |
[in] | single | optional=.false. if .true.: will compress equivalent entries to a single entry, no double entries will be found subsequently. |
|
private |
[in] | from | the originating sparse pattern |
[in] | nr | new number of rows in the sparse pattern |
[in] | nc | new number of columns in the sparse pattern |
[in,out] | to | the resulting sparse pattern |
[in] | single | optional=.false. if .true.: will compress equivalent entries to a single entry, no double entries will be found subsequently. |
|
private |
[in] | from | the originating sparse pattern |
[in] | nc | new number of columns in the sparse pattern |
[in,out] | to | the resulting sparse pattern |
|
private |
[in] | this | sparse matrix |
|
private |
[in] | this | sparse matrix |
|
private |
[in] | this | sparse matrix |
|
private |
[in] | this | sparse matrix |
procedure, public initialize | ( | ) |
See interface initialize
|
private |
[in,out] | this | bud that is initialized |
|
private |
[in,out] | this | bud that is initialized |
procedure, public initialized | ( | ) |
See interface is_initialized
procedure, public is_initd | ( | ) |
See interface is_initialized
procedure, public is_initialized | ( | ) |
See interface is_initialized
|
private |
[in] | this | check if this bud is initialized |
.true.
if it is associated, else .false.
|
private |
[in] | this | check if this bud is initialized |
.true.
if it is associated, else .false.
|
private |
[in] | this | check if this bud is initialized |
.true.
if it is associated, else .false.
|
private |
[in] | this | check if this bud is initialized |
.true.
if it is associated, else .false.
procedure, public is_same | ( | ) |
See interface is_same
|
private |
[in] | lhs | first bud |
[in] | rhs | second bud |
.true.
if lhs
and rhs
point to the same data
|
private |
[in] | lhs | first bud |
[in] | rhs | second bud |
.true.
if lhs
and rhs
point to the same data
|
private |
[in] | lhs | first bud |
[in] | rhs | second bud |
.true.
if lhs
and rhs
point to the same data procedure, public mat_cols | ( | ) |
See interface mat_cols
|
private |
[in] | this | the sparse matrix |
|
private |
[in] | this | the sparse matrix |
procedure, public mat_fold | ( | ) |
See interface mat_fold
procedure, public mat_offsetp | ( | ) |
See interface mat_pointerp
procedure, public mat_pointerp | ( | ) |
See interface mat_pointerp
procedure, public mat_rowp | ( | ) |
See interface mat_rowp
procedure, public mat_rows | ( | ) |
See interface mat_rows
|
private |
[in] | this | the sparse matrix |
|
private |
[in] | this | the sparse matrix |
procedure, public mat_sort | ( | ) |
See interface mat_sort
generic, public new | ( | ) |
See interface new
|
private |
|
private |
[in,out] | this | the new sparse matrix |
[in] | nr | number of rows of the matrix |
[in] | nc | number of columns of the matrix |
[in] | nz | number of non-zero elements of the matrix |
[in] | cptr | column pointers (at least size nc ) |
[in] | row | row-indices for the sparse elements |
|
private |
[in,out] | this | the new sparse matrix |
[in] | nr | number of rows of the matrix |
[in] | nc | number of columns of the matrix |
[in] | nz | number of non-zero elements of the matrix |
[in] | cptr | column pointers (at least size nc ) |
[in] | row | row-indices for the sparse elements |
|
private |
[in,out] | this | the new sparse matrix |
[in] | nr | number of rows of the matrix |
[in] | nc | number of columns of the matrix |
[in] | nz | number of non-zero elements of the matrix |
[in] | cptr | column pointers (at least size nc ) |
[in] | row | row-indices for the sparse elements |
|
private |
|
private |
[in,out] | this | the sparse matrix |
[in] | nr | number of rows of the matrix |
[in] | nc | number of columns of the matrix |
[in] | nz | number of non-zero elements the matrix |
|
private |
[in,out] | this | the sparse matrix |
[in] | nr | number of rows of the matrix |
[in] | nc | number of columns of the matrix |
[in] | nz | number of non-zero elements the matrix |
|
private |
[in,out] | this | the sparse matrix |
[in] | nr | number of rows of the matrix |
[in] | nc | number of columns of the matrix |
[in] | nz | number of non-zero elements the matrix |
procedure, public nonzeros | ( | ) |
See interface nonzeros
|
private |
[in] | this | the sparse matrix |
|
private |
[in] | this | the sparse matrix |
procedure, public nullify | ( | ) |
See interface nullify
|
private |
[in,out] | this | nullify references from this bud |
|
private |
[in,out] | this | nullify references from this bud |
procedure, public offsetp | ( | ) |
See interface mat_pointerp
procedure, public pointerp | ( | ) |
See interface mat_pointerp
procedure, public print | ( | ) |
See interface print
|
private |
[in] | this | sparse matrix |
[in] | info | optional="lSM_CSC" additional information printed |
[in] | indent | optional=1 possible indentation of printed statement |
procedure, public references | ( | ) |
See interface references
|
private |
[in] | this | reference counted bud |
this
has been referenced
|
private |
[in] | this | reference counted bud |
this
has been referenced
|
private |
[in] | this | reference counted bud |
this
has been referenced procedure, public refs | ( | ) |
See interface references
procedure, public rowp | ( | ) |
See interface mat_rowp
procedure, public rows | ( | ) |
See interface mat_rows
procedure, public same | ( | ) |
See interface is_same
procedure, public sort | ( | ) |
See interface mat_sort
|
private |
[in] | this | sparse pattern to sort (in-place) |
[out] | err | associated error message of the sparsity pattern |
[out] | pvt | optional= if requested the pivoting array for the sorted sparsity pattern |
|
private |
[in] | this | sparse pattern to sort (in-place) |
[out] | err | associated error message of the sparsity pattern |
[out] | pvt | optional= if requested the pivoting array for the sorted sparsity pattern |
|
private |
Size of ID parameter for bud data-containers.
|
private |
Name of module.
|
private |
Name of bud in this module.
integer parameter public sm_entry_multiple = 1 |
Signals two or more equivalent sparse elements.
integer parameter public sm_input = 1000 |
The input argument that is wrong by err-SM_INPUT
This constant is an offset in the error number that refers to the input parameter err - SM_INPUT
. I.e. if err = SM_INPUT + 2
, the second argument is erroneous.
integer parameter public sm_none = 0 |
Errors with a negative number refers to the -err
element.
This may mean that the entry is beyond the matrix size. Definition of no errors in the call