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 
)

Definition at line 69 of file dcdatetimemul.f90.

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

69  !
70  ! ※ 注意 : 月差を非整数倍すると近似的結果になるおそれがあります
73  use dc_scaledsec, only: dc_scaled_sec, &
74  & operator(<), operator(>), operator(<=), operator(>=), &
75  & operator(+), operator(-), operator(*), operator(/), &
76  & modulo, int, abs, sign
77  use dc_types, only: dp
78  implicit none
79  type(dc_difftime):: result
80  real(DP), intent(in):: factor
81  type(dc_difftime), intent(in):: diff
82  type(dc_scaled_sec):: month, day
83  continue
84  month = factor * diff % mon
85  result % mon = int(month)
86  day = factor * diff % day + int(cyclic_mdays * (month - result % mon))
87  result % day = int(day)
88  result % sec = &
89  & factor * diff % sec + (day - result % day) * diff % day_seconds
90  result % day_seconds = diff % day_seconds
91  result % nondim_flag = diff % nondim_flag
92  call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
real(dp), parameter, public cyclic_mdays
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
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 
)

Definition at line 96 of file dcdatetimemul.f90.

References dc_types::dp.

96  !
97  ! ※ 注意 : 月差を非整数倍すると近似的結果になるおそれがあります
98  use dc_date_generic, only: operator(*)
100  use dc_types, only: dp
101  implicit none
102  type(dc_difftime):: result
103  type(dc_difftime), intent(in):: diff
104  real(DP), intent(in):: factor
105  continue
106  result = factor * diff
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49

◆ dcdatetime_mul_fi()

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

Definition at line 31 of file dcdatetimemul.f90.

31  use dc_date_generic, only: operator(*)
33  implicit none
34  type(dc_difftime):: result
35  type(dc_difftime), intent(in):: diff
36  integer, intent(in):: factor
37  continue
38  result = factor * diff

◆ dcdatetime_mul_fr()

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

Definition at line 56 of file dcdatetimemul.f90.

56  !
57  ! ※ 注意 : 月差を非整数倍すると近似的結果になるおそれがあります
58  use dc_date_generic, only: operator(*)
60  implicit none
61  type(dc_difftime):: result
62  type(dc_difftime), intent(in):: diff
63  real, intent(in):: factor
64  continue
65  result = factor * diff

◆ dcdatetime_mul_if()

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

Definition at line 11 of file dcdatetimemul.f90.

References dc_date_internal::dcdate_normalize().

11  !
12  ! 日時差 *diff* と *facter* とを乗算した結果を返します.
13  !
16  use dc_scaledsec, only: operator(*)
17  implicit none
18  type(dc_difftime):: result
19  integer, intent(in):: factor
20  type(dc_difftime), intent(in):: diff
21  continue
22  result % mon = factor * diff % mon
23  result % day = factor * diff % day
24  result % sec = factor * diff % sec
25  result % day_seconds = diff % day_seconds
26  result % nondim_flag = diff % nondim_flag
27  call dcdate_normalize(result % day, result % sec, result % day_seconds, result % nondim_flag)
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
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 
)

Definition at line 42 of file dcdatetimemul.f90.

References dc_types::dp.

42  !
43  ! ※ 注意 : 月差を非整数倍すると近似的結果になるおそれがあります
44  use dc_date_generic, only: operator(*)
46  use dc_types, only: dp
47  implicit none
48  type(dc_difftime):: result
49  real, intent(in):: factor
50  type(dc_difftime), intent(in):: diff
51  continue
52  result = real(factor, DP) * diff
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49