buds  0.1
FORTRAN reference counted types
Data Types | Functions/Subroutines | Variables

Data Types

interface  assignment(=)
 Assignment of bud to another bud. More...
 
interface  attach
 Retrieve access to sparse pattern variables via pointers. More...
 
interface  delete
 Deletes the bud by decreasing references to the underlying data. More...
 
interface  initialize
 Initialization of data container. More...
 
interface  initialized
 See interface is_initialized More...
 
interface  is_initd
 See interface is_initialized More...
 
interface  is_initialized
 Query whether bud is associated with any data. More...
 
interface  is_same
 Check whether two buds point to the same data (function) More...
 
type  ism_csc
 Sparse matrix type in the CSR format. More...
 
interface  mat_cols
 Number of columns in matrix. More...
 
interface  mat_fold
 Fold a sparse matrix to form a smaller sparse matrix. More...
 
interface  mat_offsetp
 See interface #mat_pointerp More...
 
interface  mat_pointerp
 Retrieve a pointer to the column offsets/pointers. More...
 
interface  mat_rowp
 Retrieve a pointer to the row indices. More...
 
interface  mat_rows
 Number of rows in matrix. More...
 
interface  mat_sort
 Sorts rows in the sparse pattern. More...
 
interface  new
 Create a new sparse matrix. More...
 
interface  new_ism_csc
 See interface #new More...
 
interface  nonzeros
 Return number of non-zero elements stored in the sparse matrix. More...
 
interface  nullify
 Nullifies the current bud. More...
 
interface  print
 Print, to std-out, some basic information of the data-container. More...
 
interface  references
 Query number of references to the bud. More...
 
interface  refs
 See interface #references More...
 
interface  same
 See interface #is_same More...
 

Functions/Subroutines

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_row_only (from, nr, to, single)
 
subroutine fold_col_only (from, nc, to)
 
integer(ii_) function, dimension(:), pointer, contiguous get_col_offsetp_ (this)
 
integer(ii_) function, dimension(:), pointer, contiguous get_rowp_ (this)
 
subroutine sort_ (this, err, pvt)
 
subroutine print_ (this, info, indent)
 
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_iSM_CSC"
 Name of module. More...
 
character(len=*), parameter, private bud_type = "iSM_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...
 

Function/Subroutine Documentation

subroutine fold_row_only ( class(ism_csc), intent(in)  from,
integer(ii_), intent(in)  nr,
class(ism_csc), intent(inout)  to,
logical, intent(in), optional  single 
)
Parameters
[in]fromthe originating sparse pattern
[in]nrnew number of rows in the sparse pattern
[in,out]tothe resulting sparse pattern
[in]singleoptional=.false. if .true.: will compress equivalent entries to a single entry, no double entries will be found subsequently.

TODO check that the last column has > 0 elements this will justify the -1 below

Here is the call graph for this function:

Here is the caller graph for this function:

integer(ii_) function, dimension(:), pointer, contiguous bud_ism_csc::get_col_offsetp_ ( class(ism_csc), intent(in)  this)
Parameters
[in]thissparse matrix
Returns
a pointer to the column offsets for the sparse matrix (contiguous)

Here is the caller graph for this function:

subroutine print_ ( class(ism_csc), intent(in)  this,
character(len=*), intent(in), optional  info,
integer, intent(in), optional  indent 
)
Parameters
[in]thissparse matrix
[in]infooptional="iSM_CSC" additional information printed
[in]indentoptional=1 possible indentation of printed statement

Here is the caller graph for this function: