gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
Functions/Subroutines
dcdatetimeadd.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

type(dc_datetime) function dcdatetime_add_ft (diff, time)
 利用者定義演算子 (+) のための関数
 
type(dc_datetime) function dcdatetime_add_tf (time, diff)
 
type(dc_difftime) function dcdatetime_add_ff (diff1, diff2)
 
type(dc_difftime) function dcdatetime_add_fd (diff, sec)
 
type(dc_difftime) function dcdatetime_add_fr (diff, sec)
 
type(dc_difftime) function dcdatetime_add_fi (diff, sec)
 

Function/Subroutine Documentation

◆ dcdatetime_add_fd()

type(dc_difftime) function dcdatetime_add_fd ( type(dc_difftime), intent(in)  diff,
real(dp), intent(in)  sec 
)

倍精度秒数を DC_DIFFTIME に加算

Parameters
[in]diff日時差
[in]sec加算する秒数 (倍精度)
Returns
result 加算結果

Definition at line 134 of file dcdatetimeadd.f90.

137 use dc_scaledsec, only: operator(+)
138 use dc_types, only: dp
139 implicit none
140 type(DC_DIFFTIME):: result
141 type(DC_DIFFTIME), intent(in):: diff
142 real(DP), intent(in):: sec
143continue
144 result % mon = diff % mon
145 result % day = diff % day
146 result % sec = diff % sec + sec
147 result % day_seconds = diff % day_seconds
148 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
dc_date用の内部モジュール
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
subroutine, public dcdate_nondimcheck(opr, diff1, diff2, rslt)
日付・時刻に関する構造データ型と定数
精密な時間演算のための秒スケールモジュール
種別型パラメタを提供します。
Definition dc_types.f90:55
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:92

References dc_date_internal::dcdate_nondimcheck(), dc_date_internal::dcdate_normalize(), and dc_types::dp.

Here is the call graph for this function:

◆ dcdatetime_add_ff()

type(dc_difftime) function dcdatetime_add_ff ( type(dc_difftime), intent(in)  diff1,
type(dc_difftime), intent(in)  diff2 
)

2つの DC_DIFFTIME 値を加算

Parameters
[in]diff11つ目の日時差
[in]diff22つ目の日時差
Returns
result 加算結果

Definition at line 105 of file dcdatetimeadd.f90.

108 use dc_scaledsec, only: operator(+)
109 implicit none
110 type(DC_DIFFTIME):: result
111 type(DC_DIFFTIME), intent(in):: diff1, diff2
112continue
113 result % mon = diff1 % mon + diff2 % mon
114 result % day = diff1 % day + diff2 % day
115 result % sec = diff1 % sec + diff2 % sec
116 result % day_seconds = diff1 % day_seconds
117 call dcdate_nondimcheck('dc_date#operator(+)', diff1, diff2, result)
118 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)

References dc_date_internal::dcdate_nondimcheck(), and dc_date_internal::dcdate_normalize().

Here is the call graph for this function:

◆ dcdatetime_add_fi()

type(dc_difftime) function dcdatetime_add_fi ( type(dc_difftime), intent(in)  diff,
integer, intent(in)  sec 
)

整数秒数を DC_DIFFTIME に加算

Parameters
[in]diff日時差
[in]sec加算する秒数 (整数)
Returns
result 加算結果

Definition at line 190 of file dcdatetimeadd.f90.

192 use dc_date_generic, only: operator(+)
193 use dc_scaledsec, only: operator(+)
194 use dc_types, only: dp
195 implicit none
196 type(DC_DIFFTIME):: result
197 type(DC_DIFFTIME), intent(in):: diff
198 integer, intent(in):: sec
199continue
200 result = diff + real( sec, dp )
dc_date より提供される手続の引用仕様宣言

References dc_types::dp.

◆ dcdatetime_add_fr()

type(dc_difftime) function dcdatetime_add_fr ( type(dc_difftime), intent(in)  diff,
real, intent(in)  sec 
)

単精度秒数を DC_DIFFTIME に加算

Parameters
[in]diff日時差
[in]sec加算する秒数 (単精度)
Returns
result 加算結果

Definition at line 164 of file dcdatetimeadd.f90.

166 use dc_date_generic, only: operator(+)
167 use dc_scaledsec, only: operator(+)
168 use dc_types, only: dp
169 implicit none
170 type(DC_DIFFTIME):: result
171 type(DC_DIFFTIME), intent(in):: diff
172 real, intent(in):: sec
173continue
174 result = diff + real( sec, dp )

References dc_types::dp.

◆ dcdatetime_add_ft()

type(dc_datetime) function dcdatetime_add_ft ( type(dc_difftime), intent(in)  diff,
type(dc_datetime), intent(in)  time 
)

利用者定義演算子 (+) のための関数

Author
Yasuhiro MORIKAWA, Eizi TOYODA

Definition at line 43 of file dcdatetimeadd.f90.

46 use dc_scaledsec, only: dc_scaled_sec, &
47 & operator(<), operator(>), operator(<=), operator(>=), &
48 & operator(+), operator(-), operator(*), operator(/), &
49 & modulo, int, abs, sign
50 implicit none
51 type(DC_DATETIME):: result
52 type(DC_DIFFTIME), intent(in):: diff
53 type(DC_DATETIME), intent(in):: time
54 type(DC_SCALED_SEC):: time_year, time_mon, time_day, time_sec
55 integer:: time_caltype
56 character(6):: time_zone
57continue
58 call eval(time, sclyear = time_year, sclmon = time_mon, &
59 & sclday = time_day, sclsec = time_sec, &
60 & caltype = time_caltype, zone = time_zone)
61 call dcdatetimecreate(result, sclyear = time_year, &
62 & sclmon = time_mon + diff % mon, &
63 & sclday = time_day + diff % day, &
64 & sclsec = time_sec + diff % sec, &
65 & caltype = time_caltype, zone = time_zone)
integer, save, public caltype
デフォルトの暦タイプ (グレゴリオ暦)

References dc_date_types::caltype.

◆ dcdatetime_add_tf()

type(dc_datetime) function dcdatetime_add_tf ( type(dc_datetime), intent(in)  time,
type(dc_difftime), intent(in)  diff 
)

DC_DIFFTIME を DC_DATETIME に加算 (引数順序逆)

Parameters
[in]time日時
[in]diff日時差
Returns
result 加算結果

Definition at line 81 of file dcdatetimeadd.f90.

82 use dc_date_generic, only: operator(+)
84 implicit none
85 type(DC_DATETIME):: result
86 type(DC_DATETIME), intent(in):: time
87 type(DC_DIFFTIME), intent(in):: diff
88continue
89 result = diff + time