Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_8), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
SUBROUTINE dbcsr_scale_d (matrix_a, alpha_scalar, last_column)
!! Interface for matrix scaling by a scalar
TYPE(dbcsr_type), INTENT(INOUT) :: matrix_a
REAL(kind=real_8), INTENT(IN) :: alpha_scalar
INTEGER, INTENT(IN), OPTIONAL :: last_column
CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_scale_d'
INTEGER :: error_handler
TYPE(dbcsr_scalar_type) :: sc
sc = dbcsr_scalar(alpha_scalar)
CALL dbcsr_scalar_fill_all(sc)
sc%data_type = dbcsr_get_data_type(matrix_a)
CALL timeset(routineN, error_handler)
IF (PRESENT(last_column)) THEN
CALL dbcsr_scale_anytype(matrix_a, &
alpha_scalar=sc, &
limits=(/0, 0, 0, last_column/))
ELSE
CALL dbcsr_scale_anytype(matrix_a, alpha_scalar=sc)
END IF
CALL timestop(error_handler)
END SUBROUTINE dbcsr_scale_d