gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
Functions/Subroutines
dcdatetimeeq.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

logical function dcdatetime_eq_tt (time1, time2)
 Functions for user defined operation (==)
 
logical function dcdatetime_eq_ff (diff1, diff2)
 
logical function dcdatetime_eq_if (i, diff)
 
logical function dcdatetime_eq_fi (diff, i)
 
logical function dcdatetime_eq_rf (r, diff)
 
logical function dcdatetime_eq_fr (diff, r)
 
logical function dcdatetime_eq_df (d, diff)
 
logical function dcdatetime_eq_fd (diff, d)
 

Function/Subroutine Documentation

◆ dcdatetime_eq_df()

logical function dcdatetime_eq_df ( real(dp), intent(in)  d,
type(dc_difftime), intent(in)  diff 
)

Compare double precision real with DC_DIFFTIME for equality

Compares whether time difference diff equals d. Returns .true. if diff converted to seconds equals d.

Parameters
[in]dDouble precision real to compare
[in]diffTime difference
Returns
result .true. if equal, .false. otherwise

Definition at line 239 of file dcdatetimeeq.f90.

240 use dc_date_generic, only: evalsclsec
242 use dc_scaledsec, only: operator(==)
243 use dc_types, only: dp
244 implicit none
245 type(DC_DIFFTIME), intent(in):: diff
246 real(DP), intent(in):: d
247continue
248 if (evalsclsec(diff) == d) then
249 result = .true.
250 else
251 result = .false.
252 end if
Interface declarations for procedures provided from dc_date.
Derived types and parameters for date and time.
Scaled seconds module for precise time operations.
Provides kind type parameter values.
Definition dc_types.f90:55
integer, parameter, public dp
Double Precision Real number
Definition dc_types.f90:92

References dc_types::dp.

◆ dcdatetime_eq_fd()

logical function dcdatetime_eq_fd ( type(dc_difftime), intent(in)  diff,
real(dp), intent(in)  d 
)

Compare DC_DIFFTIME with double precision real for equality

Parameters
[in]diffTime difference
[in]dDouble precision real to compare
Returns
result .true. if equal, .false. otherwise

Definition at line 268 of file dcdatetimeeq.f90.

269 use dc_date_generic, only: operator(==)
270 use dc_types, only: dp
272 implicit none
273 type(DC_DIFFTIME), intent(in):: diff
274 real(DP), intent(in):: d
275continue
276 result = d == diff

References dc_types::dp.

◆ dcdatetime_eq_ff()

logical function dcdatetime_eq_ff ( type(dc_difftime), intent(in)  diff1,
type(dc_difftime), intent(in)  diff2 
)

Compare two DC_DIFFTIME values for equality

Compares two time difference arguments. Returns .true. if the time difference stored in the first argument is equal to the time difference stored in the second argument.

Parameters
[in]diff1First time difference
[in]diff2Second time difference
Returns
result .true. if equal, .false. otherwise

Definition at line 90 of file dcdatetimeeq.f90.

91 use dc_scaledsec, only: operator(==)
93 implicit none
94 type(DC_DIFFTIME), intent(in):: diff1, diff2
95continue
96 if ( diff1 % mon == diff2 % mon &
97 & .and. diff1 % day == diff2 % day &
98 & .and. diff1 % sec == diff2 % sec ) then
99 result = .true.
100 else
101 result = .false.
102 end if

◆ dcdatetime_eq_fi()

logical function dcdatetime_eq_fi ( type(dc_difftime), intent(in)  diff,
integer, intent(in)  i 
)

Compare DC_DIFFTIME with integer for equality

Parameters
[in]diffTime difference
[in]iInteger to compare
Returns
result .true. if equal, .false. otherwise

Definition at line 149 of file dcdatetimeeq.f90.

150 use dc_date_generic, only: operator(==)
152 implicit none
153 type(DC_DIFFTIME), intent(in):: diff
154 integer, intent(in):: i
155continue
156 result = i == diff

◆ dcdatetime_eq_fr()

logical function dcdatetime_eq_fr ( type(dc_difftime), intent(in)  diff,
real, intent(in)  r 
)

Compare DC_DIFFTIME with single precision real for equality

Parameters
[in]diffTime difference
[in]rReal to compare
Returns
result .true. if equal, .false. otherwise

Definition at line 208 of file dcdatetimeeq.f90.

209 use dc_date_generic, only: operator(==)
211 implicit none
212 type(DC_DIFFTIME), intent(in):: diff
213 real, intent(in):: r
214continue
215 result = r == diff

◆ dcdatetime_eq_if()

logical function dcdatetime_eq_if ( integer, intent(in)  i,
type(dc_difftime), intent(in)  diff 
)

Compare integer with DC_DIFFTIME for equality

Compares whether time difference diff equals i. Returns .true. if diff converted to seconds equals i.

Parameters
[in]iInteger to compare
[in]diffTime difference
Returns
result .true. if equal, .false. otherwise

Definition at line 126 of file dcdatetimeeq.f90.

127 use dc_date_generic, only: operator(==)
129 implicit none
130 type(DC_DIFFTIME), intent(in):: diff
131 integer, intent(in):: i
132continue
133 result = real(i) == diff

◆ dcdatetime_eq_rf()

logical function dcdatetime_eq_rf ( real, intent(in)  r,
type(dc_difftime), intent(in)  diff 
)

Compare single precision real with DC_DIFFTIME for equality

Compares whether time difference diff equals r. Returns .true. if diff converted to seconds equals r.

Parameters
[in]rReal to compare
[in]diffTime difference
Returns
result .true. if equal, .false. otherwise

Definition at line 180 of file dcdatetimeeq.f90.

181 use dc_scaledsec, only: operator(==)
182 use dc_date_generic, only: evalsclsec
184 implicit none
185 type(DC_DIFFTIME), intent(in):: diff
186 real, intent(in):: r
187continue
188 if (evalsclsec(diff) == r) then
189 result = .true.
190 else
191 result = .false.
192 end if

◆ dcdatetime_eq_tt()

logical function dcdatetime_eq_tt ( type(dc_datetime), intent(in)  time1,
type(dc_datetime), intent(in)  time2 
)

Functions for user defined operation (==)

Author
Yasuhiro MORIKAWA

Definition at line 45 of file dcdatetimeeq.f90.

48 use dc_scaledsec, only: dc_scaled_sec, &
49 & operator(==), operator(<), operator(>), operator(<=), operator(>=), &
50 & operator(+), assignment(=)
51 implicit none
52 type(DC_DATETIME), intent(in):: time1, time2
53 type(DC_SCALED_SEC):: year1, year2, time1_sec, time2_sec
54continue
55 call eval(time1, sclyear=year1)
56 call eval(time2, sclyear=year2)
57 time1_sec = evalsclsec(time1) + evalsclsec(zonetodiff(time1 % zone))
58 time2_sec = evalsclsec(time2) + evalsclsec(zonetodiff(time2 % zone))
59 if (year1 == year2 .and. time1_sec == time2_sec) then
60 result = .true.
61 else
62 result = .false.
63 end if