gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
dcdatetimeeq.f90
Go to the documentation of this file.
1! -*- mode: f90; coding: utf-8 -*-
2!-----------------------------------------------------------------------
3! Copyright (c) 2000-2026 Gtool Development Group. All rights reserved.
4!-----------------------------------------------------------------------
21
45logical function dcdatetime_eq_tt(time1, time2) result(result)
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
64end function dcdatetime_eq_tt
65
66
90logical function dcdatetime_eq_ff(diff1, diff2) result(result)
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
103end function dcdatetime_eq_ff
104
126logical function dcdatetime_eq_if(i, diff) result(result)
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
134end function dcdatetime_eq_if
135
149logical function dcdatetime_eq_fi(diff, i) result(result)
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
157end function dcdatetime_eq_fi
158
180logical function dcdatetime_eq_rf(r, diff) result(result)
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
193end function dcdatetime_eq_rf
194
208logical function dcdatetime_eq_fr(diff, r) result(result)
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
216end function dcdatetime_eq_fr
217
239logical function dcdatetime_eq_df(d, diff) result(result)
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
253end function dcdatetime_eq_df
254
268logical function dcdatetime_eq_fd(diff, d) result(result)
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
277end function dcdatetime_eq_fd
logical function dcdatetime_eq_df(d, diff)
logical function dcdatetime_eq_fd(diff, d)
logical function dcdatetime_eq_ff(diff1, diff2)
logical function dcdatetime_eq_tt(time1, time2)
Functions for user defined operation (==)
logical function dcdatetime_eq_if(i, diff)
logical function dcdatetime_eq_fr(diff, r)
logical function dcdatetime_eq_rf(r, diff)
logical function dcdatetime_eq_fi(diff, i)
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