Loading...
Searching...
No Matches
Functions/Subroutines
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 68 of file dcdatetimemul.f90.

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)
subroutine, public dcdate_normalize(day, sec, day_seconds, nondim_flag)
real(dp), parameter, public cyclic_mdays
種別型パラメタを提供します。
Definition dc_types.f90:49
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:83

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 
)

Definition at line 95 of file dcdatetimemul.f90.

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

References dc_types::dp.

◆ dcdatetime_mul_fi()

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

Definition at line 30 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 55 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 10 of file dcdatetimemul.f90.

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)

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 
)

Definition at line 41 of file dcdatetimemul.f90.

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

References dc_types::dp.