Corrected module load for util_cbind module

merge-paraggr-newops
Cirdans-Home 5 years ago
parent 166bd219ef
commit 9870e5d371

@ -1,6 +1,6 @@
TOP=../.. TOP=../..
include $(TOP)/Make.inc include $(TOP)/Make.inc
LIBDIR=$(TOP)lib LIBDIR=$(TOP)/lib
INCLUDEDIR=$(TOP)/include INCLUDEDIR=$(TOP)/include
MODDIR=$(TOP)/modules MODDIR=$(TOP)/modules
HERE=.. HERE=..
@ -8,30 +8,23 @@ HERE=..
FINCLUDES=$(FMFLAG). $(FMFLAG)$(HERE) $(FMFLAG)$(MODDIR) FINCLUDES=$(FMFLAG). $(FMFLAG)$(HERE) $(FMFLAG)$(MODDIR)
CINCLUDES=-I. -I$(HERE) -I$(INCLUDEDIR) CINCLUDES=-I. -I$(HERE) -I$(INCLUDEDIR)
FOBJS= psb_c_util_cbind_mod.o \ OBJS=psb_util_cbind_mod.o \
psb_d_util_cbind_mod.o \ psb_c_util_cbind_mod.o \
psb_s_util_cbind_mod.o \ psb_d_util_cbind_mod.o \
psb_z_util_cbind_mod.o psb_s_util_cbind_mod.o \
psb_z_util_cbind_mod.o
CMOD=psb_util_cbind.h psb_c_cutil.h psb_c_zutil.h psb_c_dutil.h psb_c_sutil.h
# COBJS= psb_c_sutil.o psb_c_dutil.o psb_c_cutil.o psb_c_zutil.o LIBNAME=$(CUTILLIBNAME)
CMOD= psb_util_cbind.h psb_c_cutil.h psb_c_zutil.h psb_c_dutil.h psb_c_sutil.h
OBJS=$(FOBJS) $(COBJS)
LIBNAME=$(CBINDLIBNAME)
lib: $(OBJS) $(CMOD) lib: $(OBJS) $(CMOD)
$(AR) $(HERE)/$(LIBNAME) $(OBJS) $(AR) $(HERE)/$(LIBNAME) $(OBJS)
$(RANLIB) $(HERE)/$(LIBNAME) $(RANLIB) $(HERE)/$(LIBNAME)
/bin/cp -p $(HERE)/$(LIBNAME) $(LIBDIR)
/bin/cp -p *$(.mod) $(CMOD) $(HERE) /bin/cp -p *$(.mod) $(CMOD) $(HERE)
# $(COBJS): $(CMOD) psb_util_cbind_mod.o: psb_c_util_cbind_mod.o psb_d_util_cbind_mod.o psb_s_util_cbind_mod.o psb_z_util_cbind_mod.o
psb_util_cbind_mod.o: psb_c_util_cbind_mod.o \
psb_d_util_cbind_mod.o \
psb_s_util_cbind_mod.o \
psb_z_util_cbind_mod.o
veryclean: clean veryclean: clean
/bin/rm -f $(HERE)/$(LIBNAME) /bin/rm -f $(HERE)/$(LIBNAME)

@ -1,59 +1,31 @@
! module psb_cutil_cbind_mod
! Parallel Sparse BLAS version 3.5
! (C) Copyright 2006-2018
! Salvatore Filippone
! Alfredo Buttari
!
! Redistribution and use in source and binary forms, with or without
! modification, are permitted provided that the following conditions
! are met:
! 1. Redistributions of source code must retain the above copyright
! notice, this list of conditions and the following disclaimer.
! 2. Redistributions in binary form must reproduce the above copyright
! notice, this list of conditions, and the following disclaimer in the
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS
! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! POSSIBILITY OF SUCH DAMAGE.
!
!
module psb_c_util_cbind_mod
use iso_c_binding use iso_c_binding
use psb_base_mod
use psb_util_mod use psb_util_mod
use psb_base_mod
use psb_objhandle_mod use psb_objhandle_mod
use psb_base_string_cbind_mod use psb_base_string_cbind_mod
contains contains
function psb_c_cmm_mat_write(ah,matrixtitle,filename) bind(c) result(res) function psb_c_cmm_mat_write(ah,matrixtitle,filename) bind(c) result(res)
use psb_base_mod
use psb_util_mod
use psb_base_string_cbind_mod
implicit none implicit none
real(c_float_complex) :: res integer(psb_c_ipk_) :: res
type(psb_c_cspmat) :: ah type(psb_c_cspmat) :: ah
character(c_char) :: matrixtitle(*) character(c_char) :: matrixtitle(*)
character(c_char) :: filename(*) character(c_char) :: filename(*)
type(psb_cspmat_type), pointer :: ap type(psb_cspmat_type), pointer :: ap
character(1024) :: mtitle character(len=1024) :: mtitle
character(1024) :: fname character(len=1024) :: fname
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: info
res = -1.0 res = -1
if (c_associated(ah%item)) then if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap) call c_f_pointer(ah%item,ap)
else else
@ -69,4 +41,4 @@ contains
end function psb_c_cmm_mat_write end function psb_c_cmm_mat_write
end module end module psb_cutil_cbind_mod

@ -1,59 +1,31 @@
! module psb_dutil_cbind_mod
! Parallel Sparse BLAS version 3.5
! (C) Copyright 2006-2018
! Salvatore Filippone
! Alfredo Buttari
!
! Redistribution and use in source and binary forms, with or without
! modification, are permitted provided that the following conditions
! are met:
! 1. Redistributions of source code must retain the above copyright
! notice, this list of conditions and the following disclaimer.
! 2. Redistributions in binary form must reproduce the above copyright
! notice, this list of conditions, and the following disclaimer in the
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS
! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! POSSIBILITY OF SUCH DAMAGE.
!
!
module psb_d_util_cbind_mod
use iso_c_binding use iso_c_binding
use psb_base_mod
use psb_util_mod use psb_util_mod
use psb_base_mod
use psb_objhandle_mod use psb_objhandle_mod
use psb_base_string_cbind_mod use psb_base_string_cbind_mod
contains contains
function psb_c_dmm_mat_write(ah,matrixtitle,filename) bind(c) result(res) function psb_c_dmm_mat_write(ah,matrixtitle,filename) bind(c) result(res)
use psb_base_mod
use psb_util_mod
use psb_base_string_cbind_mod
implicit none implicit none
real(c_double) :: res integer(psb_c_ipk_) :: res
type(psb_c_dspmat) :: ah type(psb_c_dspmat) :: ah
character(c_char) :: matrixtitle(*) character(c_char) :: matrixtitle(*)
character(c_char) :: filename(*) character(c_char) :: filename(*)
type(psb_dspmat_type), pointer :: ap type(psb_dspmat_type), pointer :: ap
character(1024) :: mtitle character(len=1024) :: mtitle
character(1024) :: fname character(len=1024) :: fname
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: info
res = -1.0 res = -1
if (c_associated(ah%item)) then if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap) call c_f_pointer(ah%item,ap)
else else
@ -69,4 +41,4 @@ contains
end function psb_c_dmm_mat_write end function psb_c_dmm_mat_write
end module end module psb_dutil_cbind_mod

@ -1,59 +1,31 @@
! module psb_sutil_cbind_mod
! Parallel Sparse BLAS version 3.5
! (C) Copyright 2006-2018
! Salvatore Filippone
! Alfredo Buttari
!
! Redistribution and use in source and binary forms, with or without
! modification, are permitted provided that the following conditions
! are met:
! 1. Redistributions of source code must retain the above copyright
! notice, this list of conditions and the following disclaimer.
! 2. Redistributions in binary form must reproduce the above copyright
! notice, this list of conditions, and the following disclaimer in the
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS
! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! POSSIBILITY OF SUCH DAMAGE.
!
!
module psb_s_util_cbind_mod
use iso_c_binding use iso_c_binding
use psb_base_mod
use psb_util_mod use psb_util_mod
use psb_base_mod
use psb_objhandle_mod use psb_objhandle_mod
use psb_base_string_cbind_mod use psb_base_string_cbind_mod
contains contains
function psb_c_smm_mat_write(ah,matrixtitle,filename) bind(c) result(res) function psb_c_smm_mat_write(ah,matrixtitle,filename) bind(c) result(res)
use psb_base_mod
use psb_util_mod
use psb_base_string_cbind_mod
implicit none implicit none
real(c_float) :: res integer(psb_c_ipk_) :: res
type(psb_c_sspmat) :: ah type(psb_c_sspmat) :: ah
character(c_char) :: matrixtitle(*) character(c_char) :: matrixtitle(*)
character(c_char) :: filename(*) character(c_char) :: filename(*)
type(psb_sspmat_type), pointer :: ap type(psb_sspmat_type), pointer :: ap
character(1024) :: mtitle character(len=1024) :: mtitle
character(1024) :: fname character(len=1024) :: fname
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: info
res = -1.0 res = -1
if (c_associated(ah%item)) then if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap) call c_f_pointer(ah%item,ap)
else else
@ -69,4 +41,4 @@ contains
end function psb_c_smm_mat_write end function psb_c_smm_mat_write
end module end module psb_sutil_cbind_mod

@ -0,0 +1,6 @@
module psb_base_util_cbind_mod
use psb_cutil_cbind_mod
use psb_dutil_cbind_mod
use psb_sutil_cbind_mod
use psb_zutil_cbind_mod
end module psb_base_util_cbind_mod

@ -1,59 +1,31 @@
! module psb_zutil_cbind_mod
! Parallel Sparse BLAS version 3.5
! (C) Copyright 2006-2018
! Salvatore Filippone
! Alfredo Buttari
!
! Redistribution and use in source and binary forms, with or without
! modification, are permitted provided that the following conditions
! are met:
! 1. Redistributions of source code must retain the above copyright
! notice, this list of conditions and the following disclaimer.
! 2. Redistributions in binary form must reproduce the above copyright
! notice, this list of conditions, and the following disclaimer in the
! documentation and/or other materials provided with the distribution.
! 3. The name of the PSBLAS group or the names of its contributors may
! not be used to endorse or promote products derived from this
! software without specific written permission.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PSBLAS GROUP OR ITS CONTRIBUTORS
! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! POSSIBILITY OF SUCH DAMAGE.
!
!
module psb_z_util_cbind_mod
use iso_c_binding use iso_c_binding
use psb_base_mod
use psb_util_mod use psb_util_mod
use psb_base_mod
use psb_objhandle_mod use psb_objhandle_mod
use psb_base_string_cbind_mod use psb_base_string_cbind_mod
contains contains
function psb_c_zmm_mat_write(ah,matrixtitle,filename) bind(c) result(res) function psb_c_zmm_mat_write(ah,matrixtitle,filename) bind(c) result(res)
use psb_base_mod
use psb_util_mod
use psb_base_string_cbind_mod
implicit none implicit none
real(c_double_complex) :: res integer(psb_c_ipk_) :: res
type(psb_c_zspmat) :: ah type(psb_c_zspmat) :: ah
character(c_char) :: matrixtitle(*) character(c_char) :: matrixtitle(*)
character(c_char) :: filename(*) character(c_char) :: filename(*)
type(psb_zspmat_type), pointer :: ap type(psb_zspmat_type), pointer :: ap
character(1024) :: mtitle character(len=1024) :: mtitle
character(1024) :: fname character(len=1024) :: fname
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: info
res = -1.0 res = -1
if (c_associated(ah%item)) then if (c_associated(ah%item)) then
call c_f_pointer(ah%item,ap) call c_f_pointer(ah%item,ap)
else else
@ -69,4 +41,4 @@ contains
end function psb_c_zmm_mat_write end function psb_c_zmm_mat_write
end module end module psb_zutil_cbind_mod

Loading…
Cancel
Save