ELEMENTAL FUNCTION dbcsr_scalar_multiply(s1, s2) RESULT(s_product)
TYPE(dbcsr_scalar_type), INTENT(IN) :: s1, s2
TYPE(dbcsr_scalar_type) :: s_product
s_product = dbcsr_scalar_zero(s1%data_type)
SELECT CASE (s1%data_type)
CASE (dbcsr_type_real_4)
s_product%r_sp = s1%r_sp*s2%r_sp
CASE (dbcsr_type_real_8)
s_product%r_dp = s1%r_dp*s2%r_dp
CASE (dbcsr_type_complex_4)
s_product%c_sp = s1%c_sp*s2%c_sp
CASE (dbcsr_type_complex_8)
s_product%c_dp = s1%c_dp*s2%c_dp
CASE default
s_product = dbcsr_scalar_zero(s1%data_type)
END SELECT
END FUNCTION dbcsr_scalar_multiply