35 use,
intrinsic :: iso_c_binding
40 kim_charge_unit_type, &
41 kim_charge_unit_from_string, &
44 kim_charge_unit_string, &
51 type, bind(c) :: kim_charge_unit_type
52 integer(c_int) charge_unit_id
53 end type kim_charge_unit_type
55 type(kim_charge_unit_type),
protected, &
56 bind(c, name=
"KIM_CHARGE_UNIT_unused") &
58 type(kim_charge_unit_type),
protected, &
59 bind(c, name=
"KIM_CHARGE_UNIT_c") &
61 type(kim_charge_unit_type),
protected, &
62 bind(c, name=
"KIM_CHARGE_UNIT_e") &
64 type(kim_charge_unit_type),
protected, &
65 bind(c, name=
"KIM_CHARGE_UNIT_statC") &
68 interface operator (.eq.)
69 logical function kim_charge_unit_equal(left, right)
70 use,
intrinsic :: iso_c_binding
71 import kim_charge_unit_type
73 type(kim_charge_unit_type),
intent(in) :: left
74 type(kim_charge_unit_type),
intent(in) :: right
75 end function kim_charge_unit_equal
76 end interface operator (.eq.)
78 interface operator (.ne.)
79 logical function kim_charge_unit_not_equal(left, right)
80 use,
intrinsic :: iso_c_binding
81 import kim_charge_unit_type
83 type(kim_charge_unit_type),
intent(in) :: left
84 type(kim_charge_unit_type),
intent(in) :: right
85 end function kim_charge_unit_not_equal
86 end interface operator (.ne.)
89 subroutine kim_charge_unit_from_string(string, charge_unit)
90 import kim_charge_unit_type
92 character(len=*),
intent(in) :: string
93 type(kim_charge_unit_type),
intent(out) :: charge_unit
94 end subroutine kim_charge_unit_from_string
96 subroutine kim_charge_unit_string(charge_unit, string)
97 import kim_charge_unit_type
99 type(kim_charge_unit_type),
intent(in),
value :: charge_unit
100 character(len=*),
intent(out) :: string
101 end subroutine kim_charge_unit_string
type(kim_charge_unit_type), public, protected kim_charge_unit_statc
type(kim_charge_unit_type), public, protected kim_charge_unit_c
type(kim_charge_unit_type), public, protected kim_charge_unit_unused
type(kim_charge_unit_type), public, protected kim_charge_unit_e