Corrected c interface of psb_mask for logic output

merge-paraggr-newops
Cirdans-Home 5 years ago
parent 03cd6de764
commit 6e28cc2b44

@ -77,7 +77,7 @@ psb_i_t psb_c_dgecmp(psb_c_dvector *xh,psb_d_t ch,psb_c_dvector *zh,psb_c_descri
psb_i_t psb_c_dgeaddconst(psb_c_dvector *xh,psb_d_t bh,psb_c_dvector *zh,psb_c_descriptor *cdh); psb_i_t psb_c_dgeaddconst(psb_c_dvector *xh,psb_d_t bh,psb_c_dvector *zh,psb_c_descriptor *cdh);
psb_d_t psb_c_dgenrm2_weight(psb_c_dvector *xh,psb_c_dvector *wh,psb_c_descriptor *cdh); psb_d_t psb_c_dgenrm2_weight(psb_c_dvector *xh,psb_c_dvector *wh,psb_c_descriptor *cdh);
psb_d_t psb_c_dgenrm2_weightmask(psb_c_dvector *xh,psb_c_dvector *wh,psb_c_dvector *idvh,psb_c_descriptor *cdh); psb_d_t psb_c_dgenrm2_weightmask(psb_c_dvector *xh,psb_c_dvector *wh,psb_c_dvector *idvh,psb_c_descriptor *cdh);
psb_i_t psb_c_dmask(psb_c_dvector *ch,psb_c_dvector *xh,psb_c_dvector *mh, bool t, psb_c_descriptor *cdh); psb_i_t psb_c_dmask(psb_c_dvector *ch,psb_c_dvector *xh,psb_c_dvector *mh, void *t, psb_c_descriptor *cdh);
psb_d_t psb_c_dgemin(psb_c_dvector *xh,psb_c_descriptor *cdh); psb_d_t psb_c_dgemin(psb_c_dvector *xh,psb_c_descriptor *cdh);
psb_d_t psb_c_dminquotient(psb_c_dvector *xh,psb_c_dvector *yh, psb_c_descriptor *cdh); psb_d_t psb_c_dminquotient(psb_c_dvector *xh,psb_c_dvector *yh, psb_c_descriptor *cdh);

@ -77,7 +77,7 @@ psb_i_t psb_c_sgecmp(psb_c_svector *xh,psb_s_t ch,psb_c_svector *zh,psb_c_descri
psb_i_t psb_c_sgeaddconst(psb_c_svector *xh,psb_s_t bh,psb_c_svector *zh,psb_c_descriptor *cdh); psb_i_t psb_c_sgeaddconst(psb_c_svector *xh,psb_s_t bh,psb_c_svector *zh,psb_c_descriptor *cdh);
psb_s_t psb_c_sgenrm2_weight(psb_c_svector *xh,psb_c_svector *wh,psb_c_descriptor *cdh); psb_s_t psb_c_sgenrm2_weight(psb_c_svector *xh,psb_c_svector *wh,psb_c_descriptor *cdh);
psb_s_t psb_c_sgenrm2_weightmask(psb_c_svector *xh,psb_c_svector *wh,psb_c_svector *idvh,psb_c_descriptor *cdh); psb_s_t psb_c_sgenrm2_weightmask(psb_c_svector *xh,psb_c_svector *wh,psb_c_svector *idvh,psb_c_descriptor *cdh);
psb_i_t psb_c_smask(psb_c_svector *ch,psb_c_svector *xh,psb_c_svector *mh, bool t, psb_c_descriptor *cdh); psb_i_t psb_c_smask(psb_c_svector *ch,psb_c_svector *xh,psb_c_svector *mh, void *t, psb_c_descriptor *cdh);
psb_s_t psb_c_sgemin(psb_c_svector *xh,psb_c_descriptor *cdh); psb_s_t psb_c_sgemin(psb_c_svector *xh,psb_c_descriptor *cdh);
#ifdef __cplusplus #ifdef __cplusplus

@ -505,12 +505,12 @@ contains
type(psb_c_dvector) :: ch,xh,mh type(psb_c_dvector) :: ch,xh,mh
type(psb_c_descriptor) :: cdh type(psb_c_descriptor) :: cdh
logical(c_bool), value :: t type(c_ptr), value :: t
type(psb_desc_type), pointer :: descp type(psb_desc_type), pointer :: descp
type(psb_d_vect_type), pointer :: cp,xp,mp type(psb_d_vect_type), pointer :: cp,xp,mp
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: info
logical :: ft logical, pointer :: fp
res = -1 res = -1
@ -534,11 +534,10 @@ contains
else else
return return
end if end if
call c_f_pointer(t,fp)
ft = t call psb_mask(cp,xp,mp,fp,descp,info)
call psb_mask(cp,xp,mp,ft,descp,info)
t = ft
res = info res = info
end function psb_c_dmask end function psb_c_dmask

@ -505,12 +505,12 @@ contains
type(psb_c_svector) :: ch,xh,mh type(psb_c_svector) :: ch,xh,mh
type(psb_c_descriptor) :: cdh type(psb_c_descriptor) :: cdh
logical(c_bool), value :: t type(c_ptr), value :: t
type(psb_desc_type), pointer :: descp type(psb_desc_type), pointer :: descp
type(psb_s_vect_type), pointer :: cp,xp,mp type(psb_s_vect_type), pointer :: cp,xp,mp
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: info
logical :: ft logical, pointer :: fp
res = -1 res = -1
@ -534,11 +534,10 @@ contains
else else
return return
end if end if
call c_f_pointer(t,fp)
ft = t call psb_mask(cp,xp,mp,fp,descp,info)
call psb_mask(cp,xp,mp,ft,descp,info)
t = ft
res = info res = info
end function psb_c_smask end function psb_c_smask

Loading…
Cancel
Save