51 USE iso_c_binding
, ONLY: c_int, c_ptr
55 FUNCTION xt_idxlist_collection_new_c(idxlists, num_lists) &
56 bind(c, name=
'xt_idxlist_collection_new') result(res_ptr)
60 INTEGER(c_int),
VALUE,
INTENT(in) :: num_lists
61 TYPE(c_ptr) :: res_ptr
62 END FUNCTION xt_idxlist_collection_new_c
66 MODULE PROCEDURE xt_idxlist_collection_new_a1d
67 MODULE PROCEDURE xt_idxlist_collection_new_a2d
74 FUNCTION xt_idxlist_collection_new_a1d(idxlists)
RESULT(res)
77 INTEGER(c_int) :: num_idxlists_c
79 IF (
SIZE(idxlists) > huge(1_c_int)) &
83 num_idxlists_c = int(
SIZE(idxlists), c_int)
84 res =
xt_idxlist_c2f(xt_idxlist_collection_new_c(idxlists, num_idxlists_c))
85 END FUNCTION xt_idxlist_collection_new_a1d
87 FUNCTION xt_idxlist_collection_new_a2d(idxlists)
RESULT(res)
90 INTEGER(c_int) :: num_idxlists_c
92 IF (
SIZE(idxlists) > huge(1_c_int)) &
96 num_idxlists_c = int(
SIZE(idxlists), c_int)
97 res =
xt_idxlist_c2f(xt_idxlist_collection_new_c(idxlists, num_idxlists_c))
98 END FUNCTION xt_idxlist_collection_new_a2d
type(xt_idxlist) function, public xt_idxlist_c2f(idxlist)
Xt_idxlist xt_idxlist_collection_new(Xt_idxlist *idxlists, int num_idxlists)