Appearance
fossil_csr_matrix
Source: src/lib/fossil_csr_matrix.f90
Dependencies
Contents
- csr_matrix_t
- csr_initialize
- csr_destroy
- csr_append
- grow_capacity
- csr_finalize
- sort_and_coalesce
- csr_multiply_vector
- csr_get_nrows
- csr_get_ncols
- csr_get_nnz
- csr_row_sum
- csr_get_value
- csr_is_symmetric
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
CSR_STATUS_OK | integer(kind=I4P) | parameter | |
CSR_STATUS_BAD_INPUT | integer(kind=I4P) | parameter | |
CSR_STATUS_OUT_OF_RANGE | integer(kind=I4P) | parameter | |
CSR_INITIAL_NNZ_PER_ROW | integer(kind=I4P) | parameter |
Derived Types
csr_matrix_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
n_rows | integer(kind=I4P) | ||
n_cols | integer(kind=I4P) | ||
nnz | integer(kind=I4P) | ||
row_ptr | integer(kind=I4P) | allocatable | |
col_idx | integer(kind=I4P) | allocatable | |
val | real(kind=R8P) | allocatable | |
is_finalized | logical | ||
build_row_counts | integer(kind=I4P) | allocatable | |
build_capacity | integer(kind=I4P) | ||
build_col_idx | integer(kind=I4P) | allocatable | |
build_val | real(kind=R8P) | allocatable |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
initialize | pass(self) | |
destroy | pass(self) | |
append | pass(self) | |
finalize | pass(self) | |
get_nrows | pass(self) | |
get_ncols | pass(self) | |
get_nnz | pass(self) | |
multiply_vector | pass(self) | |
row_sum | pass(self) | |
get_value | pass(self) | |
is_symmetric | pass(self) |
Subroutines
csr_initialize
fortran
subroutine csr_initialize(self, n_rows, n_cols, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | inout | ||
n_rows | integer(kind=I4P) | in | ||
n_cols | integer(kind=I4P) | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
csr_destroy
fortran
subroutine csr_destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | inout |
csr_append
fortran
subroutine csr_append(self, row, col, value, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | inout | ||
row | integer(kind=I4P) | in | ||
col | integer(kind=I4P) | in | ||
value | real(kind=R8P) | in | ||
status | integer(kind=I4P) | out | optional |
Call graph
grow_capacity
fortran
subroutine grow_capacity(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | type(csr_matrix_t) | inout |
Call graph
csr_finalize
fortran
subroutine csr_finalize(self, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | inout | ||
status | integer(kind=I4P) | out | optional |
Call graph
sort_and_coalesce
Attributes: pure
fortran
subroutine sort_and_coalesce(col, val, n, unique)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
col | integer(kind=I4P) | inout | ||
val | real(kind=R8P) | inout | ||
n | integer(kind=I4P) | in | ||
unique | integer(kind=I4P) | out |
Call graph
csr_multiply_vector
fortran
subroutine csr_multiply_vector(self, x, y, status)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | out | ||
status | integer(kind=I4P) | out | optional |
Functions
csr_get_nrows
Attributes: pure
Returns: integer(kind=I4P)
fortran
function csr_get_nrows(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in |
csr_get_ncols
Attributes: pure
Returns: integer(kind=I4P)
fortran
function csr_get_ncols(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in |
csr_get_nnz
Attributes: pure
Returns: integer(kind=I4P)
fortran
function csr_get_nnz(self) result(n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in |
csr_row_sum
Attributes: pure
Returns: real(kind=R8P)
fortran
function csr_row_sum(self, row) result(s)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in | ||
row | integer(kind=I4P) | in |
csr_get_value
Attributes: pure
Returns: real(kind=R8P)
fortran
function csr_get_value(self, row, col) result(v)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in | ||
row | integer(kind=I4P) | in | ||
col | integer(kind=I4P) | in |
csr_is_symmetric
Returns: logical
fortran
function csr_is_symmetric(self, tol) result(yes)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(csr_matrix_t) | in | ||
tol | real(kind=R8P) | in |
Call graph