Loading...
Searching...
No Matches
dcdatetimeeq.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

logical function dcdatetime_eq_tt (time1, time2)
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 )

Definition at line 110 of file dcdatetimeeq.f90.

111 !
112 ! 引数 *diff* の日時差が *d* と等しいかどうかを比較します. *diff*
113 ! を秒数に換算した値と *d* とが等しい場合, .true. が返ります.
114 !
115 use dc_date_generic, only: evalsclsec
117 use dc_scaledsec, only: operator(==)
118 use dc_types, only: dp
119 implicit none
120 type(DC_DIFFTIME), intent(in):: diff
121 real(DP), intent(in):: d
122 continue
123 if (evalsclsec(diff) == d) then
124 result = .true.
125 else
126 result = .false.
127 end if
種別型パラメタを提供します。
Definition dc_types.f90:49
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:83

References dc_types::dp.

◆ dcdatetime_eq_fd()

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

Definition at line 130 of file dcdatetimeeq.f90.

131 use dc_date_generic, only: operator(==)
132 use dc_types, only: dp
134 implicit none
135 type(DC_DIFFTIME), intent(in):: diff
136 real(DP), intent(in):: d
137 continue
138 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 )

Definition at line 37 of file dcdatetimeeq.f90.

38 !
39 ! 2 つの引数の日時差を比較します.
40 ! 1 つ目の引数に格納される日時差が 2 つ目の引数に格納される日時差
41 ! と同じ場合, .true. が返ります.
42 !
43 use dc_scaledsec, only: operator(==)
45 implicit none
46 type(DC_DIFFTIME), intent(in):: diff1, diff2
47 continue
48 if ( diff1 % mon == diff2 % mon &
49 & .and. diff1 % day == diff2 % day &
50 & .and. diff1 % sec == diff2 % sec ) then
51 result = .true.
52 else
53 result = .false.
54 end if

◆ dcdatetime_eq_fi()

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

Definition at line 71 of file dcdatetimeeq.f90.

72 use dc_date_generic, only: operator(==)
74 implicit none
75 type(DC_DIFFTIME), intent(in):: diff
76 integer, intent(in):: i
77 continue
78 result = i == diff

◆ dcdatetime_eq_fr()

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

Definition at line 100 of file dcdatetimeeq.f90.

101 use dc_date_generic, only: operator(==)
103 implicit none
104 type(DC_DIFFTIME), intent(in):: diff
105 real, intent(in):: r
106 continue
107 result = r == diff

◆ dcdatetime_eq_if()

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

Definition at line 57 of file dcdatetimeeq.f90.

58 !
59 ! 引数 *diff* の日時差が *i* と等しいかどうかを比較します. *diff*
60 ! を秒数に換算した値と *i* とが等しい場合, .true. が返ります.
61 !
62 use dc_date_generic, only: operator(==)
64 implicit none
65 type(DC_DIFFTIME), intent(in):: diff
66 integer, intent(in):: i
67 continue
68 result = real(i) == diff

◆ dcdatetime_eq_rf()

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

Definition at line 81 of file dcdatetimeeq.f90.

82 !
83 ! 引数 *diff* の日時差が *r* と等しいかどうかを比較します. *diff*
84 ! を秒数に換算した値と *r* とが等しい場合, .true. が返ります.
85 !
86 use dc_scaledsec, only: operator(==)
89 implicit none
90 type(DC_DIFFTIME), intent(in):: diff
91 real, intent(in):: r
92 continue
93 if (evalsclsec(diff) == r) then
94 result = .true.
95 else
96 result = .false.
97 end if

◆ dcdatetime_eq_tt()

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

Definition at line 10 of file dcdatetimeeq.f90.

11 !
12 ! 2 つの引数の日時を比較します.
13 ! 1 つ目の引数に格納される日時が 2 つ目の引数に格納される日時
14 ! と同じ場合, .true. が返ります.
15 !
18 use dc_scaledsec, only: dc_scaled_sec, &
19 & operator(==), operator(<), operator(>), operator(<=), operator(>=), &
20 & operator(+), assignment(=)
21 implicit none
22 type(DC_DATETIME), intent(in):: time1, time2
23 type(DC_SCALED_SEC):: year1, year2, time1_sec, time2_sec
24 continue
25 call eval(time1, sclyear=year1)
26 call eval(time2, sclyear=year2)
27 time1_sec = evalsclsec(time1) + evalsclsec(zonetodiff(time1 % zone))
28 time2_sec = evalsclsec(time2) + evalsclsec(zonetodiff(time2 % zone))
29 if (year1 == year2 .and. time1_sec == time2_sec) then
30 result = .true.
31 else
32 result = .false.
33 end if