Skip to content
Snippets Groups Projects

WIP: Event generic

Closed Florian Prill requested to merge event_generic into master
All threads resolved!
2 files
+ 40
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 30
0
@@ -1093,6 +1093,7 @@ module mtime_timedelta
public :: getPTStringFromMinutes
public :: getPTStringFromHours
public :: timeDeltaToJulianDelta
public :: divideTimeDelta
public :: divideTimeDeltaInSeconds
public :: divideTwoDatetimeDiffsInSeconds
public :: divideDatetimeDifferenceInSeconds
@@ -1730,6 +1731,35 @@ contains
dummy_ptr = my_timedeltatojuliandelta(c_loc(td),c_loc(dt),c_loc(jd))
END SUBROUTINE timeDeltaToJulianDelta
!>
!! @brief division by timedelta.
!!
!! @param[in] dividend
!! A pointer to type timedelta
!!
!! @param[in] divisor
!! A pointer to type timedelta
!!
!! @param base_dt
!! A pointer to struct _datetime. Reference Datetime for the TD.
!!
!! @param[out] quotient
!! A pointer to type divisionquotienttimespan
!!
SUBROUTINE divideTimeDelta(dividend, divisor, base_dt, quotient, errna)!OK-UNTESTED.
type(timedelta), target, intent(in) :: dividend
type(timedelta), target, intent(in) :: divisor
TYPE(datetime), TARGET, INTENT(in) :: base_dt
type(divisionquotienttimespan), target, intent(out) :: quotient
INTEGER, INTENT(out), optional :: errna
type(c_ptr) :: dummy_ptr
IF (PRESENT(errna)) errna = 0 ! FIXME: no_error
dummy_ptr = my_dividetimedelta(C_LOC(dividend), C_LOC(divisor), C_LOC(base_dt), C_LOC(quotient))
IF (PRESENT(errna) .AND. .NOT. c_associated(dummy_ptr)) THEN
errna = errna + 2 ! increment error number by 2, see below for an explanation.
ENDIF
end subroutine divideTimeDelta
!>
!! @brief division by seconds.
!!
Loading