diff --git a/cbind/util/Makefile b/cbind/util/Makefile index f7980977..d37cb680 100644 --- a/cbind/util/Makefile +++ b/cbind/util/Makefile @@ -1,6 +1,6 @@ TOP=../.. include $(TOP)/Make.inc -LIBDIR=$(TOP)lib +LIBDIR=$(TOP)/lib INCLUDEDIR=$(TOP)/include MODDIR=$(TOP)/modules HERE=.. @@ -8,30 +8,23 @@ HERE=.. FINCLUDES=$(FMFLAG). $(FMFLAG)$(HERE) $(FMFLAG)$(MODDIR) CINCLUDES=-I. -I$(HERE) -I$(INCLUDEDIR) -FOBJS= psb_c_util_cbind_mod.o \ - psb_d_util_cbind_mod.o \ - psb_s_util_cbind_mod.o \ - psb_z_util_cbind_mod.o +OBJS=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 +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 -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) +LIBNAME=$(CUTILLIBNAME) lib: $(OBJS) $(CMOD) $(AR) $(HERE)/$(LIBNAME) $(OBJS) $(RANLIB) $(HERE)/$(LIBNAME) - /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 + /bin/cp -p $(HERE)/$(LIBNAME) $(LIBDIR) + /bin/cp -p *$(.mod) $(CMOD) $(HERE) +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 /bin/rm -f $(HERE)/$(LIBNAME) diff --git a/cbind/util/psb_c_util_cbind_mod.f90 b/cbind/util/psb_c_util_cbind_mod.f90 index 4b67b523..3761cd08 100644 --- a/cbind/util/psb_c_util_cbind_mod.f90 +++ b/cbind/util/psb_c_util_cbind_mod.f90 @@ -1,59 +1,31 @@ -! -! 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_cutil_cbind_mod -module psb_c_util_cbind_mod use iso_c_binding - use psb_base_mod use psb_util_mod + use psb_base_mod use psb_objhandle_mod use psb_base_string_cbind_mod contains 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 - real(c_float_complex) :: res + integer(psb_c_ipk_) :: res type(psb_c_cspmat) :: ah character(c_char) :: matrixtitle(*) character(c_char) :: filename(*) type(psb_cspmat_type), pointer :: ap - character(1024) :: mtitle - character(1024) :: fname + character(len=1024) :: mtitle + character(len=1024) :: fname integer(psb_c_ipk_) :: info - res = -1.0 + res = -1 if (c_associated(ah%item)) then call c_f_pointer(ah%item,ap) else @@ -69,4 +41,4 @@ contains end function psb_c_cmm_mat_write -end module +end module psb_cutil_cbind_mod diff --git a/cbind/util/psb_d_util_cbind_mod.f90 b/cbind/util/psb_d_util_cbind_mod.f90 index 4c689fdf..245cff5e 100644 --- a/cbind/util/psb_d_util_cbind_mod.f90 +++ b/cbind/util/psb_d_util_cbind_mod.f90 @@ -1,59 +1,31 @@ -! -! 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_dutil_cbind_mod -module psb_d_util_cbind_mod use iso_c_binding - use psb_base_mod use psb_util_mod + use psb_base_mod use psb_objhandle_mod use psb_base_string_cbind_mod contains 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 - real(c_double) :: res + integer(psb_c_ipk_) :: res type(psb_c_dspmat) :: ah character(c_char) :: matrixtitle(*) character(c_char) :: filename(*) type(psb_dspmat_type), pointer :: ap - character(1024) :: mtitle - character(1024) :: fname + character(len=1024) :: mtitle + character(len=1024) :: fname integer(psb_c_ipk_) :: info - res = -1.0 + res = -1 if (c_associated(ah%item)) then call c_f_pointer(ah%item,ap) else @@ -69,4 +41,4 @@ contains end function psb_c_dmm_mat_write -end module +end module psb_dutil_cbind_mod diff --git a/cbind/util/psb_s_util_cbind_mod.f90 b/cbind/util/psb_s_util_cbind_mod.f90 index 010c2604..e857cde9 100644 --- a/cbind/util/psb_s_util_cbind_mod.f90 +++ b/cbind/util/psb_s_util_cbind_mod.f90 @@ -1,59 +1,31 @@ -! -! 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_sutil_cbind_mod -module psb_s_util_cbind_mod use iso_c_binding - use psb_base_mod use psb_util_mod + use psb_base_mod use psb_objhandle_mod use psb_base_string_cbind_mod contains 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 - real(c_float) :: res + integer(psb_c_ipk_) :: res type(psb_c_sspmat) :: ah character(c_char) :: matrixtitle(*) character(c_char) :: filename(*) type(psb_sspmat_type), pointer :: ap - character(1024) :: mtitle - character(1024) :: fname + character(len=1024) :: mtitle + character(len=1024) :: fname integer(psb_c_ipk_) :: info - res = -1.0 + res = -1 if (c_associated(ah%item)) then call c_f_pointer(ah%item,ap) else @@ -69,4 +41,4 @@ contains end function psb_c_smm_mat_write -end module +end module psb_sutil_cbind_mod diff --git a/cbind/util/psb_util_cbind_mod.f90 b/cbind/util/psb_util_cbind_mod.f90 new file mode 100644 index 00000000..96bafe4a --- /dev/null +++ b/cbind/util/psb_util_cbind_mod.f90 @@ -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 diff --git a/cbind/util/psb_z_util_cbind_mod.f90 b/cbind/util/psb_z_util_cbind_mod.f90 index 758f28fe..e0b60005 100644 --- a/cbind/util/psb_z_util_cbind_mod.f90 +++ b/cbind/util/psb_z_util_cbind_mod.f90 @@ -1,59 +1,31 @@ -! -! 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_zutil_cbind_mod -module psb_z_util_cbind_mod use iso_c_binding - use psb_base_mod use psb_util_mod + use psb_base_mod use psb_objhandle_mod use psb_base_string_cbind_mod contains 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 - real(c_double_complex) :: res + integer(psb_c_ipk_) :: res type(psb_c_zspmat) :: ah character(c_char) :: matrixtitle(*) character(c_char) :: filename(*) type(psb_zspmat_type), pointer :: ap - character(1024) :: mtitle - character(1024) :: fname + character(len=1024) :: mtitle + character(len=1024) :: fname integer(psb_c_ipk_) :: info - res = -1.0 + res = -1 if (c_associated(ah%item)) then call c_f_pointer(ah%item,ap) else @@ -69,4 +41,4 @@ contains end function psb_c_zmm_mat_write -end module +end module psb_zutil_cbind_mod