35 use,
intrinsic :: iso_c_binding
41 kim_numbering_from_string, &
44 kim_numbering_string, &
49 kim_numbering_get_number_of_numberings, &
50 kim_numbering_get_numbering
53 type, bind(c) :: kim_numbering_type
54 integer(c_int) :: numbering_id
55 end type kim_numbering_type
57 type(kim_numbering_type),
protected, &
58 bind(c, name=
"KIM_NUMBERING_zeroBased") &
60 type(kim_numbering_type),
protected, &
61 bind(c, name=
"KIM_NUMBERING_oneBased") &
64 interface operator (.eq.)
65 logical function kim_numbering_equal(left, right)
66 use,
intrinsic :: iso_c_binding
67 import kim_numbering_type
69 type(kim_numbering_type),
intent(in) :: left
70 type(kim_numbering_type),
intent(in) :: right
71 end function kim_numbering_equal
72 end interface operator (.eq.)
74 interface operator (.ne.)
75 logical function kim_numbering_not_equal(left, right)
76 use,
intrinsic :: iso_c_binding
77 import kim_numbering_type
79 type(kim_numbering_type),
intent(in) :: left
80 type(kim_numbering_type),
intent(in) :: right
81 end function kim_numbering_not_equal
82 end interface operator (.ne.)
85 subroutine kim_numbering_from_string(string, numbering)
86 use,
intrinsic :: iso_c_binding
87 import kim_numbering_type
89 character(len=*, kind=c_char),
intent(in) :: string
90 type(kim_numbering_type),
intent(out) :: numbering
91 end subroutine kim_numbering_from_string
93 subroutine kim_numbering_string(numbering, string)
94 use,
intrinsic :: iso_c_binding
95 import kim_numbering_type
97 type(kim_numbering_type),
intent(in),
value :: numbering
98 character(len=*, kind=c_char),
intent(out) :: string
99 end subroutine kim_numbering_string
101 subroutine kim_numbering_get_number_of_numberings(number_of_numberings)
102 use,
intrinsic :: iso_c_binding
104 integer(c_int),
intent(out) :: number_of_numberings
105 end subroutine kim_numbering_get_number_of_numberings
107 subroutine kim_numbering_get_numbering(index, numbering, ierr)
108 use,
intrinsic :: iso_c_binding
109 import kim_numbering_type
111 integer(c_int),
intent(in),
value :: index
112 type(kim_numbering_type),
intent(out) :: numbering
113 integer(c_int),
intent(out) :: ierr
114 end subroutine kim_numbering_get_numbering
type(kim_numbering_type), public, protected kim_numbering_one_based
type(kim_numbering_type), public, protected kim_numbering_zero_based