From fc600a98b783d852a3b282a35de65d02a677c6e7 Mon Sep 17 00:00:00 2001 From: Jan Frederik Engels <engels+git@dkrz.de> Date: Fri, 2 Mar 2018 14:45:13 +0100 Subject: [PATCH] Enable double * time_delta, not only time_delta * double. --- src/libmtime.f90 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/libmtime.f90 b/src/libmtime.f90 index b01a1a4f..42681672 100644 --- a/src/libmtime.f90 +++ b/src/libmtime.f90 @@ -1460,6 +1460,7 @@ module mtime_timedelta module procedure elementwiseScalarMultiplyTimeDelta_long module procedure elementwiseScalarMultiplyTimeDeltaInv_long module procedure elementwiseScalarMultiplyTimeDelta_real + module procedure elementwiseScalarMultiplyTimeDeltaInv_real end interface operator (*) ! interface operator (>) @@ -2063,6 +2064,14 @@ contains dummy_ptr = my_elementwisescalarmultiplytimedeltadp(c_loc(base_td), lambda, c_loc(scaled_td)) end function elementwisescalarmultiplytimedelta_real ! + function elementwisescalarmultiplytimedeltaInv_real(lambda, base_td) result(scaled_td) !OK-TESTED. + type(timedelta), target :: scaled_td + real(c_double), intent(in) :: lambda + type(timedelta), target, intent(in) :: base_td + type(c_ptr) :: dummy_ptr + dummy_ptr = my_elementwisescalarmultiplytimedeltadp(c_loc(base_td), lambda, c_loc(scaled_td)) + end function elementwisescalarmultiplytimedeltaInv_real + ! function elementwiseAddTimeDeltatoTimeDelta(td1, td2) result(added_td) !OK-TESTED. type(timedelta), target :: added_td type(timedelta), target, intent(in) :: td1, td2 -- GitLab