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)
59 TYPE(xt_idxlist),
INTENT(in) :: idxlists(*)
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
71 CHARACTER(len=*),
PARAMETER :: filename =
'xt_idxlist_collection_f.f90'
74 FUNCTION xt_idxlist_collection_new_a1d(idxlists)
RESULT(res)
75 TYPE(xt_idxlist),
INTENT(in) :: idxlists(:)
76 TYPE(xt_idxlist) :: res
77 INTEGER(c_int) :: num_idxlists_c
79 IF (
SIZE(idxlists) > huge(1_c_int)) &
82 num_idxlists_c = int(
SIZE(idxlists), c_int)
83 res =
xt_idxlist_c2f(xt_idxlist_collection_new_c(idxlists, num_idxlists_c))
84 END FUNCTION xt_idxlist_collection_new_a1d
86 FUNCTION xt_idxlist_collection_new_a2d(idxlists)
RESULT(res)
87 TYPE(xt_idxlist),
INTENT(in) :: idxlists(:,:)
88 TYPE(xt_idxlist) :: res
89 INTEGER(c_int) :: num_idxlists_c
91 IF (
SIZE(idxlists) > huge(1_c_int)) &
94 num_idxlists_c = int(
SIZE(idxlists), c_int)
95 res =
xt_idxlist_c2f(xt_idxlist_collection_new_c(idxlists, num_idxlists_c))
96 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)