Added C interface for util/idx2ijk

pizdaint-runs
Cirdans-Home 5 years ago
parent 47a1ec95de
commit 9d34f465a9

@ -6,5 +6,6 @@
#include "psb_c_cutil.h" #include "psb_c_cutil.h"
#include "psb_c_zutil.h" #include "psb_c_zutil.h"
psb_i_t psb_c_idx2ijk(psb_i_t *i, psb_i_t *j, psb_i_t idx, psb_i_t nx, psb_i_t ny, psb_i_t base );
#endif #endif

@ -1,6 +1,30 @@
module psb_base_util_cbind_mod module psb_base_util_cbind_mod
use iso_c_binding
use psb_cutil_cbind_mod use psb_cutil_cbind_mod
use psb_dutil_cbind_mod use psb_dutil_cbind_mod
use psb_sutil_cbind_mod use psb_sutil_cbind_mod
use psb_zutil_cbind_mod use psb_zutil_cbind_mod
contains
! Routines for managing indexes are type independent
! so we have them defined only in the common module
! for all the types
function psb_c_idx2ijk(i,j,idx,nx,ny,base) bind(c) result(res)
use psb_base_mod, only : psb_ipk_, psb_lpk_, psb_mpk_, psb_epk_
implicit none
integer(psb_c_ipk_) :: res
integer(psb_c_ipk_), value :: idx,nx,ny,base
integer(psb_c_ipk_) :: i,j
res = -1
call idx2ijk(i,j,idx,nx,ny,base=base)
res = 0
end function psb_c_idx2ijk
end module psb_base_util_cbind_mod end module psb_base_util_cbind_mod

Loading…
Cancel
Save