35 use,
intrinsic :: iso_c_binding
41 kim_numbering_from_string, &
44 kim_numbering_string, &
49 type, bind(c) :: kim_numbering_type
50 integer(c_int) :: numbering_id
51 end type kim_numbering_type
53 type(kim_numbering_type),
protected, &
54 bind(c, name=
"KIM_NUMBERING_zeroBased") &
56 type(kim_numbering_type),
protected, &
57 bind(c, name=
"KIM_NUMBERING_oneBased") &
60 interface operator (.eq.)
61 logical function kim_numbering_equal(left, right)
62 use,
intrinsic :: iso_c_binding
63 import kim_numbering_type
65 type(kim_numbering_type),
intent(in) :: left
66 type(kim_numbering_type),
intent(in) :: right
67 end function kim_numbering_equal
68 end interface operator (.eq.)
70 interface operator (.ne.)
71 logical function kim_numbering_not_equal(left, right)
72 use,
intrinsic :: iso_c_binding
73 import kim_numbering_type
75 type(kim_numbering_type),
intent(in) :: left
76 type(kim_numbering_type),
intent(in) :: right
77 end function kim_numbering_not_equal
78 end interface operator (.ne.)
81 subroutine kim_numbering_from_string(string, numbering)
82 import kim_numbering_type
84 character(len=*),
intent(in) :: string
85 type(kim_numbering_type),
intent(out) :: numbering
86 end subroutine kim_numbering_from_string
88 subroutine kim_numbering_string(numbering, string)
89 import kim_numbering_type
91 type(kim_numbering_type),
intent(in),
value :: numbering
92 character(len=*),
intent(out) :: string
93 end subroutine kim_numbering_string
type(kim_numbering_type), public, protected kim_numbering_one_based
type(kim_numbering_type), public, protected kim_numbering_zero_based