Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
libmtime
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
icon-libraries
libmtime
Commits
d5b9afd6
Commit
d5b9afd6
authored
8 years ago
by
Florian Prill
Browse files
Options
Downloads
Patches
Plain Diff
implemented assignment operator for milliseconds.
parent
e77b15db
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
examples/example_hl.f90
+4
-0
4 additions, 0 deletions
examples/example_hl.f90
src/libmtime_hl.f90
+18
-1
18 additions, 1 deletion
src/libmtime_hl.f90
with
22 additions
and
1 deletion
examples/example_hl.f90
+
4
−
0
View file @
d5b9afd6
...
@@ -87,6 +87,10 @@ PROGRAM example
...
@@ -87,6 +87,10 @@ PROGRAM example
dt3
=
"1970-01-01T00:00:01"
dt3
=
"1970-01-01T00:00:01"
WRITE
(
0
,
*
)
dt
%
to_string
(),
" == "
,
dt3
%
to_string
(),
": "
,
(
dt
==
dt3
)
WRITE
(
0
,
*
)
dt
%
to_string
(),
" == "
,
dt3
%
to_string
(),
": "
,
(
dt
==
dt3
)
! interval assignment with milliseconds
td
=
360000
WRITE
(
0
,
*
)
"interval assignment with milliseconds: "
,
td
%
to_string
()
! ------------------------------------------------------------
! ------------------------------------------------------------
! EXAMPLE FOR ERROR HANDLING
! EXAMPLE FOR ERROR HANDLING
! ------------------------------------------------------------
! ------------------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
src/libmtime_hl.f90
+
18
−
1
View file @
d5b9afd6
...
@@ -18,6 +18,8 @@ module mtime_hl
...
@@ -18,6 +18,8 @@ module mtime_hl
public
::
t_datetime
,
t_timedelta
public
::
t_datetime
,
t_timedelta
INTEGER
,
PARAMETER
::
i8
=
SELECTED_INT_KIND
(
14
)
!< at least 8 byte integer
!> Wrapper class for "mtime" data type "datetime".
!> Wrapper class for "mtime" data type "datetime".
!
!
! Avoids, e.g., explicit use of POINTERs by the user.
! Avoids, e.g., explicit use of POINTERs by the user.
...
@@ -68,8 +70,9 @@ module mtime_hl
...
@@ -68,8 +70,9 @@ module mtime_hl
procedure
::
to_string
=>
t_timedelta_to_string
procedure
::
to_string
=>
t_timedelta_to_string
procedure
::
assign_string
=>
t_timedelta_assign_string
procedure
::
assign_string
=>
t_timedelta_assign_string
procedure
::
assign_ms
=>
t_timedelta_assign_ms
generic
::
assignment
(
=
)
=>
assign_string
GENERIC
::
ASSIGNMENT
(
=
)
=>
assign_string
,
assign_ms
end
type
t_timedelta
end
type
t_timedelta
...
@@ -183,6 +186,20 @@ contains
...
@@ -183,6 +186,20 @@ contains
call
deallocateTimedelta
(
td_tmp
)
call
deallocateTimedelta
(
td_tmp
)
end
subroutine
t_timedelta_assign_string
end
subroutine
t_timedelta_assign_string
! Assignment operator: this = milliseconds.
!
SUBROUTINE
t_timedelta_assign_ms
(
this
,
td_ms
)
CLASS
(
t_timedelta
),
INTENT
(
out
)
::
this
INTEGER
,
INTENT
(
in
)
::
td_ms
TYPE
(
timedelta
),
POINTER
::
td_tmp
CHARACTER
(
len
=
max_timedelta_str_len
)
::
td_string
CALL
getPTStringFromMS
(
INT
(
td_ms
,
i8
),
td_string
)
td_tmp
=>
newTimedelta
(
td_string
)
this
%
td
=
td_tmp
this
%
td
%
sign
=
td_tmp
%
sign
call
deallocateTimedelta
(
td_tmp
)
END
SUBROUTINE
t_timedelta_assign_ms
end
module
mtime_hl
end
module
mtime_hl
!>
!>
!! @}
!! @}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment