35 use,
intrinsic :: iso_c_binding
41 kim_time_unit_from_string, &
44 kim_time_unit_string, &
52 kim_time_unit_get_number_of_time_units, &
53 kim_time_unit_get_time_unit
56 type, bind(c) :: kim_time_unit_type
57 integer(c_int) time_unit_id
58 end type kim_time_unit_type
60 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_unused") &
62 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_fs") &
64 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_ps") &
66 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_ns") &
68 type(kim_time_unit_type),
protected, bind(c, name=
"KIM_TIME_UNIT_s") &
71 interface operator (.eq.)
72 logical function kim_time_unit_equal(left, right)
73 use,
intrinsic :: iso_c_binding
74 import kim_time_unit_type
76 type(kim_time_unit_type),
intent(in) :: left
77 type(kim_time_unit_type),
intent(in) :: right
78 end function kim_time_unit_equal
79 end interface operator (.eq.)
81 interface operator (.ne.)
82 logical function kim_time_unit_not_equal(left, right)
83 use,
intrinsic :: iso_c_binding
84 import kim_time_unit_type
86 type(kim_time_unit_type),
intent(in) :: left
87 type(kim_time_unit_type),
intent(in) :: right
88 end function kim_time_unit_not_equal
89 end interface operator (.ne.)
92 subroutine kim_time_unit_from_string(string, time_unit)
93 use,
intrinsic :: iso_c_binding
94 import kim_time_unit_type
96 character(len=*, kind=c_char),
intent(in) :: string
97 type(kim_time_unit_type),
intent(out) :: time_unit
98 end subroutine kim_time_unit_from_string
100 subroutine kim_time_unit_string(time_unit, string)
101 use,
intrinsic :: iso_c_binding
102 import kim_time_unit_type
104 type(kim_time_unit_type),
intent(in),
value :: time_unit
105 character(len=*, kind=c_char),
intent(out) :: string
106 end subroutine kim_time_unit_string
108 subroutine kim_time_unit_get_number_of_time_units(number_of_time_units)
109 use,
intrinsic :: iso_c_binding
111 integer(c_int),
intent(out) :: number_of_time_units
112 end subroutine kim_time_unit_get_number_of_time_units
114 subroutine kim_time_unit_get_time_unit(index, time_unit, ierr)
115 use,
intrinsic :: iso_c_binding
116 import kim_time_unit_type
118 integer(c_int),
intent(in),
value :: index
119 type(kim_time_unit_type),
intent(out) :: time_unit
120 integer(c_int),
intent(out) :: ierr
121 end subroutine kim_time_unit_get_time_unit
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