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

Go to the source code of this file.

Functions/Subroutines

type(dc_difftime) function dcdatetime_mul_if (factor, diff)
 利用者定義演算子 (*) のための関数
type(dc_difftime) function dcdatetime_mul_fi (diff, factor)
type(dc_difftime) function dcdatetime_mul_rf (factor, diff)
type(dc_difftime) function dcdatetime_mul_fr (diff, factor)
type(dc_difftime) function dcdatetime_mul_df (factor, diff)
type(dc_difftime) function dcdatetime_mul_fd (diff, factor)

Function/Subroutine Documentation

◆ dcdatetime_mul_df()

type(dc_difftime) function dcdatetime_mul_df ( real(dp), intent(in) factor,
type(dc_difftime), intent(in) diff )

倍精度実数と DC_DIFFTIME の乗算

日時差 difffactor とを乗算した結果を返します.

Note
月差を非整数倍すると近似的結果になるおそれがあります
Parameters
[in]factor倍精度実数の乗数
[in]diff乗算する日時差
Returns
乗算結果

Definition at line 186 of file dcdatetimemul.f90.

187
190 use dc_scaledsec, only: dc_scaled_sec, &
191 & operator(<), operator(>), operator(<=), operator(>=), &
192 & operator(+), operator(-), operator(*), operator(/), &
193 & modulo, int, abs, sign
194 use dc_types, only: dp
195 implicit none
196 type(DC_DIFFTIME):: result
197 real(DP), intent(in):: factor
198 type(DC_DIFFTIME), intent(in):: diff
199 type(DC_SCALED_SEC):: month, day
200continue
201 month = factor * diff % mon
202 result % mon = int(month)
203 day = factor * diff % day + int(cyclic_mdays * (month - result % mon))
204 result % day = int(day)
205 result % sec = &
206 & factor * diff % sec + (day - result % day) * diff % day_seconds
207 result % day_seconds = diff % day_seconds
208 result % nondim_flag = diff % nondim_flag
209 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)
日付・時刻に関する構造データ型と定数
real(dp), parameter, public cyclic_mdays
周期暦での1ヶ月の日数 (DC_DIFFTIME の月換算にも使用)
精密な時間演算のための秒スケールモジュール
種別型パラメタを提供します。
Definition dc_types.f90:55
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:92

References dc_date_types::cyclic_mdays, dc_date_internal::dcdate_normalize(), and dc_types::dp.

Here is the call graph for this function:

◆ dcdatetime_mul_fd()

type(dc_difftime) function dcdatetime_mul_fd ( type(dc_difftime), intent(in) diff,
real(dp), intent(in) factor )

DC_DIFFTIME と倍精度実数の乗算

日時差 difffactor とを乗算した結果を返します.

Note
月差を非整数倍すると近似的結果になるおそれがあります
Parameters
[in]diff乗算する日時差
[in]factor倍精度実数の乗数
Returns
乗算結果

Definition at line 235 of file dcdatetimemul.f90.

236
237 use dc_date_generic, only: operator(*)
239 use dc_types, only: dp
240 implicit none
241 type(DC_DIFFTIME):: result
242 type(DC_DIFFTIME), intent(in):: diff
243 real(DP), intent(in):: factor
244continue
245 result = factor * diff
dc_date より提供される手続の引用仕様宣言

References dc_types::dp.

◆ dcdatetime_mul_fi()

type(dc_difftime) function dcdatetime_mul_fi ( type(dc_difftime), intent(in) diff,
integer, intent(in) factor )

DC_DIFFTIME と整数の乗算

日時差 difffactor とを乗算した結果を返します.

Parameters
[in]diff乗算する日時差
[in]factor整数の乗数
Returns
乗算結果

Definition at line 80 of file dcdatetimemul.f90.

81
82 use dc_date_generic, only: operator(*)
84 implicit none
85 type(DC_DIFFTIME):: result
86 type(DC_DIFFTIME), intent(in):: diff
87 integer, intent(in):: factor
88continue
89 result = factor * diff

◆ dcdatetime_mul_fr()

type(dc_difftime) function dcdatetime_mul_fr ( type(dc_difftime), intent(in) diff,
real, intent(in) factor )

DC_DIFFTIME と単精度実数の乗算

日時差 difffactor とを乗算した結果を返します.

Note
月差を非整数倍すると近似的結果になるおそれがあります
Parameters
[in]diff乗算する日時差
[in]factor単精度実数の乗数
Returns
乗算結果

Definition at line 151 of file dcdatetimemul.f90.

152
153 use dc_date_generic, only: operator(*)
155 implicit none
156 type(DC_DIFFTIME):: result
157 type(DC_DIFFTIME), intent(in):: diff
158 real, intent(in):: factor
159continue
160 result = factor * diff

◆ dcdatetime_mul_if()

type(dc_difftime) function dcdatetime_mul_if ( integer, intent(in) factor,
type(dc_difftime), intent(in) diff )

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

Author
Yasuhiro MORIKAWA, Eizi TOYODA

このファイルには dc_date_types#DC_DIFFTIME の乗算の実装手続きが 含まれています。

整数と DC_DIFFTIME の乗算

日時差 difffactor とを乗算した結果を返します.

Parameters
[in]factor整数の乗数
[in]diff乗算する日時差
Returns
乗算結果

Definition at line 43 of file dcdatetimemul.f90.

44
47 use dc_scaledsec, only: operator(*)
48 implicit none
49 type(DC_DIFFTIME):: result
50 integer, intent(in):: factor
51 type(DC_DIFFTIME), intent(in):: diff
52continue
53 result % mon = factor * diff % mon
54 result % day = factor * diff % day
55 result % sec = factor * diff % sec
56 result % day_seconds = diff % day_seconds
57 result % nondim_flag = diff % nondim_flag
58 call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)

References dc_date_internal::dcdate_normalize().

Here is the call graph for this function:

◆ dcdatetime_mul_rf()

type(dc_difftime) function dcdatetime_mul_rf ( real, intent(in) factor,
type(dc_difftime), intent(in) diff )

単精度実数と DC_DIFFTIME の乗算

日時差 difffactor とを乗算した結果を返します.

Note
月差を非整数倍すると近似的結果になるおそれがあります
Parameters
[in]factor単精度実数の乗数
[in]diff乗算する日時差
Returns
乗算結果

Definition at line 115 of file dcdatetimemul.f90.

116
117 use dc_date_generic, only: operator(*)
119 use dc_types, only: dp
120 implicit none
121 type(DC_DIFFTIME):: result
122 real, intent(in):: factor
123 type(DC_DIFFTIME), intent(in):: diff
124continue
125 result = real(factor, dp) * diff

References dc_types::dp.