Applying in-place filtering on the workspace
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_mm_multrec_type), | intent(inout) | :: | this |
SUBROUTINE multrec_filtering(this) !! Applying in-place filtering on the workspace TYPE(dbcsr_mm_multrec_type), INTENT(inout) :: this CHARACTER(len=*), PARAMETER :: routineN = 'multrec_filtering' INTEGER :: handle CALL timeset(routineN, handle) SELECT CASE (this%product_wm%data_area%d%data_type) CASE (dbcsr_type_real_4) CALL multrec_filtering_s(this%eps, & this%product_wm%lastblk, & this%product_wm%row_i, & this%product_wm%col_i, & this%product_wm%blk_p, & this%m_global_sizes, this%n_global_sizes, & this%product_wm%datasize_after_filtering, & this%product_wm%data_area%d%r_sp) CASE (dbcsr_type_real_8) CALL multrec_filtering_d(this%eps, & this%product_wm%lastblk, & this%product_wm%row_i, & this%product_wm%col_i, & this%product_wm%blk_p, & this%m_global_sizes, this%n_global_sizes, & this%product_wm%datasize_after_filtering, & this%product_wm%data_area%d%r_dp) CASE (dbcsr_type_complex_4) CALL multrec_filtering_c(this%eps, & this%product_wm%lastblk, & this%product_wm%row_i, & this%product_wm%col_i, & this%product_wm%blk_p, & this%m_global_sizes, this%n_global_sizes, & this%product_wm%datasize_after_filtering, & this%product_wm%data_area%d%c_sp) CASE (dbcsr_type_complex_8) CALL multrec_filtering_z(this%eps, & this%product_wm%lastblk, & this%product_wm%row_i, & this%product_wm%col_i, & this%product_wm%blk_p, & this%m_global_sizes, this%n_global_sizes, & this%product_wm%datasize_after_filtering, & this%product_wm%data_area%d%c_dp) CASE DEFAULT DBCSR_ABORT("Invalid data type.") END SELECT CALL timestop(handle) END SUBROUTINE multrec_filtering