35 use,
intrinsic :: iso_c_binding
41 kim_time_unit_from_string, &
44 kim_time_unit_string, &
52 type, bind(c) :: kim_time_unit_type
53 integer(c_int) time_unit_id
54 end type kim_time_unit_type
56 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_unused") &
58 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_fs") &
60 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_ps") &
62 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_ns") &
64 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_s") &
67 interface operator (.eq.)
68 logical function kim_time_unit_equal(left, right)
69 use,
intrinsic :: iso_c_binding
70 import kim_time_unit_type
72 type(kim_time_unit_type),
intent(in) :: left
73 type(kim_time_unit_type),
intent(in) :: right
74 end function kim_time_unit_equal
75 end interface operator (.eq.)
77 interface operator (.ne.)
78 logical function kim_time_unit_not_equal(left, right)
79 use,
intrinsic :: iso_c_binding
80 import kim_time_unit_type
82 type(kim_time_unit_type),
intent(in) :: left
83 type(kim_time_unit_type),
intent(in) :: right
84 end function kim_time_unit_not_equal
85 end interface operator (.ne.)
88 subroutine kim_time_unit_from_string(string, time_unit)
89 import kim_time_unit_type
91 character(len=*),
intent(in) :: string
92 type(kim_time_unit_type),
intent(out) :: time_unit
93 end subroutine kim_time_unit_from_string
95 subroutine kim_time_unit_string(time_unit, string)
96 import kim_time_unit_type
98 type(kim_time_unit_type),
intent(in),
value :: time_unit
99 character(len=*),
intent(out) :: string
100 end subroutine kim_time_unit_string
type(kim_time_unit_type), public, protected kim_time_unit_ps
type(kim_time_unit_type), public, protected kim_time_unit_unused
type(kim_time_unit_type), public, protected kim_time_unit_fs
type(kim_time_unit_type), public, protected kim_time_unit_s
type(kim_time_unit_type), public, protected kim_time_unit_ns