A memory pool datatype that can be reused for matrix matrix multiplication. this is to prevent excessive alloc/dealloc.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | columns |
Shape of matrix: columns |
|||
integer, | public | :: | rows |
Shape of matrix: rows |
|||
type(Triplet_c), | public, | DIMENSION(:), ALLOCATABLE | :: | pruned_list |
storage for actual values added to the matrix. |
||
complex(kind=NTCOMPLEX), | public, | DIMENSION(:,:), ALLOCATABLE | :: | value_array |
storage for potential values added to the matrix. |
||
logical, | public, | DIMENSION(:,:), ALLOCATABLE | :: | dirty_array |
true if an element has been pushed to this part of the matrix. |
||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | hash_index |
Storage space for indices, hashed. |
||
integer, | public, | DIMENSION(:,:), ALLOCATABLE | :: | inserted_per_bucket |
Internal storage space for amount of items added to a bucket. |
||
integer, | public | :: | hash_size |
Size of the buckets. |