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