Copies metadata into an array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
Matrix |
||
integer, | intent(out), | DIMENSION(dbcsr_meta_size) | :: | meta |
Metadata elements |
SUBROUTINE dbcsr_pack_meta(matrix, meta) !! Copies metadata into an array. TYPE(dbcsr_type), INTENT(IN) :: matrix !! Matrix INTEGER, DIMENSION(dbcsr_meta_size), INTENT(OUT) :: meta !! Metadata elements ! --------------------------------------------------------------------------- meta(dbcsr_slot_nblks) = matrix%nblks meta(dbcsr_slot_nze) = matrix%nze meta(dbcsr_slot_nblkrows_total) = matrix%nblkrows_total meta(dbcsr_slot_nblkcols_total) = matrix%nblkcols_total meta(dbcsr_slot_nfullrows_total) = matrix%nfullrows_total meta(dbcsr_slot_nfullcols_total) = matrix%nfullcols_total meta(dbcsr_slot_nblkrows_local) = matrix%nblkrows_local meta(dbcsr_slot_nblkcols_local) = matrix%nblkcols_local meta(dbcsr_slot_nfullrows_local) = matrix%nfullrows_local meta(dbcsr_slot_nfullcols_local) = matrix%nfullcols_local meta(dbcsr_slot_dense) = 0 meta(dbcsr_slot_type) = 0 !IF (matrix%transpose)& ! meta(dbcsr_slot_type) = IBSET (meta(dbcsr_slot_type), 0) IF (matrix%symmetry) & meta(dbcsr_slot_type) = IBSET(meta(dbcsr_slot_type), 1) IF (matrix%negate_real) & meta(dbcsr_slot_type) = IBSET(meta(dbcsr_slot_type), 2) IF (matrix%negate_imaginary) & meta(dbcsr_slot_type) = IBSET(meta(dbcsr_slot_type), 3) END SUBROUTINE dbcsr_pack_meta