base/comm/psb_cgather.f90
 base/comm/psb_chalo.f90
 base/comm/psb_covrl.f90
 base/comm/psb_cscatter.F90
 base/comm/psb_dgather.f90
 base/comm/psb_dhalo.f90
 base/comm/psb_dovrl.f90
 base/comm/psb_dscatter.F90
 base/comm/psb_igather.f90
 base/comm/psb_ihalo.f90
 base/comm/psb_iovrl.f90
 base/comm/psb_iscatter.F90
 base/comm/psb_sgather.f90
 base/comm/psb_shalo.f90
 base/comm/psb_sovrl.f90
 base/comm/psb_sscatter.F90
 base/comm/psb_zgather.f90
 base/comm/psb_zhalo.f90
 base/comm/psb_zovrl.f90
 base/comm/psb_zscatter.F90
 base/internals/psi_bld_g2lmap.f90
 base/internals/psi_bld_tmphalo.f90
 base/internals/psi_bld_tmpovrl.f90
 base/internals/psi_compute_size.f90
 base/internals/psi_crea_bnd_elem.f90
 base/internals/psi_crea_index.f90
 base/internals/psi_crea_ovr_elem.f90
 base/internals/psi_cswapdata.F90
 base/internals/psi_cswaptran.F90
 base/internals/psi_desc_index.F90
 base/internals/psi_dl_check.f90
 base/internals/psi_dswapdata.F90
 base/internals/psi_dswaptran.F90
 base/internals/psi_exist_ovr_elem.f
 base/internals/psi_extrct_dl.F90
 base/internals/psi_fnd_owner.F90
 base/internals/psi_idx_cnv.f90
 base/internals/psi_idx_ins_cnv.f90
 base/internals/psi_iswapdata.F90
 base/internals/psi_iswaptran.F90
 base/internals/psi_ldsc_pre_halo.f90
 base/internals/psi_list_search.f
 base/internals/psi_sort_dl.f90
 base/internals/psi_sswapdata.F90
 base/internals/psi_sswaptran.F90
 base/internals/psi_zswapdata.F90
 base/internals/psi_zswaptran.F90
 base/internals/srtlist.f
 base/modules/error.f90
 base/modules/psb_base_mat_mod.f03
 base/modules/psb_base_tools_mod.f90
 base/modules/psb_c_base_mat_mod.f03
 base/modules/psb_c_csc_mat_mod.f03
 base/modules/psb_c_csr_mat_mod.f03
 base/modules/psb_c_linmap_mod.f90
 base/modules/psb_c_mat_mod.f03
 base/modules/psb_c_psblas_mod.f90
 base/modules/psb_c_tools_mod.f90
 base/modules/psb_check_mod.f90
 base/modules/psb_comm_mod.f90
 base/modules/psb_const_mod.F90
 base/modules/psb_d_base_mat_mod.f03
 base/modules/psb_d_csc_mat_mod.f03
 base/modules/psb_d_csr_mat_mod.f03
 base/modules/psb_d_linmap_mod.f90
 base/modules/psb_d_mat_mod.f03
 base/modules/psb_d_psblas_mod.f90
 base/modules/psb_d_tools_mod.f90
 base/modules/psb_desc_type.f90
 base/modules/psb_error_mod.F90
 base/modules/psb_gps_mod.f90
 base/modules/psb_hash_mod.f90
 base/modules/psb_ip_reord_mod.f90
 base/modules/psb_linmap_mod.f90
 base/modules/psb_linmap_type_mod.f90
 base/modules/psb_psblas_mod.f90
 base/modules/psb_realloc_mod.F90
 base/modules/psb_s_base_mat_mod.f03
 base/modules/psb_s_csc_mat_mod.f03
 base/modules/psb_s_csr_mat_mod.f03
 base/modules/psb_s_linmap_mod.f90
 base/modules/psb_s_mat_mod.f03
 base/modules/psb_s_psblas_mod.f90
 base/modules/psb_s_tools_mod.f90
 base/modules/psb_serial_mod.f90
 base/modules/psb_sort_mod.f90
 base/modules/psb_sparse_mod.f90
 base/modules/psb_string_mod.f90
 base/modules/psb_tools_mod.f90
 base/modules/psb_z_base_mat_mod.f03
 base/modules/psb_z_csc_mat_mod.f03
 base/modules/psb_z_csr_mat_mod.f03
 base/modules/psb_z_linmap_mod.f90
 base/modules/psb_z_mat_mod.f03
 base/modules/psb_z_psblas_mod.f90
 base/modules/psb_z_tools_mod.f90
 base/modules/psi_mod.f90
 base/modules/psi_serial_mod.f90
 base/psblas/psb_camax.f90
 base/psblas/psb_casum.f90
 base/psblas/psb_caxpby.f90
 base/psblas/psb_cdot.f90
 base/psblas/psb_cnrm2.f90
 base/psblas/psb_cnrmi.f90
 base/psblas/psb_cspmm.f90
 base/psblas/psb_cspsm.f90
 base/psblas/psb_damax.f90
 base/psblas/psb_dasum.f90
 base/psblas/psb_daxpby.f90
 base/psblas/psb_ddot.f90
 base/psblas/psb_dnrm2.f90
 base/psblas/psb_dnrmi.f90
 base/psblas/psb_dspmm.f90
 base/psblas/psb_dspnrm1.f90
 base/psblas/psb_dspsm.f90
 base/psblas/psb_samax.f90
 base/psblas/psb_sasum.f90
 base/psblas/psb_saxpby.f90
 base/psblas/psb_sdot.f90
 base/psblas/psb_snrm2.f90
 base/psblas/psb_snrmi.f90
 base/psblas/psb_sspmm.f90
 base/psblas/psb_sspsm.f90
 base/psblas/psb_sxdot.f90
 base/psblas/psb_zamax.f90
 base/psblas/psb_zasum.f90
 base/psblas/psb_zaxpby.f90
 base/psblas/psb_zdot.f90
 base/psblas/psb_znrm2.f90
 base/psblas/psb_znrmi.f90
 base/psblas/psb_zspmm.f90
 base/psblas/psb_zspsm.f90
 base/serial/aux/cacmp_mod.f90
 base/serial/aux/calcmp_mod.f90
 base/serial/aux/calsr.f90
 base/serial/aux/calsrx.f90
 base/serial/aux/camsort_dw.f90
 base/serial/aux/camsort_up.f90
 base/serial/aux/camsr.f90
 base/serial/aux/camsrx.f90
 base/serial/aux/casr.f90
 base/serial/aux/casrx.f90
 base/serial/aux/clcmp_mod.f90
 base/serial/aux/clsr.f90
 base/serial/aux/clsrx.f90
 base/serial/aux/dasr.f90
 base/serial/aux/dasrx.f90
 base/serial/aux/dmsort_dw.f90
 base/serial/aux/dmsort_up.f90
 base/serial/aux/dmsr.f90
 base/serial/aux/dmsrx.f90
 base/serial/aux/dsr.f90
 base/serial/aux/dsrx.f90
 base/serial/aux/iasr.f90
 base/serial/aux/iasrx.f90
 base/serial/aux/ibsrch.f
 base/serial/aux/imsr.f90
 base/serial/aux/imsru.f90
 base/serial/aux/imsrx.f90
 base/serial/aux/isaperm.f
 base/serial/aux/isr.f90
 base/serial/aux/isrx.f90
 base/serial/aux/issrch.f
 base/serial/aux/msort_dw.f90
 base/serial/aux/msort_up.f90
 base/serial/aux/sasr.f90
 base/serial/aux/sasrx.f90
 base/serial/aux/smsort_dw.f90
 base/serial/aux/smsort_up.f90
 base/serial/aux/smsr.f90
 base/serial/aux/smsrx.f90
 base/serial/aux/ssr.f90
 base/serial/aux/ssrx.f90
 base/serial/aux/zacmp_mod.f90
 base/serial/aux/zalcmp_mod.f90
 base/serial/aux/zalsr.f90
 base/serial/aux/zalsrx.f90
 base/serial/aux/zamsort_dw.f90
 base/serial/aux/zamsort_up.f90
 base/serial/aux/zamsr.f90
 base/serial/aux/zamsrx.f90
 base/serial/aux/zasr.f90
 base/serial/aux/zasrx.f90
 base/serial/aux/zlcmp_mod.f90
 base/serial/aux/zlsr.f90
 base/serial/aux/zlsrx.f90
 base/serial/f77/caxpby.f
 base/serial/f77/daxpby.f
 base/serial/f77/saxpby.f
 base/serial/f77/zaxpby.f
 base/serial/psb_cnumbmm.f90
 base/serial/psb_crwextd.f90
 base/serial/psb_csymbmm.f90
 base/serial/psb_dnumbmm.f90
 base/serial/psb_drwextd.f90
 base/serial/psb_dsymbmm.f90
 base/serial/psb_lsame.f90
 base/serial/psb_snumbmm.f90
 base/serial/psb_sort_impl.f90
 base/serial/psb_srwextd.f90
 base/serial/psb_ssymbmm.f90
 base/serial/psb_znumbmm.f90
 base/serial/psb_zrwextd.f90
 base/serial/psb_zsymbmm.f90
 base/serial/psi_impl.f90
 base/serial/psi_serial_impl.f90
 base/tools/psb_callc.f90
 base/tools/psb_casb.f90
 base/tools/psb_ccdbldext.F90
 base/tools/psb_cd_inloc.f90
 base/tools/psb_cd_lstext.f90
 base/tools/psb_cd_reinit.f90
 base/tools/psb_cd_set_bld.f90
 base/tools/psb_cdals.f90
 base/tools/psb_cdalv.f90
 base/tools/psb_cdcpy.f90
 base/tools/psb_cdins.f90
 base/tools/psb_cdprt.f90
 base/tools/psb_cdren.f90
 base/tools/psb_cdrep.f90
 base/tools/psb_cfree.f90
 base/tools/psb_cins.f90
 base/tools/psb_cspalloc.f90
 base/tools/psb_cspasb.f90
 base/tools/psb_cspfree.f90
 base/tools/psb_csphalo.F90
 base/tools/psb_cspins.f90
 base/tools/psb_csprn.f90
 base/tools/psb_dallc.f90
 base/tools/psb_dasb.f90
 base/tools/psb_dcdbldext.F90
 base/tools/psb_dfree.f90
 base/tools/psb_dins.f90
 base/tools/psb_dspalloc.f90
 base/tools/psb_dspasb.f90
 base/tools/psb_dspfree.f90
 base/tools/psb_dsphalo.F90
 base/tools/psb_dspins.f90
 base/tools/psb_dsprn.f90
 base/tools/psb_get_overlap.f90
 base/tools/psb_glob_to_loc.f90
 base/tools/psb_ialloc.f90
 base/tools/psb_iasb.f90
 base/tools/psb_icdasb.F90
 base/tools/psb_ifree.f90
 base/tools/psb_iins.f90
 base/tools/psb_linmap.f90
 base/tools/psb_loc_to_glob.f90
 base/tools/psb_map.f90
 base/tools/psb_sallc.f90
 base/tools/psb_sasb.f90
 base/tools/psb_scdbldext.F90
 base/tools/psb_sfree.f90
 base/tools/psb_sins.f90
 base/tools/psb_sspalloc.f90
 base/tools/psb_sspasb.f90
 base/tools/psb_sspfree.f90
 base/tools/psb_ssphalo.F90
 base/tools/psb_sspins.f90
 base/tools/psb_ssprn.f90
 base/tools/psb_zallc.f90
 base/tools/psb_zasb.f90
 base/tools/psb_zcdbldext.F90
 base/tools/psb_zfree.f90
 base/tools/psb_zins.f90
 base/tools/psb_zspalloc.f90
 base/tools/psb_zspasb.f90
 base/tools/psb_zspfree.f90
 base/tools/psb_zsphalo.F90
 base/tools/psb_zspins.f90
 base/tools/psb_zsprn.f90
 krylov/psb_base_inner_krylov_mod.f90
 krylov/psb_c_inner_krylov_mod.f90
 krylov/psb_cbicg.f90
 krylov/psb_ccg.f90
 krylov/psb_ccgs.f90
 krylov/psb_ccgstab.f90
 krylov/psb_ccgstabl.f90
 krylov/psb_ckrylov.f90
 krylov/psb_crgmres.f90
 krylov/psb_d_inner_krylov_mod.f90
 krylov/psb_dbicg.f90
 krylov/psb_dcg.F90
 krylov/psb_dcgs.f90
 krylov/psb_dcgstab.F90
 krylov/psb_dcgstabl.f90
 krylov/psb_dkrylov.f90
 krylov/psb_drgmres.f90
 krylov/psb_inner_krylov_mod.f90
 krylov/psb_krylov_mod.f90
 krylov/psb_s_inner_krylov_mod.f90
 krylov/psb_sbicg.f90
 krylov/psb_scg.F90
 krylov/psb_scgs.f90
 krylov/psb_scgstab.F90
 krylov/psb_scgstabl.f90
 krylov/psb_skrylov.f90
 krylov/psb_srgmres.f90
 krylov/psb_z_inner_krylov_mod.f90
 krylov/psb_zbicg.f90
 krylov/psb_zcg.F90
 krylov/psb_zcgs.f90
 krylov/psb_zcgstab.f90
 krylov/psb_zcgstabl.f90
 krylov/psb_zkrylov.f90
 krylov/psb_zrgmres.f90
 prec/psb_c_base_prec_mod.f03
 prec/psb_c_prec_type.f03
 prec/psb_cilu_fct.f90
 prec/psb_cprc_aply.f90
 prec/psb_cprecbld.f90
 prec/psb_cprecinit.f90
 prec/psb_cprecset.f90
 prec/psb_d_base_prec_mod.f03
 prec/psb_d_prec_type.f03
 prec/psb_dilu_fct.f90
 prec/psb_dprc_aply.f90
 prec/psb_dprecbld.f90
 prec/psb_dprecinit.f90
 prec/psb_dprecset.f90
 prec/psb_prec_const_mod.f03
 prec/psb_prec_mod.f90
 prec/psb_prec_type.f03
 prec/psb_s_base_prec_mod.f03
 prec/psb_s_prec_type.f03
 prec/psb_silu_fct.f90
 prec/psb_sprc_aply.f90
 prec/psb_sprecbld.f90
 prec/psb_sprecinit.f90
 prec/psb_sprecset.f90
 prec/psb_z_base_prec_mod.f03
 prec/psb_z_prec_type.f03
 prec/psb_zilu_fct.f90
 prec/psb_zprc_aply.f90
 prec/psb_zprecbld.f90
 prec/psb_zprecinit.f90
 prec/psb_zprecset.f90
 test/fileread/cf_sample.f90
 test/fileread/df_sample.f90
 test/fileread/getp.f90
 test/fileread/sf_sample.f90
 test/fileread/zf_sample.f90
 test/pargen/ppde.f90
 test/pargen/spde.f90
 test/serial/psb_d_cxx_mat_mod.f03
 test/util/dhb2mm.f90
 test/util/dmm2hb.f90
 test/util/zhb2mm.f90
 test/util/zmm2hb.f90
 util/psb_blockpart_mod.f90
 util/psb_hbio_impl.f90
 util/psb_hbio_mod.f90
 util/psb_mat_dist_impl.f90
 util/psb_mat_dist_mod.f90
 util/psb_metispart_mod.F90
 util/psb_mmio_impl.f90
 util/psb_mmio_mod.f90
 util/psb_util_mod.f90

Updated copyright statement.
Fixed style to use "import :: " statement.
psblas3-type-indexed
Salvatore Filippone 15 years ago
parent 111f43a246
commit 2fb20bc173

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -174,7 +174,7 @@ end subroutine psb_cgatherm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -223,7 +223,7 @@ end subroutine psb_chalom
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -203,7 +203,7 @@ subroutine psb_covrlm(x,desc_a,info,jx,ik,work,update,mode)
end subroutine psb_covrlm end subroutine psb_covrlm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -230,7 +230,7 @@ end subroutine psb_cscatterm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -172,7 +172,7 @@ end subroutine psb_dgatherm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -224,7 +224,7 @@ end subroutine psb_dhalom
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -204,7 +204,7 @@ end subroutine psb_dovrlm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -230,7 +230,7 @@ end subroutine psb_dscatterm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -172,7 +172,7 @@ end subroutine psb_igatherm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -226,7 +226,7 @@ end subroutine psb_ihalom
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -203,7 +203,7 @@ end subroutine psb_iovrlm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -228,7 +228,7 @@ end subroutine psb_iscatterm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -172,7 +172,7 @@ end subroutine psb_sgatherm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -224,7 +224,7 @@ end subroutine psb_shalom
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -204,7 +204,7 @@ end subroutine psb_sovrlm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -230,7 +230,7 @@ end subroutine psb_sscatterm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -174,7 +174,7 @@ end subroutine psb_zgatherm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -223,7 +223,7 @@ end subroutine psb_zhalom
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -203,7 +203,7 @@ subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,update,mode)
end subroutine psb_zovrlm end subroutine psb_zovrlm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -229,7 +229,7 @@ end subroutine psb_zscatterm
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
C C
C Parallel Sparse BLAS version 3.0 C Parallel Sparse BLAS version 3.0
C (C) Copyright 2010 C (C) Copyright 2006, 2007, 2008, 2009, 2010
C Salvatore Filippone University of Rome Tor Vergata C Salvatore Filippone University of Rome Tor Vergata
C Alfredo Buttari CNRS-IRIT, Toulouse C Alfredo Buttari CNRS-IRIT, Toulouse
C C

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -247,7 +247,7 @@ subroutine psi_idx_cnv1(nv,idxin,desc,info,mask,owned)
end subroutine psi_idx_cnv1 end subroutine psi_idx_cnv1
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -371,7 +371,7 @@ subroutine psi_idx_cnv2(nv,idxin,idxout,desc,info,mask,owned)
end subroutine psi_idx_cnv2 end subroutine psi_idx_cnv2
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -355,7 +355,7 @@ subroutine psi_idx_ins_cnv1(nv,idxin,desc,info,mask)
end subroutine psi_idx_ins_cnv1 end subroutine psi_idx_ins_cnv1
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -480,7 +480,7 @@ subroutine psi_idx_ins_cnv2(nv,idxin,idxout,desc,info,mask)
end subroutine psi_idx_ins_cnv2 end subroutine psi_idx_ins_cnv2
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -551,7 +551,7 @@ subroutine psi_idx_ins_cnvs2(idxin,idxout,desc,info,mask)
end subroutine psi_idx_ins_cnvs2 end subroutine psi_idx_ins_cnvs2
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
C C
C Parallel Sparse BLAS version 3.0 C Parallel Sparse BLAS version 3.0
C (C) Copyright 2010 C (C) Copyright 2006, 2007, 2008, 2009, 2010
C Salvatore Filippone University of Rome Tor Vergata C Salvatore Filippone University of Rome Tor Vergata
C Alfredo Buttari CNRS-IRIT, Toulouse C Alfredo Buttari CNRS-IRIT, Toulouse
C C

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
C C
C Parallel Sparse BLAS version 3.0 C Parallel Sparse BLAS version 3.0
C (C) Copyright 2010 C (C) Copyright 2006, 2007, 2008, 2009, 2010
C Salvatore Filippone University of Rome Tor Vergata C Salvatore Filippone University of Rome Tor Vergata
C Alfredo Buttari CNRS-IRIT, Toulouse C Alfredo Buttari CNRS-IRIT, Toulouse
C C

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -92,7 +92,7 @@ module psb_base_mat_mod
interface interface
function psb_base_get_nz_row(idx,a) result(res) function psb_base_get_nz_row(idx,a) result(res)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
integer, intent(in) :: idx integer, intent(in) :: idx
class(psb_base_sparse_mat), intent(in) :: a class(psb_base_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -101,7 +101,7 @@ module psb_base_mat_mod
interface interface
function psb_base_get_nzeros(a) result(res) function psb_base_get_nzeros(a) result(res)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(in) :: a class(psb_base_sparse_mat), intent(in) :: a
integer :: res integer :: res
end function psb_base_get_nzeros end function psb_base_get_nzeros
@ -109,7 +109,7 @@ module psb_base_mat_mod
interface interface
function psb_base_get_size(a) result(res) function psb_base_get_size(a) result(res)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(in) :: a class(psb_base_sparse_mat), intent(in) :: a
integer :: res integer :: res
end function psb_base_get_size end function psb_base_get_size
@ -117,7 +117,7 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_reinit(a,clear) subroutine psb_base_reinit(a,clear)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(inout) :: a class(psb_base_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_base_reinit end subroutine psb_base_reinit
@ -125,7 +125,7 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_base_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_base_sparse_mat), intent(in) :: a class(psb_base_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -138,7 +138,7 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_base_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(in) :: a class(psb_base_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -153,7 +153,7 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_get_neigh(a,idx,neigh,n,info,lev) subroutine psb_base_get_neigh(a,idx,neigh,n,info,lev)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(in) :: a class(psb_base_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer, intent(out) :: n integer, intent(out) :: n
@ -165,7 +165,7 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_allocate_mnnz(m,n,a,nz) subroutine psb_base_allocate_mnnz(m,n,a,nz)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_base_sparse_mat), intent(inout) :: a class(psb_base_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -174,7 +174,7 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_reallocate_nz(nz,a) subroutine psb_base_reallocate_nz(nz,a)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_base_sparse_mat), intent(inout) :: a class(psb_base_sparse_mat), intent(inout) :: a
end subroutine psb_base_reallocate_nz end subroutine psb_base_reallocate_nz
@ -182,14 +182,14 @@ module psb_base_mat_mod
interface interface
subroutine psb_base_free(a) subroutine psb_base_free(a)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(inout) :: a class(psb_base_sparse_mat), intent(inout) :: a
end subroutine psb_base_free end subroutine psb_base_free
end interface end interface
interface interface
subroutine psb_base_trim(a) subroutine psb_base_trim(a)
import psb_base_sparse_mat, psb_long_int_k_ import :: psb_base_sparse_mat, psb_long_int_k_
class(psb_base_sparse_mat), intent(inout) :: a class(psb_base_sparse_mat), intent(inout) :: a
end subroutine psb_base_trim end subroutine psb_base_trim
end interface end interface

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -113,7 +113,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_c_base_csmm(alpha,a,x,beta,y,info,trans)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -124,7 +124,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_c_base_csmv(alpha,a,x,beta,y,info,trans)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -135,7 +135,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_inner_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_c_base_inner_cssm(alpha,a,x,beta,y,info,trans)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -146,7 +146,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_inner_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_c_base_inner_cssv(alpha,a,x,beta,y,info,trans)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -157,7 +157,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -169,7 +169,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -181,7 +181,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_scals(d,a,info) subroutine psb_c_base_scals(d,a,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d complex(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info
@ -190,7 +190,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_scal(d,a,info) subroutine psb_c_base_scal(d,a,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d(:) complex(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -199,7 +199,7 @@ module psb_c_base_mat_mod
interface interface
function psb_c_base_csnmi(a) result(res) function psb_c_base_csnmi(a) result(res)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_c_base_csnmi end function psb_c_base_csnmi
@ -207,7 +207,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_get_diag(a,d,info) subroutine psb_c_base_get_diag(a,d,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(out) :: d(:) complex(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -216,7 +216,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_c_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: val(:) complex(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -228,7 +228,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_c_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -245,7 +245,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_csgetblk(imin,imax,a,b,info,& subroutine psb_c_base_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -261,7 +261,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_csclip(a,b,info,& subroutine psb_c_base_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(out) :: b class(psb_c_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -272,7 +272,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_mold(a,b,info) subroutine psb_c_base_mold(a,b,info)
import psb_c_base_sparse_mat, psb_long_int_k_ import :: psb_c_base_sparse_mat, psb_long_int_k_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(out), allocatable :: b class(psb_c_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -281,7 +281,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_cp_to_coo(a,b,info) subroutine psb_c_base_cp_to_coo(a,b,info)
import psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -290,7 +290,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_cp_from_coo(a,b,info) subroutine psb_c_base_cp_from_coo(a,b,info)
import psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(in) :: b class(psb_c_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -299,7 +299,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_cp_to_fmt(a,b,info) subroutine psb_c_base_cp_to_fmt(a,b,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(in) :: a class(psb_c_base_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -308,7 +308,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_cp_from_fmt(a,b,info) subroutine psb_c_base_cp_from_fmt(a,b,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(in) :: b class(psb_c_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -317,7 +317,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_mv_to_coo(a,b,info) subroutine psb_c_base_mv_to_coo(a,b,info)
import psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -326,7 +326,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_mv_from_coo(a,b,info) subroutine psb_c_base_mv_from_coo(a,b,info)
import psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -335,7 +335,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_mv_to_fmt(a,b,info) subroutine psb_c_base_mv_to_fmt(a,b,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -344,7 +344,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_mv_from_fmt(a,b,info) subroutine psb_c_base_mv_from_fmt(a,b,info)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -353,7 +353,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_transp_2mat(a,b) subroutine psb_c_base_transp_2mat(a,b)
import psb_c_base_sparse_mat, psb_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(out) :: a class(psb_c_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_c_base_transp_2mat end subroutine psb_c_base_transp_2mat
@ -361,7 +361,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_transc_2mat(a,b) subroutine psb_c_base_transc_2mat(a,b)
import psb_c_base_sparse_mat, psb_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(out) :: a class(psb_c_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_c_base_transc_2mat end subroutine psb_c_base_transc_2mat
@ -369,14 +369,14 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_base_transp_1mat(a) subroutine psb_c_base_transp_1mat(a)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
end subroutine psb_c_base_transp_1mat end subroutine psb_c_base_transp_1mat
end interface end interface
interface interface
subroutine psb_c_base_transc_1mat(a) subroutine psb_c_base_transc_1mat(a)
import psb_c_base_sparse_mat, psb_spk_ import :: psb_c_base_sparse_mat, psb_spk_
class(psb_c_base_sparse_mat), intent(inout) :: a class(psb_c_base_sparse_mat), intent(inout) :: a
end subroutine psb_c_base_transc_1mat end subroutine psb_c_base_transc_1mat
end interface end interface
@ -392,7 +392,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_reallocate_nz(nz,a) subroutine psb_c_coo_reallocate_nz(nz,a)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
end subroutine psb_c_coo_reallocate_nz end subroutine psb_c_coo_reallocate_nz
@ -400,7 +400,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_reinit(a,clear) subroutine psb_c_coo_reinit(a,clear)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_c_coo_reinit end subroutine psb_c_coo_reinit
@ -408,14 +408,14 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_trim(a) subroutine psb_c_coo_trim(a)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
end subroutine psb_c_coo_trim end subroutine psb_c_coo_trim
end interface end interface
interface interface
subroutine psb_c_coo_allocate_mnnz(m,n,a,nz) subroutine psb_c_coo_allocate_mnnz(m,n,a,nz)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -424,7 +424,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_mold(a,b,info) subroutine psb_c_coo_mold(a,b,info)
import psb_c_coo_sparse_mat, psb_c_base_sparse_mat, psb_long_int_k_ import :: psb_c_coo_sparse_mat, psb_c_base_sparse_mat, psb_long_int_k_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(out), allocatable :: b class(psb_c_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -433,7 +433,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_c_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -446,7 +446,7 @@ module psb_c_base_mat_mod
interface interface
function psb_c_coo_get_nz_row(idx,a) result(res) function psb_c_coo_get_nz_row(idx,a) result(res)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer :: res integer :: res
@ -456,7 +456,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir) subroutine psb_c_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
import psb_spk_ import :: psb_spk_
integer, intent(in) :: nzin,dupl integer, intent(in) :: nzin,dupl
integer, intent(inout) :: ia(:), ja(:) integer, intent(inout) :: ia(:), ja(:)
complex(psb_spk_), intent(inout) :: val(:) complex(psb_spk_), intent(inout) :: val(:)
@ -467,7 +467,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_fix_coo(a,info,idir) subroutine psb_c_fix_coo(a,info,idir)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: idir integer, intent(in), optional :: idir
@ -476,7 +476,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_cp_coo_to_coo(a,b,info) subroutine psb_c_cp_coo_to_coo(a,b,info)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -485,7 +485,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_cp_coo_from_coo(a,b,info) subroutine psb_c_cp_coo_from_coo(a,b,info)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(in) :: b class(psb_c_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -494,7 +494,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_cp_coo_to_fmt(a,b,info) subroutine psb_c_cp_coo_to_fmt(a,b,info)
import psb_c_coo_sparse_mat, psb_c_base_sparse_mat import :: psb_c_coo_sparse_mat, psb_c_base_sparse_mat
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -503,7 +503,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_cp_coo_from_fmt(a,b,info) subroutine psb_c_cp_coo_from_fmt(a,b,info)
import psb_c_coo_sparse_mat, psb_c_base_sparse_mat import :: psb_c_coo_sparse_mat, psb_c_base_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(in) :: b class(psb_c_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -512,7 +512,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_mv_coo_to_coo(a,b,info) subroutine psb_c_mv_coo_to_coo(a,b,info)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -521,7 +521,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_mv_coo_from_coo(a,b,info) subroutine psb_c_mv_coo_from_coo(a,b,info)
import psb_c_coo_sparse_mat import :: psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -530,7 +530,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_mv_coo_to_fmt(a,b,info) subroutine psb_c_mv_coo_to_fmt(a,b,info)
import psb_c_coo_sparse_mat, psb_c_base_sparse_mat import :: psb_c_coo_sparse_mat, psb_c_base_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -539,7 +539,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_mv_coo_from_fmt(a,b,info) subroutine psb_c_mv_coo_from_fmt(a,b,info)
import psb_c_coo_sparse_mat, psb_c_base_sparse_mat import :: psb_c_coo_sparse_mat, psb_c_base_sparse_mat
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -548,7 +548,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_cp_from(a,b) subroutine psb_c_coo_cp_from(a,b)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
type(psb_c_coo_sparse_mat), intent(in) :: b type(psb_c_coo_sparse_mat), intent(in) :: b
end subroutine psb_c_coo_cp_from end subroutine psb_c_coo_cp_from
@ -556,7 +556,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_mv_from(a,b) subroutine psb_c_coo_mv_from(a,b)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
type(psb_c_coo_sparse_mat), intent(inout) :: b type(psb_c_coo_sparse_mat), intent(inout) :: b
end subroutine psb_c_coo_mv_from end subroutine psb_c_coo_mv_from
@ -565,7 +565,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_c_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: val(:) complex(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -578,7 +578,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_c_coo_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -594,7 +594,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_c_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -610,7 +610,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_c_coo_cssv(alpha,a,x,beta,y,info,trans)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -618,7 +618,7 @@ module psb_c_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_coo_cssv end subroutine psb_c_coo_cssv
subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -629,7 +629,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_c_coo_csmv(alpha,a,x,beta,y,info,trans)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -637,7 +637,7 @@ module psb_c_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_coo_csmv end subroutine psb_c_coo_csmv
subroutine psb_c_coo_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_c_coo_csmm(alpha,a,x,beta,y,info,trans)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -649,7 +649,7 @@ module psb_c_base_mat_mod
interface interface
function psb_c_coo_csnmi(a) result(res) function psb_c_coo_csnmi(a) result(res)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_c_coo_csnmi end function psb_c_coo_csnmi
@ -657,7 +657,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_get_diag(a,d,info) subroutine psb_c_coo_get_diag(a,d,info)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(out) :: d(:) complex(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -666,7 +666,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_scal(d,a,info) subroutine psb_c_coo_scal(d,a,info)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d(:) complex(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -675,7 +675,7 @@ module psb_c_base_mat_mod
interface interface
subroutine psb_c_coo_scals(d,a,info) subroutine psb_c_coo_scals(d,a,info)
import psb_c_coo_sparse_mat, psb_spk_ import :: psb_c_coo_sparse_mat, psb_spk_
class(psb_c_coo_sparse_mat), intent(inout) :: a class(psb_c_coo_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d complex(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -51,7 +51,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_reallocate_nz(nz,a) subroutine psb_c_csc_reallocate_nz(nz,a)
import psb_c_csc_sparse_mat import :: psb_c_csc_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
end subroutine psb_c_csc_reallocate_nz end subroutine psb_c_csc_reallocate_nz
@ -59,7 +59,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_reinit(a,clear) subroutine psb_c_csc_reinit(a,clear)
import psb_c_csc_sparse_mat import :: psb_c_csc_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_c_csc_reinit end subroutine psb_c_csc_reinit
@ -67,14 +67,14 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_trim(a) subroutine psb_c_csc_trim(a)
import psb_c_csc_sparse_mat import :: psb_c_csc_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
end subroutine psb_c_csc_trim end subroutine psb_c_csc_trim
end interface end interface
interface interface
subroutine psb_c_csc_allocate_mnnz(m,n,a,nz) subroutine psb_c_csc_allocate_mnnz(m,n,a,nz)
import psb_c_csc_sparse_mat import :: psb_c_csc_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -83,7 +83,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_mold(a,b,info) subroutine psb_c_csc_mold(a,b,info)
import psb_c_csc_sparse_mat, psb_c_base_sparse_mat, psb_long_int_k_ import :: psb_c_csc_sparse_mat, psb_c_base_sparse_mat, psb_long_int_k_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(out), allocatable :: b class(psb_c_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -92,7 +92,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_c_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_c_csc_sparse_mat import :: psb_c_csc_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -104,7 +104,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_cp_csc_to_coo(a,b,info) subroutine psb_c_cp_csc_to_coo(a,b,info)
import psb_c_coo_sparse_mat, psb_c_csc_sparse_mat import :: psb_c_coo_sparse_mat, psb_c_csc_sparse_mat
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -113,7 +113,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_cp_csc_from_coo(a,b,info) subroutine psb_c_cp_csc_from_coo(a,b,info)
import psb_c_csc_sparse_mat, psb_c_coo_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_coo_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(in) :: b class(psb_c_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -122,7 +122,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_cp_csc_to_fmt(a,b,info) subroutine psb_c_cp_csc_to_fmt(a,b,info)
import psb_c_csc_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -131,7 +131,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_cp_csc_from_fmt(a,b,info) subroutine psb_c_cp_csc_from_fmt(a,b,info)
import psb_c_csc_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(in) :: b class(psb_c_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -140,7 +140,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_mv_csc_to_coo(a,b,info) subroutine psb_c_mv_csc_to_coo(a,b,info)
import psb_c_csc_sparse_mat, psb_c_coo_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_coo_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -149,7 +149,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_mv_csc_from_coo(a,b,info) subroutine psb_c_mv_csc_from_coo(a,b,info)
import psb_c_csc_sparse_mat, psb_c_coo_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_coo_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -158,7 +158,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_mv_csc_to_fmt(a,b,info) subroutine psb_c_mv_csc_to_fmt(a,b,info)
import psb_c_csc_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -167,7 +167,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_mv_csc_from_fmt(a,b,info) subroutine psb_c_mv_csc_from_fmt(a,b,info)
import psb_c_csc_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csc_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -176,7 +176,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_cp_from(a,b) subroutine psb_c_csc_cp_from(a,b)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
type(psb_c_csc_sparse_mat), intent(in) :: b type(psb_c_csc_sparse_mat), intent(in) :: b
end subroutine psb_c_csc_cp_from end subroutine psb_c_csc_cp_from
@ -184,7 +184,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_mv_from(a,b) subroutine psb_c_csc_mv_from(a,b)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
type(psb_c_csc_sparse_mat), intent(inout) :: b type(psb_c_csc_sparse_mat), intent(inout) :: b
end subroutine psb_c_csc_mv_from end subroutine psb_c_csc_mv_from
@ -193,7 +193,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_c_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: val(:) complex(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -206,7 +206,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_c_csc_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -222,7 +222,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_c_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -239,7 +239,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_csgetblk(imin,imax,a,b,info,& subroutine psb_c_csc_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_c_csc_sparse_mat, psb_spk_, psb_c_coo_sparse_mat import :: psb_c_csc_sparse_mat, psb_spk_, psb_c_coo_sparse_mat
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -253,7 +253,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_c_csc_cssv(alpha,a,x,beta,y,info,trans)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -261,7 +261,7 @@ module psb_c_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_csc_cssv end subroutine psb_c_csc_cssv
subroutine psb_c_csc_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_c_csc_cssm(alpha,a,x,beta,y,info,trans)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -272,7 +272,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_c_csc_csmv(alpha,a,x,beta,y,info,trans)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -280,7 +280,7 @@ module psb_c_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_csc_csmv end subroutine psb_c_csc_csmv
subroutine psb_c_csc_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_c_csc_csmm(alpha,a,x,beta,y,info,trans)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -292,7 +292,7 @@ module psb_c_csc_mat_mod
interface interface
function psb_c_csc_csnmi(a) result(res) function psb_c_csc_csnmi(a) result(res)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_c_csc_csnmi end function psb_c_csc_csnmi
@ -300,7 +300,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_get_diag(a,d,info) subroutine psb_c_csc_get_diag(a,d,info)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(in) :: a class(psb_c_csc_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(out) :: d(:) complex(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_scal(d,a,info) subroutine psb_c_csc_scal(d,a,info)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d(:) complex(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_c_csc_mat_mod
interface interface
subroutine psb_c_csc_scals(d,a,info) subroutine psb_c_csc_scals(d,a,info)
import psb_c_csc_sparse_mat, psb_spk_ import :: psb_c_csc_sparse_mat, psb_spk_
class(psb_c_csc_sparse_mat), intent(inout) :: a class(psb_c_csc_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d complex(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -51,7 +51,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_reallocate_nz(nz,a) subroutine psb_c_csr_reallocate_nz(nz,a)
import psb_c_csr_sparse_mat import :: psb_c_csr_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
end subroutine psb_c_csr_reallocate_nz end subroutine psb_c_csr_reallocate_nz
@ -59,7 +59,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_reinit(a,clear) subroutine psb_c_csr_reinit(a,clear)
import psb_c_csr_sparse_mat import :: psb_c_csr_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_c_csr_reinit end subroutine psb_c_csr_reinit
@ -67,14 +67,14 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_trim(a) subroutine psb_c_csr_trim(a)
import psb_c_csr_sparse_mat import :: psb_c_csr_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
end subroutine psb_c_csr_trim end subroutine psb_c_csr_trim
end interface end interface
interface interface
subroutine psb_c_csr_allocate_mnnz(m,n,a,nz) subroutine psb_c_csr_allocate_mnnz(m,n,a,nz)
import psb_c_csr_sparse_mat import :: psb_c_csr_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -83,7 +83,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_mold(a,b,info) subroutine psb_c_csr_mold(a,b,info)
import psb_c_csr_sparse_mat, psb_c_base_sparse_mat, psb_long_int_k_ import :: psb_c_csr_sparse_mat, psb_c_base_sparse_mat, psb_long_int_k_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(out), allocatable :: b class(psb_c_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -92,7 +92,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_c_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_c_csr_sparse_mat import :: psb_c_csr_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -104,7 +104,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_cp_csr_to_coo(a,b,info) subroutine psb_c_cp_csr_to_coo(a,b,info)
import psb_c_coo_sparse_mat, psb_c_csr_sparse_mat import :: psb_c_coo_sparse_mat, psb_c_csr_sparse_mat
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -113,7 +113,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_cp_csr_from_coo(a,b,info) subroutine psb_c_cp_csr_from_coo(a,b,info)
import psb_c_csr_sparse_mat, psb_c_coo_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_coo_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(in) :: b class(psb_c_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -122,7 +122,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_cp_csr_to_fmt(a,b,info) subroutine psb_c_cp_csr_to_fmt(a,b,info)
import psb_c_csr_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -131,7 +131,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_cp_csr_from_fmt(a,b,info) subroutine psb_c_cp_csr_from_fmt(a,b,info)
import psb_c_csr_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(in) :: b class(psb_c_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -140,7 +140,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_mv_csr_to_coo(a,b,info) subroutine psb_c_mv_csr_to_coo(a,b,info)
import psb_c_csr_sparse_mat, psb_c_coo_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_coo_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -149,7 +149,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_mv_csr_from_coo(a,b,info) subroutine psb_c_mv_csr_from_coo(a,b,info)
import psb_c_csr_sparse_mat, psb_c_coo_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_coo_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -158,7 +158,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_mv_csr_to_fmt(a,b,info) subroutine psb_c_mv_csr_to_fmt(a,b,info)
import psb_c_csr_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -167,7 +167,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_mv_csr_from_fmt(a,b,info) subroutine psb_c_mv_csr_from_fmt(a,b,info)
import psb_c_csr_sparse_mat, psb_c_base_sparse_mat import :: psb_c_csr_sparse_mat, psb_c_base_sparse_mat
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -176,7 +176,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_cp_from(a,b) subroutine psb_c_csr_cp_from(a,b)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
type(psb_c_csr_sparse_mat), intent(in) :: b type(psb_c_csr_sparse_mat), intent(in) :: b
end subroutine psb_c_csr_cp_from end subroutine psb_c_csr_cp_from
@ -184,7 +184,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_mv_from(a,b) subroutine psb_c_csr_mv_from(a,b)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
type(psb_c_csr_sparse_mat), intent(inout) :: b type(psb_c_csr_sparse_mat), intent(inout) :: b
end subroutine psb_c_csr_mv_from end subroutine psb_c_csr_mv_from
@ -193,7 +193,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_c_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: val(:) complex(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -206,7 +206,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_c_csr_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -222,7 +222,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_c_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -239,7 +239,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_csgetblk(imin,imax,a,b,info,& subroutine psb_c_csr_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_c_csr_sparse_mat, psb_spk_, psb_c_coo_sparse_mat import :: psb_c_csr_sparse_mat, psb_spk_, psb_c_coo_sparse_mat
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
class(psb_c_coo_sparse_mat), intent(inout) :: b class(psb_c_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -253,7 +253,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_c_csr_cssv(alpha,a,x,beta,y,info,trans)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -261,7 +261,7 @@ module psb_c_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_csr_cssv end subroutine psb_c_csr_cssv
subroutine psb_c_csr_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_c_csr_cssm(alpha,a,x,beta,y,info,trans)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -272,7 +272,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_c_csr_csmv(alpha,a,x,beta,y,info,trans)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -280,7 +280,7 @@ module psb_c_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_csr_csmv end subroutine psb_c_csr_csmv
subroutine psb_c_csr_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_c_csr_csmm(alpha,a,x,beta,y,info,trans)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -292,7 +292,7 @@ module psb_c_csr_mat_mod
interface interface
function psb_c_csr_csnmi(a) result(res) function psb_c_csr_csnmi(a) result(res)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_c_csr_csnmi end function psb_c_csr_csnmi
@ -300,7 +300,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_get_diag(a,d,info) subroutine psb_c_csr_get_diag(a,d,info)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(in) :: a class(psb_c_csr_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(out) :: d(:) complex(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_scal(d,a,info) subroutine psb_c_csr_scal(d,a,info)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d(:) complex(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_c_csr_mat_mod
interface interface
subroutine psb_c_csr_scals(d,a,info) subroutine psb_c_csr_scals(d,a,info)
import psb_c_csr_sparse_mat, psb_spk_ import :: psb_c_csr_sparse_mat, psb_spk_
class(psb_c_csr_sparse_mat), intent(inout) :: a class(psb_c_csr_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d complex(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -125,7 +125,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_nrows(m,a) subroutine psb_c_set_nrows(m,a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
integer, intent(in) :: m integer, intent(in) :: m
end subroutine psb_c_set_nrows end subroutine psb_c_set_nrows
@ -133,7 +133,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_ncols(n,a) subroutine psb_c_set_ncols(n,a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_c_set_ncols end subroutine psb_c_set_ncols
@ -141,7 +141,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_state(n,a) subroutine psb_c_set_state(n,a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_c_set_state end subroutine psb_c_set_state
@ -149,7 +149,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_dupl(n,a) subroutine psb_c_set_dupl(n,a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_c_set_dupl end subroutine psb_c_set_dupl
@ -157,35 +157,35 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_null(a) subroutine psb_c_set_null(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_set_null end subroutine psb_c_set_null
end interface end interface
interface interface
subroutine psb_c_set_bld(a) subroutine psb_c_set_bld(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_set_bld end subroutine psb_c_set_bld
end interface end interface
interface interface
subroutine psb_c_set_upd(a) subroutine psb_c_set_upd(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_set_upd end subroutine psb_c_set_upd
end interface end interface
interface interface
subroutine psb_c_set_asb(a) subroutine psb_c_set_asb(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_set_asb end subroutine psb_c_set_asb
end interface end interface
interface interface
subroutine psb_c_set_sorted(a,val) subroutine psb_c_set_sorted(a,val)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_c_set_sorted end subroutine psb_c_set_sorted
@ -193,7 +193,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_triangle(a,val) subroutine psb_c_set_triangle(a,val)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_c_set_triangle end subroutine psb_c_set_triangle
@ -201,7 +201,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_unit(a,val) subroutine psb_c_set_unit(a,val)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_c_set_unit end subroutine psb_c_set_unit
@ -209,7 +209,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_lower(a,val) subroutine psb_c_set_lower(a,val)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_c_set_lower end subroutine psb_c_set_lower
@ -217,7 +217,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_set_upper(a,val) subroutine psb_c_set_upper(a,val)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_c_set_upper end subroutine psb_c_set_upper
@ -226,7 +226,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_c_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_c_sparse_mat import :: psb_c_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -238,7 +238,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_get_neigh(a,idx,neigh,n,info,lev) subroutine psb_c_get_neigh(a,idx,neigh,n,info,lev)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer, intent(out) :: n integer, intent(out) :: n
@ -250,7 +250,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_csall(nr,nc,a,info,nz) subroutine psb_c_csall(nr,nc,a,info,nz)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(out) :: a class(psb_c_sparse_mat), intent(out) :: a
integer, intent(in) :: nr,nc integer, intent(in) :: nr,nc
integer, intent(out) :: info integer, intent(out) :: info
@ -260,7 +260,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_reallocate_nz(nz,a) subroutine psb_c_reallocate_nz(nz,a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_reallocate_nz end subroutine psb_c_reallocate_nz
@ -268,21 +268,21 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_free(a) subroutine psb_c_free(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_free end subroutine psb_c_free
end interface end interface
interface interface
subroutine psb_c_trim(a) subroutine psb_c_trim(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_trim end subroutine psb_c_trim
end interface end interface
interface interface
subroutine psb_c_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_c_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: val(:) complex(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -294,7 +294,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_c_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -310,7 +310,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_c_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -327,7 +327,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_csgetblk(imin,imax,a,b,info,& subroutine psb_c_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_sparse_mat), intent(out) :: b class(psb_c_sparse_mat), intent(out) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -342,7 +342,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_csclip(a,b,info,& subroutine psb_c_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_sparse_mat), intent(out) :: b class(psb_c_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -354,7 +354,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_b_csclip(a,b,info,& subroutine psb_c_b_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_c_sparse_mat, psb_spk_, psb_c_coo_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_coo_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
type(psb_c_coo_sparse_mat), intent(out) :: b type(psb_c_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -365,7 +365,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_cscnv(a,b,info,type,mold,upd,dupl) subroutine psb_c_cscnv(a,b,info,type,mold,upd,dupl)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_sparse_mat), intent(out) :: b class(psb_c_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -378,7 +378,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_cscnv_ip(a,iinfo,type,mold,dupl) subroutine psb_c_cscnv_ip(a,iinfo,type,mold,dupl)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
integer, intent(out) :: iinfo integer, intent(out) :: iinfo
integer,optional, intent(in) :: dupl integer,optional, intent(in) :: dupl
@ -390,7 +390,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_cscnv_base(a,b,info,dupl) subroutine psb_c_cscnv_base(a,b,info,dupl)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(out) :: b class(psb_c_base_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -400,7 +400,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_clip_d(a,b,info) subroutine psb_c_clip_d(a,b,info)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_sparse_mat), intent(out) :: b class(psb_c_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -409,7 +409,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_clip_d_ip(a,info) subroutine psb_c_clip_d_ip(a,info)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
integer,intent(out) :: info integer,intent(out) :: info
end subroutine psb_c_clip_d_ip end subroutine psb_c_clip_d_ip
@ -417,7 +417,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_mv_from(a,b) subroutine psb_c_mv_from(a,b)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(out) :: a class(psb_c_sparse_mat), intent(out) :: a
class(psb_c_base_sparse_mat), intent(inout) :: b class(psb_c_base_sparse_mat), intent(inout) :: b
end subroutine psb_c_mv_from end subroutine psb_c_mv_from
@ -425,7 +425,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_cp_from(a,b) subroutine psb_c_cp_from(a,b)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(out) :: a class(psb_c_sparse_mat), intent(out) :: a
class(psb_c_base_sparse_mat), intent(inout), allocatable :: b class(psb_c_base_sparse_mat), intent(inout), allocatable :: b
end subroutine psb_c_cp_from end subroutine psb_c_cp_from
@ -433,7 +433,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_mv_to(a,b) subroutine psb_c_mv_to(a,b)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
class(psb_c_base_sparse_mat), intent(out) :: b class(psb_c_base_sparse_mat), intent(out) :: b
end subroutine psb_c_mv_to end subroutine psb_c_mv_to
@ -441,7 +441,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_cp_to(a,b) subroutine psb_c_cp_to(a,b)
import psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat import :: psb_c_sparse_mat, psb_spk_, psb_c_base_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_base_sparse_mat), intent(out) :: b class(psb_c_base_sparse_mat), intent(out) :: b
end subroutine psb_c_cp_to end subroutine psb_c_cp_to
@ -449,7 +449,7 @@ module psb_c_mat_mod
interface psb_move_alloc interface psb_move_alloc
subroutine psb_c_sparse_mat_move(a,b,info) subroutine psb_c_sparse_mat_move(a,b,info)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
class(psb_c_sparse_mat), intent(out) :: b class(psb_c_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -459,7 +459,7 @@ module psb_c_mat_mod
interface psb_clone interface psb_clone
subroutine psb_c_sparse_mat_clone(a,b,info) subroutine psb_c_sparse_mat_clone(a,b,info)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
class(psb_c_sparse_mat), intent(out) :: b class(psb_c_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -468,14 +468,14 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_transp_1mat(a) subroutine psb_c_transp_1mat(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_transp_1mat end subroutine psb_c_transp_1mat
end interface end interface
interface interface
subroutine psb_c_transp_2mat(a,b) subroutine psb_c_transp_2mat(a,b)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(out) :: a class(psb_c_sparse_mat), intent(out) :: a
class(psb_c_sparse_mat), intent(in) :: b class(psb_c_sparse_mat), intent(in) :: b
end subroutine psb_c_transp_2mat end subroutine psb_c_transp_2mat
@ -483,14 +483,14 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_transc_1mat(a) subroutine psb_c_transc_1mat(a)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
end subroutine psb_c_transc_1mat end subroutine psb_c_transc_1mat
end interface end interface
interface interface
subroutine psb_c_transc_2mat(a,b) subroutine psb_c_transc_2mat(a,b)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(out) :: a class(psb_c_sparse_mat), intent(out) :: a
class(psb_c_sparse_mat), intent(in) :: b class(psb_c_sparse_mat), intent(in) :: b
end subroutine psb_c_transc_2mat end subroutine psb_c_transc_2mat
@ -498,7 +498,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_reinit(a,clear) subroutine psb_c_reinit(a,clear)
import psb_c_sparse_mat import :: psb_c_sparse_mat
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_c_reinit end subroutine psb_c_reinit
@ -522,7 +522,7 @@ module psb_c_mat_mod
interface psb_csmm interface psb_csmm
subroutine psb_c_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_c_csmm(alpha,a,x,beta,y,info,trans)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -530,7 +530,7 @@ module psb_c_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_c_csmm end subroutine psb_c_csmm
subroutine psb_c_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_c_csmv(alpha,a,x,beta,y,info,trans)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -541,7 +541,7 @@ module psb_c_mat_mod
interface psb_cssm interface psb_cssm
subroutine psb_c_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_c_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:,:) complex(psb_spk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_spk_), intent(inout) :: y(:,:) complex(psb_spk_), intent(inout) :: y(:,:)
@ -550,7 +550,7 @@ module psb_c_mat_mod
complex(psb_spk_), intent(in), optional :: d(:) complex(psb_spk_), intent(in), optional :: d(:)
end subroutine psb_c_cssm end subroutine psb_c_cssm
subroutine psb_c_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_c_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(in) :: alpha, beta, x(:) complex(psb_spk_), intent(in) :: alpha, beta, x(:)
complex(psb_spk_), intent(inout) :: y(:) complex(psb_spk_), intent(inout) :: y(:)
@ -562,7 +562,7 @@ module psb_c_mat_mod
interface interface
function psb_c_csnmi(a) result(res) function psb_c_csnmi(a) result(res)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_c_csnmi end function psb_c_csnmi
@ -570,7 +570,7 @@ module psb_c_mat_mod
interface interface
subroutine psb_c_get_diag(a,d,info) subroutine psb_c_get_diag(a,d,info)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
complex(psb_spk_), intent(out) :: d(:) complex(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -579,13 +579,13 @@ module psb_c_mat_mod
interface psb_scal interface psb_scal
subroutine psb_c_scal(d,a,info) subroutine psb_c_scal(d,a,info)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d(:) complex(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_c_scal end subroutine psb_c_scal
subroutine psb_c_scals(d,a,info) subroutine psb_c_scals(d,a,info)
import psb_c_sparse_mat, psb_spk_ import :: psb_c_sparse_mat, psb_spk_
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
complex(psb_spk_), intent(in) :: d complex(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -123,7 +123,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_d_base_csmm(alpha,a,x,beta,y,info,trans)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -134,7 +134,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_d_base_csmv(alpha,a,x,beta,y,info,trans)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -145,7 +145,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_inner_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_d_base_inner_cssm(alpha,a,x,beta,y,info,trans)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -156,7 +156,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_inner_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_d_base_inner_cssv(alpha,a,x,beta,y,info,trans)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -167,7 +167,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_d_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -179,7 +179,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_d_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -191,7 +191,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_scals(d,a,info) subroutine psb_d_base_scals(d,a,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d real(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info
@ -200,7 +200,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_scal(d,a,info) subroutine psb_d_base_scal(d,a,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d(:) real(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -209,7 +209,7 @@ module psb_d_base_mat_mod
interface interface
function psb_d_base_csnmi(a) result(res) function psb_d_base_csnmi(a) result(res)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_base_csnmi end function psb_d_base_csnmi
@ -217,7 +217,7 @@ module psb_d_base_mat_mod
interface interface
function psb_d_base_csnm1(a) result(res) function psb_d_base_csnm1(a) result(res)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_base_csnm1 end function psb_d_base_csnm1
@ -225,7 +225,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_rowsum(d,a) subroutine psb_d_base_rowsum(d,a)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_base_rowsum end subroutine psb_d_base_rowsum
@ -233,7 +233,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_arwsum(d,a) subroutine psb_d_base_arwsum(d,a)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_base_arwsum end subroutine psb_d_base_arwsum
@ -241,7 +241,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_colsum(d,a) subroutine psb_d_base_colsum(d,a)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_base_colsum end subroutine psb_d_base_colsum
@ -249,7 +249,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_aclsum(d,a) subroutine psb_d_base_aclsum(d,a)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_base_aclsum end subroutine psb_d_base_aclsum
@ -257,7 +257,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_get_diag(a,d,info) subroutine psb_d_base_get_diag(a,d,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -266,7 +266,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_d_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: val(:) real(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -278,7 +278,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_d_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -295,7 +295,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_csgetblk(imin,imax,a,b,info,& subroutine psb_d_base_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -311,7 +311,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_csclip(a,b,info,& subroutine psb_d_base_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(out) :: b class(psb_d_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -322,7 +322,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_mold(a,b,info) subroutine psb_d_base_mold(a,b,info)
import psb_d_base_sparse_mat, psb_long_int_k_ import :: psb_d_base_sparse_mat, psb_long_int_k_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(out), allocatable :: b class(psb_d_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -332,7 +332,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_cp_to_coo(a,b,info) subroutine psb_d_base_cp_to_coo(a,b,info)
import psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -341,7 +341,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_cp_from_coo(a,b,info) subroutine psb_d_base_cp_from_coo(a,b,info)
import psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(in) :: b class(psb_d_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -350,7 +350,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_cp_to_fmt(a,b,info) subroutine psb_d_base_cp_to_fmt(a,b,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(in) :: a class(psb_d_base_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -359,7 +359,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_cp_from_fmt(a,b,info) subroutine psb_d_base_cp_from_fmt(a,b,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(in) :: b class(psb_d_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -368,7 +368,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_mv_to_coo(a,b,info) subroutine psb_d_base_mv_to_coo(a,b,info)
import psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -377,7 +377,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_mv_from_coo(a,b,info) subroutine psb_d_base_mv_from_coo(a,b,info)
import psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -386,7 +386,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_mv_to_fmt(a,b,info) subroutine psb_d_base_mv_to_fmt(a,b,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -395,7 +395,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_mv_from_fmt(a,b,info) subroutine psb_d_base_mv_from_fmt(a,b,info)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -404,7 +404,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_transp_2mat(a,b) subroutine psb_d_base_transp_2mat(a,b)
import psb_d_base_sparse_mat, psb_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(out) :: a class(psb_d_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_d_base_transp_2mat end subroutine psb_d_base_transp_2mat
@ -412,7 +412,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_transc_2mat(a,b) subroutine psb_d_base_transc_2mat(a,b)
import psb_d_base_sparse_mat, psb_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(out) :: a class(psb_d_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_d_base_transc_2mat end subroutine psb_d_base_transc_2mat
@ -420,14 +420,14 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_base_transp_1mat(a) subroutine psb_d_base_transp_1mat(a)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
end subroutine psb_d_base_transp_1mat end subroutine psb_d_base_transp_1mat
end interface end interface
interface interface
subroutine psb_d_base_transc_1mat(a) subroutine psb_d_base_transc_1mat(a)
import psb_d_base_sparse_mat, psb_dpk_ import :: psb_d_base_sparse_mat, psb_dpk_
class(psb_d_base_sparse_mat), intent(inout) :: a class(psb_d_base_sparse_mat), intent(inout) :: a
end subroutine psb_d_base_transc_1mat end subroutine psb_d_base_transc_1mat
end interface end interface
@ -443,7 +443,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_reallocate_nz(nz,a) subroutine psb_d_coo_reallocate_nz(nz,a)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
end subroutine psb_d_coo_reallocate_nz end subroutine psb_d_coo_reallocate_nz
@ -451,7 +451,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_reinit(a,clear) subroutine psb_d_coo_reinit(a,clear)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_d_coo_reinit end subroutine psb_d_coo_reinit
@ -459,14 +459,14 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_trim(a) subroutine psb_d_coo_trim(a)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
end subroutine psb_d_coo_trim end subroutine psb_d_coo_trim
end interface end interface
interface interface
subroutine psb_d_coo_allocate_mnnz(m,n,a,nz) subroutine psb_d_coo_allocate_mnnz(m,n,a,nz)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -475,7 +475,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_mold(a,b,info) subroutine psb_d_coo_mold(a,b,info)
import psb_d_coo_sparse_mat, psb_d_base_sparse_mat, psb_long_int_k_ import :: psb_d_coo_sparse_mat, psb_d_base_sparse_mat, psb_long_int_k_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(out), allocatable :: b class(psb_d_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -485,7 +485,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_d_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -498,7 +498,7 @@ module psb_d_base_mat_mod
interface interface
function psb_d_coo_get_nz_row(idx,a) result(res) function psb_d_coo_get_nz_row(idx,a) result(res)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer :: res integer :: res
@ -508,7 +508,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir) subroutine psb_d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
import psb_dpk_ import :: psb_dpk_
integer, intent(in) :: nzin,dupl integer, intent(in) :: nzin,dupl
integer, intent(inout) :: ia(:), ja(:) integer, intent(inout) :: ia(:), ja(:)
real(psb_dpk_), intent(inout) :: val(:) real(psb_dpk_), intent(inout) :: val(:)
@ -519,7 +519,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_fix_coo(a,info,idir) subroutine psb_d_fix_coo(a,info,idir)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: idir integer, intent(in), optional :: idir
@ -528,7 +528,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_cp_coo_to_coo(a,b,info) subroutine psb_d_cp_coo_to_coo(a,b,info)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -537,7 +537,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_cp_coo_from_coo(a,b,info) subroutine psb_d_cp_coo_from_coo(a,b,info)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(in) :: b class(psb_d_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -546,7 +546,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_cp_coo_to_fmt(a,b,info) subroutine psb_d_cp_coo_to_fmt(a,b,info)
import psb_d_coo_sparse_mat, psb_d_base_sparse_mat import :: psb_d_coo_sparse_mat, psb_d_base_sparse_mat
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -555,7 +555,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_cp_coo_from_fmt(a,b,info) subroutine psb_d_cp_coo_from_fmt(a,b,info)
import psb_d_coo_sparse_mat, psb_d_base_sparse_mat import :: psb_d_coo_sparse_mat, psb_d_base_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(in) :: b class(psb_d_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -564,7 +564,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_mv_coo_to_coo(a,b,info) subroutine psb_d_mv_coo_to_coo(a,b,info)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -573,7 +573,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_mv_coo_from_coo(a,b,info) subroutine psb_d_mv_coo_from_coo(a,b,info)
import psb_d_coo_sparse_mat import :: psb_d_coo_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -582,7 +582,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_mv_coo_to_fmt(a,b,info) subroutine psb_d_mv_coo_to_fmt(a,b,info)
import psb_d_coo_sparse_mat, psb_d_base_sparse_mat import :: psb_d_coo_sparse_mat, psb_d_base_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -591,7 +591,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_mv_coo_from_fmt(a,b,info) subroutine psb_d_mv_coo_from_fmt(a,b,info)
import psb_d_coo_sparse_mat, psb_d_base_sparse_mat import :: psb_d_coo_sparse_mat, psb_d_base_sparse_mat
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -600,7 +600,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_cp_from(a,b) subroutine psb_d_coo_cp_from(a,b)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
type(psb_d_coo_sparse_mat), intent(in) :: b type(psb_d_coo_sparse_mat), intent(in) :: b
end subroutine psb_d_coo_cp_from end subroutine psb_d_coo_cp_from
@ -608,7 +608,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_mv_from(a,b) subroutine psb_d_coo_mv_from(a,b)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
type(psb_d_coo_sparse_mat), intent(inout) :: b type(psb_d_coo_sparse_mat), intent(inout) :: b
end subroutine psb_d_coo_mv_from end subroutine psb_d_coo_mv_from
@ -617,7 +617,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_d_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: val(:) real(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -630,7 +630,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_d_coo_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -646,7 +646,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_d_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -662,7 +662,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_d_coo_cssv(alpha,a,x,beta,y,info,trans)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -670,7 +670,7 @@ module psb_d_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_coo_cssv end subroutine psb_d_coo_cssv
subroutine psb_d_coo_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_d_coo_cssm(alpha,a,x,beta,y,info,trans)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -681,7 +681,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_d_coo_csmv(alpha,a,x,beta,y,info,trans)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -689,7 +689,7 @@ module psb_d_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_coo_csmv end subroutine psb_d_coo_csmv
subroutine psb_d_coo_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_d_coo_csmm(alpha,a,x,beta,y,info,trans)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -701,7 +701,7 @@ module psb_d_base_mat_mod
interface interface
function psb_d_coo_csnmi(a) result(res) function psb_d_coo_csnmi(a) result(res)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_coo_csnmi end function psb_d_coo_csnmi
@ -709,7 +709,7 @@ module psb_d_base_mat_mod
interface interface
function psb_d_coo_csnm1(a) result(res) function psb_d_coo_csnm1(a) result(res)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_coo_csnm1 end function psb_d_coo_csnm1
@ -717,7 +717,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_rowsum(d,a) subroutine psb_d_coo_rowsum(d,a)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_coo_rowsum end subroutine psb_d_coo_rowsum
@ -725,7 +725,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_arwsum(d,a) subroutine psb_d_coo_arwsum(d,a)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_coo_arwsum end subroutine psb_d_coo_arwsum
@ -733,7 +733,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_colsum(d,a) subroutine psb_d_coo_colsum(d,a)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_coo_colsum end subroutine psb_d_coo_colsum
@ -741,7 +741,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_aclsum(d,a) subroutine psb_d_coo_aclsum(d,a)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_coo_aclsum end subroutine psb_d_coo_aclsum
@ -750,7 +750,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_get_diag(a,d,info) subroutine psb_d_coo_get_diag(a,d,info)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(in) :: a class(psb_d_coo_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -759,7 +759,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_scal(d,a,info) subroutine psb_d_coo_scal(d,a,info)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d(:) real(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -768,7 +768,7 @@ module psb_d_base_mat_mod
interface interface
subroutine psb_d_coo_scals(d,a,info) subroutine psb_d_coo_scals(d,a,info)
import psb_d_coo_sparse_mat, psb_dpk_ import :: psb_d_coo_sparse_mat, psb_dpk_
class(psb_d_coo_sparse_mat), intent(inout) :: a class(psb_d_coo_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d real(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -56,7 +56,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_reallocate_nz(nz,a) subroutine psb_d_csc_reallocate_nz(nz,a)
import psb_d_csc_sparse_mat import :: psb_d_csc_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
end subroutine psb_d_csc_reallocate_nz end subroutine psb_d_csc_reallocate_nz
@ -64,7 +64,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_reinit(a,clear) subroutine psb_d_csc_reinit(a,clear)
import psb_d_csc_sparse_mat import :: psb_d_csc_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_d_csc_reinit end subroutine psb_d_csc_reinit
@ -72,14 +72,14 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_trim(a) subroutine psb_d_csc_trim(a)
import psb_d_csc_sparse_mat import :: psb_d_csc_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
end subroutine psb_d_csc_trim end subroutine psb_d_csc_trim
end interface end interface
interface interface
subroutine psb_d_csc_allocate_mnnz(m,n,a,nz) subroutine psb_d_csc_allocate_mnnz(m,n,a,nz)
import psb_d_csc_sparse_mat import :: psb_d_csc_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -88,7 +88,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_mold(a,b,info) subroutine psb_d_csc_mold(a,b,info)
import psb_d_csc_sparse_mat, psb_d_base_sparse_mat, psb_long_int_k_ import :: psb_d_csc_sparse_mat, psb_d_base_sparse_mat, psb_long_int_k_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(out), allocatable :: b class(psb_d_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -97,7 +97,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_d_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_d_csc_sparse_mat import :: psb_d_csc_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -109,7 +109,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_cp_csc_to_coo(a,b,info) subroutine psb_d_cp_csc_to_coo(a,b,info)
import psb_d_coo_sparse_mat, psb_d_csc_sparse_mat import :: psb_d_coo_sparse_mat, psb_d_csc_sparse_mat
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -118,7 +118,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_cp_csc_from_coo(a,b,info) subroutine psb_d_cp_csc_from_coo(a,b,info)
import psb_d_csc_sparse_mat, psb_d_coo_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_coo_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(in) :: b class(psb_d_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -127,7 +127,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_cp_csc_to_fmt(a,b,info) subroutine psb_d_cp_csc_to_fmt(a,b,info)
import psb_d_csc_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -136,7 +136,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_cp_csc_from_fmt(a,b,info) subroutine psb_d_cp_csc_from_fmt(a,b,info)
import psb_d_csc_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(in) :: b class(psb_d_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -145,7 +145,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_mv_csc_to_coo(a,b,info) subroutine psb_d_mv_csc_to_coo(a,b,info)
import psb_d_csc_sparse_mat, psb_d_coo_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_coo_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -154,7 +154,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_mv_csc_from_coo(a,b,info) subroutine psb_d_mv_csc_from_coo(a,b,info)
import psb_d_csc_sparse_mat, psb_d_coo_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_coo_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -163,7 +163,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_mv_csc_to_fmt(a,b,info) subroutine psb_d_mv_csc_to_fmt(a,b,info)
import psb_d_csc_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -172,7 +172,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_mv_csc_from_fmt(a,b,info) subroutine psb_d_mv_csc_from_fmt(a,b,info)
import psb_d_csc_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csc_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -181,7 +181,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_cp_from(a,b) subroutine psb_d_csc_cp_from(a,b)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
type(psb_d_csc_sparse_mat), intent(in) :: b type(psb_d_csc_sparse_mat), intent(in) :: b
end subroutine psb_d_csc_cp_from end subroutine psb_d_csc_cp_from
@ -189,7 +189,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_mv_from(a,b) subroutine psb_d_csc_mv_from(a,b)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
type(psb_d_csc_sparse_mat), intent(inout) :: b type(psb_d_csc_sparse_mat), intent(inout) :: b
end subroutine psb_d_csc_mv_from end subroutine psb_d_csc_mv_from
@ -198,7 +198,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_d_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: val(:) real(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -211,7 +211,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_d_csc_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -227,7 +227,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_d_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -244,7 +244,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_csgetblk(imin,imax,a,b,info,& subroutine psb_d_csc_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_d_csc_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat import :: psb_d_csc_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -258,7 +258,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_d_csc_cssv(alpha,a,x,beta,y,info,trans)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -266,7 +266,7 @@ module psb_d_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_csc_cssv end subroutine psb_d_csc_cssv
subroutine psb_d_csc_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_d_csc_cssm(alpha,a,x,beta,y,info,trans)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -277,7 +277,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_d_csc_csmv(alpha,a,x,beta,y,info,trans)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -285,7 +285,7 @@ module psb_d_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_csc_csmv end subroutine psb_d_csc_csmv
subroutine psb_d_csc_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_d_csc_csmm(alpha,a,x,beta,y,info,trans)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -297,7 +297,7 @@ module psb_d_csc_mat_mod
interface interface
function psb_d_csc_csnmi(a) result(res) function psb_d_csc_csnmi(a) result(res)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_csc_csnmi end function psb_d_csc_csnmi
@ -305,7 +305,7 @@ module psb_d_csc_mat_mod
interface interface
function psb_d_csc_csnm1(a) result(res) function psb_d_csc_csnm1(a) result(res)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_csc_csnm1 end function psb_d_csc_csnm1
@ -313,7 +313,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_rowsum(d,a) subroutine psb_d_csc_rowsum(d,a)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csc_rowsum end subroutine psb_d_csc_rowsum
@ -321,7 +321,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_arwsum(d,a) subroutine psb_d_csc_arwsum(d,a)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csc_arwsum end subroutine psb_d_csc_arwsum
@ -329,7 +329,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_colsum(d,a) subroutine psb_d_csc_colsum(d,a)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csc_colsum end subroutine psb_d_csc_colsum
@ -337,7 +337,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_aclsum(d,a) subroutine psb_d_csc_aclsum(d,a)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csc_aclsum end subroutine psb_d_csc_aclsum
@ -345,7 +345,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_get_diag(a,d,info) subroutine psb_d_csc_get_diag(a,d,info)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(in) :: a class(psb_d_csc_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -354,7 +354,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_scal(d,a,info) subroutine psb_d_csc_scal(d,a,info)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d(:) real(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -363,7 +363,7 @@ module psb_d_csc_mat_mod
interface interface
subroutine psb_d_csc_scals(d,a,info) subroutine psb_d_csc_scals(d,a,info)
import psb_d_csc_sparse_mat, psb_dpk_ import :: psb_d_csc_sparse_mat, psb_dpk_
class(psb_d_csc_sparse_mat), intent(inout) :: a class(psb_d_csc_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d real(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -56,7 +56,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_reallocate_nz(nz,a) subroutine psb_d_csr_reallocate_nz(nz,a)
import psb_d_csr_sparse_mat import :: psb_d_csr_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
end subroutine psb_d_csr_reallocate_nz end subroutine psb_d_csr_reallocate_nz
@ -64,7 +64,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_reinit(a,clear) subroutine psb_d_csr_reinit(a,clear)
import psb_d_csr_sparse_mat import :: psb_d_csr_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_d_csr_reinit end subroutine psb_d_csr_reinit
@ -72,14 +72,14 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_trim(a) subroutine psb_d_csr_trim(a)
import psb_d_csr_sparse_mat import :: psb_d_csr_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
end subroutine psb_d_csr_trim end subroutine psb_d_csr_trim
end interface end interface
interface interface
subroutine psb_d_csr_mold(a,b,info) subroutine psb_d_csr_mold(a,b,info)
import psb_d_csr_sparse_mat, psb_d_base_sparse_mat, psb_long_int_k_ import :: psb_d_csr_sparse_mat, psb_d_base_sparse_mat, psb_long_int_k_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(out), allocatable :: b class(psb_d_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -88,7 +88,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_allocate_mnnz(m,n,a,nz) subroutine psb_d_csr_allocate_mnnz(m,n,a,nz)
import psb_d_csr_sparse_mat import :: psb_d_csr_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -97,7 +97,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_d_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_d_csr_sparse_mat import :: psb_d_csr_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -109,7 +109,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_cp_csr_to_coo(a,b,info) subroutine psb_d_cp_csr_to_coo(a,b,info)
import psb_d_coo_sparse_mat, psb_d_csr_sparse_mat import :: psb_d_coo_sparse_mat, psb_d_csr_sparse_mat
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -118,7 +118,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_cp_csr_from_coo(a,b,info) subroutine psb_d_cp_csr_from_coo(a,b,info)
import psb_d_csr_sparse_mat, psb_d_coo_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_coo_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(in) :: b class(psb_d_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -127,7 +127,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_cp_csr_to_fmt(a,b,info) subroutine psb_d_cp_csr_to_fmt(a,b,info)
import psb_d_csr_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -136,7 +136,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_cp_csr_from_fmt(a,b,info) subroutine psb_d_cp_csr_from_fmt(a,b,info)
import psb_d_csr_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(in) :: b class(psb_d_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -145,7 +145,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_mv_csr_to_coo(a,b,info) subroutine psb_d_mv_csr_to_coo(a,b,info)
import psb_d_csr_sparse_mat, psb_d_coo_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_coo_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -154,7 +154,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_mv_csr_from_coo(a,b,info) subroutine psb_d_mv_csr_from_coo(a,b,info)
import psb_d_csr_sparse_mat, psb_d_coo_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_coo_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -163,7 +163,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_mv_csr_to_fmt(a,b,info) subroutine psb_d_mv_csr_to_fmt(a,b,info)
import psb_d_csr_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -172,7 +172,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_mv_csr_from_fmt(a,b,info) subroutine psb_d_mv_csr_from_fmt(a,b,info)
import psb_d_csr_sparse_mat, psb_d_base_sparse_mat import :: psb_d_csr_sparse_mat, psb_d_base_sparse_mat
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -181,7 +181,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_cp_from(a,b) subroutine psb_d_csr_cp_from(a,b)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
type(psb_d_csr_sparse_mat), intent(in) :: b type(psb_d_csr_sparse_mat), intent(in) :: b
end subroutine psb_d_csr_cp_from end subroutine psb_d_csr_cp_from
@ -189,7 +189,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_mv_from(a,b) subroutine psb_d_csr_mv_from(a,b)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
type(psb_d_csr_sparse_mat), intent(inout) :: b type(psb_d_csr_sparse_mat), intent(inout) :: b
end subroutine psb_d_csr_mv_from end subroutine psb_d_csr_mv_from
@ -198,7 +198,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_d_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: val(:) real(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -211,7 +211,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_d_csr_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -227,7 +227,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_d_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -244,7 +244,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_csgetblk(imin,imax,a,b,info,& subroutine psb_d_csr_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_d_csr_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat import :: psb_d_csr_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
class(psb_d_coo_sparse_mat), intent(inout) :: b class(psb_d_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -258,7 +258,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_d_csr_cssv(alpha,a,x,beta,y,info,trans)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -266,7 +266,7 @@ module psb_d_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_csr_cssv end subroutine psb_d_csr_cssv
subroutine psb_d_csr_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_d_csr_cssm(alpha,a,x,beta,y,info,trans)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -277,7 +277,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_d_csr_csmv(alpha,a,x,beta,y,info,trans)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -285,7 +285,7 @@ module psb_d_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_csr_csmv end subroutine psb_d_csr_csmv
subroutine psb_d_csr_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_d_csr_csmm(alpha,a,x,beta,y,info,trans)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -297,7 +297,7 @@ module psb_d_csr_mat_mod
interface interface
function psb_d_csr_csnmi(a) result(res) function psb_d_csr_csnmi(a) result(res)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_csr_csnmi end function psb_d_csr_csnmi
@ -305,7 +305,7 @@ module psb_d_csr_mat_mod
interface interface
function psb_d_csr_csnm1(a) result(res) function psb_d_csr_csnm1(a) result(res)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_csr_csnm1 end function psb_d_csr_csnm1
@ -313,7 +313,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_rowsum(d,a) subroutine psb_d_csr_rowsum(d,a)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csr_rowsum end subroutine psb_d_csr_rowsum
@ -321,7 +321,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_arwsum(d,a) subroutine psb_d_csr_arwsum(d,a)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csr_arwsum end subroutine psb_d_csr_arwsum
@ -329,7 +329,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_colsum(d,a) subroutine psb_d_csr_colsum(d,a)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csr_colsum end subroutine psb_d_csr_colsum
@ -337,7 +337,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_aclsum(d,a) subroutine psb_d_csr_aclsum(d,a)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_csr_aclsum end subroutine psb_d_csr_aclsum
@ -345,7 +345,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_get_diag(a,d,info) subroutine psb_d_csr_get_diag(a,d,info)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(in) :: a class(psb_d_csr_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -354,7 +354,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_scal(d,a,info) subroutine psb_d_csr_scal(d,a,info)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d(:) real(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -363,7 +363,7 @@ module psb_d_csr_mat_mod
interface interface
subroutine psb_d_csr_scals(d,a,info) subroutine psb_d_csr_scals(d,a,info)
import psb_d_csr_sparse_mat, psb_dpk_ import :: psb_d_csr_sparse_mat, psb_dpk_
class(psb_d_csr_sparse_mat), intent(inout) :: a class(psb_d_csr_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d real(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -130,7 +130,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_nrows(m,a) subroutine psb_d_set_nrows(m,a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
integer, intent(in) :: m integer, intent(in) :: m
end subroutine psb_d_set_nrows end subroutine psb_d_set_nrows
@ -138,7 +138,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_ncols(n,a) subroutine psb_d_set_ncols(n,a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_d_set_ncols end subroutine psb_d_set_ncols
@ -146,7 +146,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_state(n,a) subroutine psb_d_set_state(n,a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_d_set_state end subroutine psb_d_set_state
@ -154,7 +154,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_dupl(n,a) subroutine psb_d_set_dupl(n,a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_d_set_dupl end subroutine psb_d_set_dupl
@ -162,35 +162,35 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_null(a) subroutine psb_d_set_null(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_set_null end subroutine psb_d_set_null
end interface end interface
interface interface
subroutine psb_d_set_bld(a) subroutine psb_d_set_bld(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_set_bld end subroutine psb_d_set_bld
end interface end interface
interface interface
subroutine psb_d_set_upd(a) subroutine psb_d_set_upd(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_set_upd end subroutine psb_d_set_upd
end interface end interface
interface interface
subroutine psb_d_set_asb(a) subroutine psb_d_set_asb(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_set_asb end subroutine psb_d_set_asb
end interface end interface
interface interface
subroutine psb_d_set_sorted(a,val) subroutine psb_d_set_sorted(a,val)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_d_set_sorted end subroutine psb_d_set_sorted
@ -198,7 +198,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_triangle(a,val) subroutine psb_d_set_triangle(a,val)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_d_set_triangle end subroutine psb_d_set_triangle
@ -206,7 +206,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_unit(a,val) subroutine psb_d_set_unit(a,val)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_d_set_unit end subroutine psb_d_set_unit
@ -214,7 +214,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_lower(a,val) subroutine psb_d_set_lower(a,val)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_d_set_lower end subroutine psb_d_set_lower
@ -222,7 +222,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_set_upper(a,val) subroutine psb_d_set_upper(a,val)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_d_set_upper end subroutine psb_d_set_upper
@ -231,7 +231,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_d_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_d_sparse_mat import :: psb_d_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -243,7 +243,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_get_neigh(a,idx,neigh,n,info,lev) subroutine psb_d_get_neigh(a,idx,neigh,n,info,lev)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer, intent(out) :: n integer, intent(out) :: n
@ -255,7 +255,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csall(nr,nc,a,info,nz) subroutine psb_d_csall(nr,nc,a,info,nz)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(out) :: a class(psb_d_sparse_mat), intent(out) :: a
integer, intent(in) :: nr,nc integer, intent(in) :: nr,nc
integer, intent(out) :: info integer, intent(out) :: info
@ -265,7 +265,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_reallocate_nz(nz,a) subroutine psb_d_reallocate_nz(nz,a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_reallocate_nz end subroutine psb_d_reallocate_nz
@ -273,21 +273,21 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_free(a) subroutine psb_d_free(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_free end subroutine psb_d_free
end interface end interface
interface interface
subroutine psb_d_trim(a) subroutine psb_d_trim(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_trim end subroutine psb_d_trim
end interface end interface
interface interface
subroutine psb_d_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_d_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: val(:) real(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -299,7 +299,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_d_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -315,7 +315,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_d_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -332,7 +332,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csgetblk(imin,imax,a,b,info,& subroutine psb_d_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -347,7 +347,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csclip(a,b,info,& subroutine psb_d_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -359,7 +359,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_b_csclip(a,b,info,& subroutine psb_d_b_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
type(psb_d_coo_sparse_mat), intent(out) :: b type(psb_d_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -370,7 +370,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_cscnv(a,b,info,type,mold,upd,dupl) subroutine psb_d_cscnv(a,b,info,type,mold,upd,dupl)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -383,7 +383,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_cscnv_ip(a,iinfo,type,mold,dupl) subroutine psb_d_cscnv_ip(a,iinfo,type,mold,dupl)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
integer, intent(out) :: iinfo integer, intent(out) :: iinfo
integer,optional, intent(in) :: dupl integer,optional, intent(in) :: dupl
@ -395,7 +395,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_cscnv_base(a,b,info,dupl) subroutine psb_d_cscnv_base(a,b,info,dupl)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(out) :: b class(psb_d_base_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -405,7 +405,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_clip_d(a,b,info) subroutine psb_d_clip_d(a,b,info)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -414,7 +414,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_clip_d_ip(a,info) subroutine psb_d_clip_d_ip(a,info)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
integer,intent(out) :: info integer,intent(out) :: info
end subroutine psb_d_clip_d_ip end subroutine psb_d_clip_d_ip
@ -422,7 +422,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_mv_from(a,b) subroutine psb_d_mv_from(a,b)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(out) :: a class(psb_d_sparse_mat), intent(out) :: a
class(psb_d_base_sparse_mat), intent(inout) :: b class(psb_d_base_sparse_mat), intent(inout) :: b
end subroutine psb_d_mv_from end subroutine psb_d_mv_from
@ -430,7 +430,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_cp_from(a,b) subroutine psb_d_cp_from(a,b)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(out) :: a class(psb_d_sparse_mat), intent(out) :: a
class(psb_d_base_sparse_mat), intent(inout), allocatable :: b class(psb_d_base_sparse_mat), intent(inout), allocatable :: b
end subroutine psb_d_cp_from end subroutine psb_d_cp_from
@ -438,7 +438,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_mv_to(a,b) subroutine psb_d_mv_to(a,b)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
class(psb_d_base_sparse_mat), intent(out) :: b class(psb_d_base_sparse_mat), intent(out) :: b
end subroutine psb_d_mv_to end subroutine psb_d_mv_to
@ -446,7 +446,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_cp_to(a,b) subroutine psb_d_cp_to(a,b)
import psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat import :: psb_d_sparse_mat, psb_dpk_, psb_d_base_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_base_sparse_mat), intent(out) :: b class(psb_d_base_sparse_mat), intent(out) :: b
end subroutine psb_d_cp_to end subroutine psb_d_cp_to
@ -454,7 +454,7 @@ module psb_d_mat_mod
interface psb_move_alloc interface psb_move_alloc
subroutine psb_d_sparse_mat_move(a,b,info) subroutine psb_d_sparse_mat_move(a,b,info)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -464,7 +464,7 @@ module psb_d_mat_mod
interface psb_clone interface psb_clone
subroutine psb_d_sparse_mat_clone(a,b,info) subroutine psb_d_sparse_mat_clone(a,b,info)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -473,14 +473,14 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_transp_1mat(a) subroutine psb_d_transp_1mat(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_transp_1mat end subroutine psb_d_transp_1mat
end interface end interface
interface interface
subroutine psb_d_transp_2mat(a,b) subroutine psb_d_transp_2mat(a,b)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(out) :: a class(psb_d_sparse_mat), intent(out) :: a
class(psb_d_sparse_mat), intent(in) :: b class(psb_d_sparse_mat), intent(in) :: b
end subroutine psb_d_transp_2mat end subroutine psb_d_transp_2mat
@ -488,14 +488,14 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_transc_1mat(a) subroutine psb_d_transc_1mat(a)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
end subroutine psb_d_transc_1mat end subroutine psb_d_transc_1mat
end interface end interface
interface interface
subroutine psb_d_transc_2mat(a,b) subroutine psb_d_transc_2mat(a,b)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(out) :: a class(psb_d_sparse_mat), intent(out) :: a
class(psb_d_sparse_mat), intent(in) :: b class(psb_d_sparse_mat), intent(in) :: b
end subroutine psb_d_transc_2mat end subroutine psb_d_transc_2mat
@ -503,7 +503,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_reinit(a,clear) subroutine psb_d_reinit(a,clear)
import psb_d_sparse_mat import :: psb_d_sparse_mat
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_d_reinit end subroutine psb_d_reinit
@ -526,7 +526,7 @@ module psb_d_mat_mod
interface psb_csmm interface psb_csmm
subroutine psb_d_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_d_csmm(alpha,a,x,beta,y,info,trans)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -534,7 +534,7 @@ module psb_d_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_d_csmm end subroutine psb_d_csmm
subroutine psb_d_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_d_csmv(alpha,a,x,beta,y,info,trans)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -545,7 +545,7 @@ module psb_d_mat_mod
interface psb_cssm interface psb_cssm
subroutine psb_d_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_d_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:) real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
real(psb_dpk_), intent(inout) :: y(:,:) real(psb_dpk_), intent(inout) :: y(:,:)
@ -554,7 +554,7 @@ module psb_d_mat_mod
real(psb_dpk_), intent(in), optional :: d(:) real(psb_dpk_), intent(in), optional :: d(:)
end subroutine psb_d_cssm end subroutine psb_d_cssm
subroutine psb_d_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_d_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(in) :: alpha, beta, x(:) real(psb_dpk_), intent(in) :: alpha, beta, x(:)
real(psb_dpk_), intent(inout) :: y(:) real(psb_dpk_), intent(inout) :: y(:)
@ -566,7 +566,7 @@ module psb_d_mat_mod
interface interface
function psb_d_csnmi(a) result(res) function psb_d_csnmi(a) result(res)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_csnmi end function psb_d_csnmi
@ -574,7 +574,7 @@ module psb_d_mat_mod
interface interface
function psb_d_csnm1(a) result(res) function psb_d_csnm1(a) result(res)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_d_csnm1 end function psb_d_csnm1
@ -582,7 +582,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_rowsum(d,a) subroutine psb_d_rowsum(d,a)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_rowsum end subroutine psb_d_rowsum
@ -590,7 +590,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_arwsum(d,a) subroutine psb_d_arwsum(d,a)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_arwsum end subroutine psb_d_arwsum
@ -598,7 +598,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_colsum(d,a) subroutine psb_d_colsum(d,a)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_colsum end subroutine psb_d_colsum
@ -606,7 +606,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_aclsum(d,a) subroutine psb_d_aclsum(d,a)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
end subroutine psb_d_aclsum end subroutine psb_d_aclsum
@ -615,7 +615,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_get_diag(a,d,info) subroutine psb_d_get_diag(a,d,info)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
real(psb_dpk_), intent(out) :: d(:) real(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -624,13 +624,13 @@ module psb_d_mat_mod
interface psb_scal interface psb_scal
subroutine psb_d_scal(d,a,info) subroutine psb_d_scal(d,a,info)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d(:) real(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_d_scal end subroutine psb_d_scal
subroutine psb_d_scals(d,a,info) subroutine psb_d_scals(d,a,info)
import psb_d_sparse_mat, psb_dpk_ import :: psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
real(psb_dpk_), intent(in) :: d real(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,7 @@
!!$ !!$
!!$ Parallel Sparse BLAS v2.0 !!$ Parallel Sparse BLAS v2.0
!!$ (C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
!!$ Redistribution and use in source and binary forms, with or without !!$ Redistribution and use in source and binary forms, with or without

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -113,7 +113,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_s_base_csmm(alpha,a,x,beta,y,info,trans)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -124,7 +124,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_s_base_csmv(alpha,a,x,beta,y,info,trans)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -135,7 +135,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_inner_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_s_base_inner_cssm(alpha,a,x,beta,y,info,trans)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -146,7 +146,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_inner_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_s_base_inner_cssv(alpha,a,x,beta,y,info,trans)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -157,7 +157,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_s_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -169,7 +169,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_s_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -181,7 +181,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_scals(d,a,info) subroutine psb_s_base_scals(d,a,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d real(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info
@ -190,7 +190,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_scal(d,a,info) subroutine psb_s_base_scal(d,a,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d(:) real(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -199,7 +199,7 @@ module psb_s_base_mat_mod
interface interface
function psb_s_base_csnmi(a) result(res) function psb_s_base_csnmi(a) result(res)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_s_base_csnmi end function psb_s_base_csnmi
@ -207,7 +207,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_get_diag(a,d,info) subroutine psb_s_base_get_diag(a,d,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
real(psb_spk_), intent(out) :: d(:) real(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -216,7 +216,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_s_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: val(:) real(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -228,7 +228,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_s_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -245,7 +245,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_csgetblk(imin,imax,a,b,info,& subroutine psb_s_base_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -261,7 +261,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_csclip(a,b,info,& subroutine psb_s_base_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(out) :: b class(psb_s_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -272,7 +272,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_mold(a,b,info) subroutine psb_s_base_mold(a,b,info)
import psb_s_base_sparse_mat, psb_long_int_k_ import :: psb_s_base_sparse_mat, psb_long_int_k_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(out), allocatable :: b class(psb_s_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -282,7 +282,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_cp_to_coo(a,b,info) subroutine psb_s_base_cp_to_coo(a,b,info)
import psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -291,7 +291,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_cp_from_coo(a,b,info) subroutine psb_s_base_cp_from_coo(a,b,info)
import psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(in) :: b class(psb_s_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -300,7 +300,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_cp_to_fmt(a,b,info) subroutine psb_s_base_cp_to_fmt(a,b,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(in) :: a class(psb_s_base_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_cp_from_fmt(a,b,info) subroutine psb_s_base_cp_from_fmt(a,b,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(in) :: b class(psb_s_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_mv_to_coo(a,b,info) subroutine psb_s_base_mv_to_coo(a,b,info)
import psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -327,7 +327,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_mv_from_coo(a,b,info) subroutine psb_s_base_mv_from_coo(a,b,info)
import psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -336,7 +336,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_mv_to_fmt(a,b,info) subroutine psb_s_base_mv_to_fmt(a,b,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -345,7 +345,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_mv_from_fmt(a,b,info) subroutine psb_s_base_mv_from_fmt(a,b,info)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -354,7 +354,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_transp_2mat(a,b) subroutine psb_s_base_transp_2mat(a,b)
import psb_s_base_sparse_mat, psb_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(out) :: a class(psb_s_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_s_base_transp_2mat end subroutine psb_s_base_transp_2mat
@ -362,7 +362,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_transc_2mat(a,b) subroutine psb_s_base_transc_2mat(a,b)
import psb_s_base_sparse_mat, psb_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(out) :: a class(psb_s_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_s_base_transc_2mat end subroutine psb_s_base_transc_2mat
@ -370,14 +370,14 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_base_transp_1mat(a) subroutine psb_s_base_transp_1mat(a)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
end subroutine psb_s_base_transp_1mat end subroutine psb_s_base_transp_1mat
end interface end interface
interface interface
subroutine psb_s_base_transc_1mat(a) subroutine psb_s_base_transc_1mat(a)
import psb_s_base_sparse_mat, psb_spk_ import :: psb_s_base_sparse_mat, psb_spk_
class(psb_s_base_sparse_mat), intent(inout) :: a class(psb_s_base_sparse_mat), intent(inout) :: a
end subroutine psb_s_base_transc_1mat end subroutine psb_s_base_transc_1mat
end interface end interface
@ -393,7 +393,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_reallocate_nz(nz,a) subroutine psb_s_coo_reallocate_nz(nz,a)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
end subroutine psb_s_coo_reallocate_nz end subroutine psb_s_coo_reallocate_nz
@ -401,7 +401,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_reinit(a,clear) subroutine psb_s_coo_reinit(a,clear)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_s_coo_reinit end subroutine psb_s_coo_reinit
@ -409,14 +409,14 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_trim(a) subroutine psb_s_coo_trim(a)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
end subroutine psb_s_coo_trim end subroutine psb_s_coo_trim
end interface end interface
interface interface
subroutine psb_s_coo_allocate_mnnz(m,n,a,nz) subroutine psb_s_coo_allocate_mnnz(m,n,a,nz)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -425,7 +425,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_mold(a,b,info) subroutine psb_s_coo_mold(a,b,info)
import psb_s_coo_sparse_mat, psb_s_base_sparse_mat, psb_long_int_k_ import :: psb_s_coo_sparse_mat, psb_s_base_sparse_mat, psb_long_int_k_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(out), allocatable :: b class(psb_s_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -434,7 +434,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_s_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -447,7 +447,7 @@ module psb_s_base_mat_mod
interface interface
function psb_s_coo_get_nz_row(idx,a) result(res) function psb_s_coo_get_nz_row(idx,a) result(res)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer :: res integer :: res
@ -457,7 +457,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir) subroutine psb_s_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
import psb_spk_ import :: psb_spk_
integer, intent(in) :: nzin,dupl integer, intent(in) :: nzin,dupl
integer, intent(inout) :: ia(:), ja(:) integer, intent(inout) :: ia(:), ja(:)
real(psb_spk_), intent(inout) :: val(:) real(psb_spk_), intent(inout) :: val(:)
@ -468,7 +468,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_fix_coo(a,info,idir) subroutine psb_s_fix_coo(a,info,idir)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: idir integer, intent(in), optional :: idir
@ -477,7 +477,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_cp_coo_to_coo(a,b,info) subroutine psb_s_cp_coo_to_coo(a,b,info)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -486,7 +486,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_cp_coo_from_coo(a,b,info) subroutine psb_s_cp_coo_from_coo(a,b,info)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(in) :: b class(psb_s_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -495,7 +495,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_cp_coo_to_fmt(a,b,info) subroutine psb_s_cp_coo_to_fmt(a,b,info)
import psb_s_coo_sparse_mat, psb_s_base_sparse_mat import :: psb_s_coo_sparse_mat, psb_s_base_sparse_mat
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -504,7 +504,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_cp_coo_from_fmt(a,b,info) subroutine psb_s_cp_coo_from_fmt(a,b,info)
import psb_s_coo_sparse_mat, psb_s_base_sparse_mat import :: psb_s_coo_sparse_mat, psb_s_base_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(in) :: b class(psb_s_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -513,7 +513,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_mv_coo_to_coo(a,b,info) subroutine psb_s_mv_coo_to_coo(a,b,info)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -522,7 +522,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_mv_coo_from_coo(a,b,info) subroutine psb_s_mv_coo_from_coo(a,b,info)
import psb_s_coo_sparse_mat import :: psb_s_coo_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -531,7 +531,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_mv_coo_to_fmt(a,b,info) subroutine psb_s_mv_coo_to_fmt(a,b,info)
import psb_s_coo_sparse_mat, psb_s_base_sparse_mat import :: psb_s_coo_sparse_mat, psb_s_base_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -540,7 +540,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_mv_coo_from_fmt(a,b,info) subroutine psb_s_mv_coo_from_fmt(a,b,info)
import psb_s_coo_sparse_mat, psb_s_base_sparse_mat import :: psb_s_coo_sparse_mat, psb_s_base_sparse_mat
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -549,7 +549,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_cp_from(a,b) subroutine psb_s_coo_cp_from(a,b)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
type(psb_s_coo_sparse_mat), intent(in) :: b type(psb_s_coo_sparse_mat), intent(in) :: b
end subroutine psb_s_coo_cp_from end subroutine psb_s_coo_cp_from
@ -557,7 +557,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_mv_from(a,b) subroutine psb_s_coo_mv_from(a,b)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
type(psb_s_coo_sparse_mat), intent(inout) :: b type(psb_s_coo_sparse_mat), intent(inout) :: b
end subroutine psb_s_coo_mv_from end subroutine psb_s_coo_mv_from
@ -566,7 +566,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_s_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: val(:) real(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -579,7 +579,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_s_coo_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -595,7 +595,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_s_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -611,7 +611,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_s_coo_cssv(alpha,a,x,beta,y,info,trans)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -619,7 +619,7 @@ module psb_s_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_coo_cssv end subroutine psb_s_coo_cssv
subroutine psb_s_coo_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_s_coo_cssm(alpha,a,x,beta,y,info,trans)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -630,7 +630,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_s_coo_csmv(alpha,a,x,beta,y,info,trans)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -638,7 +638,7 @@ module psb_s_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_coo_csmv end subroutine psb_s_coo_csmv
subroutine psb_s_coo_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_s_coo_csmm(alpha,a,x,beta,y,info,trans)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -650,7 +650,7 @@ module psb_s_base_mat_mod
interface interface
function psb_s_coo_csnmi(a) result(res) function psb_s_coo_csnmi(a) result(res)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_s_coo_csnmi end function psb_s_coo_csnmi
@ -658,7 +658,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_get_diag(a,d,info) subroutine psb_s_coo_get_diag(a,d,info)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(in) :: a class(psb_s_coo_sparse_mat), intent(in) :: a
real(psb_spk_), intent(out) :: d(:) real(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -667,7 +667,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_scal(d,a,info) subroutine psb_s_coo_scal(d,a,info)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d(:) real(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -676,7 +676,7 @@ module psb_s_base_mat_mod
interface interface
subroutine psb_s_coo_scals(d,a,info) subroutine psb_s_coo_scals(d,a,info)
import psb_s_coo_sparse_mat, psb_spk_ import :: psb_s_coo_sparse_mat, psb_spk_
class(psb_s_coo_sparse_mat), intent(inout) :: a class(psb_s_coo_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d real(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -51,7 +51,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_reallocate_nz(nz,a) subroutine psb_s_csc_reallocate_nz(nz,a)
import psb_s_csc_sparse_mat import :: psb_s_csc_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
end subroutine psb_s_csc_reallocate_nz end subroutine psb_s_csc_reallocate_nz
@ -59,7 +59,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_reinit(a,clear) subroutine psb_s_csc_reinit(a,clear)
import psb_s_csc_sparse_mat import :: psb_s_csc_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_s_csc_reinit end subroutine psb_s_csc_reinit
@ -67,14 +67,14 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_trim(a) subroutine psb_s_csc_trim(a)
import psb_s_csc_sparse_mat import :: psb_s_csc_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
end subroutine psb_s_csc_trim end subroutine psb_s_csc_trim
end interface end interface
interface interface
subroutine psb_s_csc_allocate_mnnz(m,n,a,nz) subroutine psb_s_csc_allocate_mnnz(m,n,a,nz)
import psb_s_csc_sparse_mat import :: psb_s_csc_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -83,7 +83,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_mold(a,b,info) subroutine psb_s_csc_mold(a,b,info)
import psb_s_csc_sparse_mat, psb_s_base_sparse_mat, psb_long_int_k_ import :: psb_s_csc_sparse_mat, psb_s_base_sparse_mat, psb_long_int_k_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(out), allocatable :: b class(psb_s_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -92,7 +92,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_s_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_s_csc_sparse_mat import :: psb_s_csc_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -104,7 +104,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_cp_csc_to_coo(a,b,info) subroutine psb_s_cp_csc_to_coo(a,b,info)
import psb_s_coo_sparse_mat, psb_s_csc_sparse_mat import :: psb_s_coo_sparse_mat, psb_s_csc_sparse_mat
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -113,7 +113,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_cp_csc_from_coo(a,b,info) subroutine psb_s_cp_csc_from_coo(a,b,info)
import psb_s_csc_sparse_mat, psb_s_coo_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_coo_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(in) :: b class(psb_s_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -122,7 +122,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_cp_csc_to_fmt(a,b,info) subroutine psb_s_cp_csc_to_fmt(a,b,info)
import psb_s_csc_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -131,7 +131,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_cp_csc_from_fmt(a,b,info) subroutine psb_s_cp_csc_from_fmt(a,b,info)
import psb_s_csc_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(in) :: b class(psb_s_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -140,7 +140,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_mv_csc_to_coo(a,b,info) subroutine psb_s_mv_csc_to_coo(a,b,info)
import psb_s_csc_sparse_mat, psb_s_coo_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_coo_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -149,7 +149,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_mv_csc_from_coo(a,b,info) subroutine psb_s_mv_csc_from_coo(a,b,info)
import psb_s_csc_sparse_mat, psb_s_coo_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_coo_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -158,7 +158,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_mv_csc_to_fmt(a,b,info) subroutine psb_s_mv_csc_to_fmt(a,b,info)
import psb_s_csc_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -167,7 +167,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_mv_csc_from_fmt(a,b,info) subroutine psb_s_mv_csc_from_fmt(a,b,info)
import psb_s_csc_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csc_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -176,7 +176,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_cp_from(a,b) subroutine psb_s_csc_cp_from(a,b)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
type(psb_s_csc_sparse_mat), intent(in) :: b type(psb_s_csc_sparse_mat), intent(in) :: b
end subroutine psb_s_csc_cp_from end subroutine psb_s_csc_cp_from
@ -184,7 +184,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_mv_from(a,b) subroutine psb_s_csc_mv_from(a,b)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
type(psb_s_csc_sparse_mat), intent(inout) :: b type(psb_s_csc_sparse_mat), intent(inout) :: b
end subroutine psb_s_csc_mv_from end subroutine psb_s_csc_mv_from
@ -193,7 +193,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_s_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: val(:) real(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -206,7 +206,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_s_csc_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -222,7 +222,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_s_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -239,7 +239,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_csgetblk(imin,imax,a,b,info,& subroutine psb_s_csc_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_s_csc_sparse_mat, psb_spk_, psb_s_coo_sparse_mat import :: psb_s_csc_sparse_mat, psb_spk_, psb_s_coo_sparse_mat
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -253,7 +253,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_s_csc_cssv(alpha,a,x,beta,y,info,trans)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -261,7 +261,7 @@ module psb_s_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_csc_cssv end subroutine psb_s_csc_cssv
subroutine psb_s_csc_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_s_csc_cssm(alpha,a,x,beta,y,info,trans)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -272,7 +272,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_s_csc_csmv(alpha,a,x,beta,y,info,trans)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -280,7 +280,7 @@ module psb_s_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_csc_csmv end subroutine psb_s_csc_csmv
subroutine psb_s_csc_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_s_csc_csmm(alpha,a,x,beta,y,info,trans)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -292,7 +292,7 @@ module psb_s_csc_mat_mod
interface interface
function psb_s_csc_csnmi(a) result(res) function psb_s_csc_csnmi(a) result(res)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_s_csc_csnmi end function psb_s_csc_csnmi
@ -300,7 +300,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_get_diag(a,d,info) subroutine psb_s_csc_get_diag(a,d,info)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(in) :: a class(psb_s_csc_sparse_mat), intent(in) :: a
real(psb_spk_), intent(out) :: d(:) real(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_scal(d,a,info) subroutine psb_s_csc_scal(d,a,info)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d(:) real(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_s_csc_mat_mod
interface interface
subroutine psb_s_csc_scals(d,a,info) subroutine psb_s_csc_scals(d,a,info)
import psb_s_csc_sparse_mat, psb_spk_ import :: psb_s_csc_sparse_mat, psb_spk_
class(psb_s_csc_sparse_mat), intent(inout) :: a class(psb_s_csc_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d real(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -51,7 +51,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_reallocate_nz(nz,a) subroutine psb_s_csr_reallocate_nz(nz,a)
import psb_s_csr_sparse_mat import :: psb_s_csr_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
end subroutine psb_s_csr_reallocate_nz end subroutine psb_s_csr_reallocate_nz
@ -59,7 +59,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_reinit(a,clear) subroutine psb_s_csr_reinit(a,clear)
import psb_s_csr_sparse_mat import :: psb_s_csr_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_s_csr_reinit end subroutine psb_s_csr_reinit
@ -67,14 +67,14 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_trim(a) subroutine psb_s_csr_trim(a)
import psb_s_csr_sparse_mat import :: psb_s_csr_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
end subroutine psb_s_csr_trim end subroutine psb_s_csr_trim
end interface end interface
interface interface
subroutine psb_s_csr_allocate_mnnz(m,n,a,nz) subroutine psb_s_csr_allocate_mnnz(m,n,a,nz)
import psb_s_csr_sparse_mat import :: psb_s_csr_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -83,7 +83,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_mold(a,b,info) subroutine psb_s_csr_mold(a,b,info)
import psb_s_csr_sparse_mat, psb_s_base_sparse_mat, psb_long_int_k_ import :: psb_s_csr_sparse_mat, psb_s_base_sparse_mat, psb_long_int_k_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(out), allocatable :: b class(psb_s_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -92,7 +92,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_s_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_s_csr_sparse_mat import :: psb_s_csr_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -104,7 +104,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_cp_csr_to_coo(a,b,info) subroutine psb_s_cp_csr_to_coo(a,b,info)
import psb_s_coo_sparse_mat, psb_s_csr_sparse_mat import :: psb_s_coo_sparse_mat, psb_s_csr_sparse_mat
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -113,7 +113,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_cp_csr_from_coo(a,b,info) subroutine psb_s_cp_csr_from_coo(a,b,info)
import psb_s_csr_sparse_mat, psb_s_coo_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_coo_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(in) :: b class(psb_s_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -122,7 +122,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_cp_csr_to_fmt(a,b,info) subroutine psb_s_cp_csr_to_fmt(a,b,info)
import psb_s_csr_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -131,7 +131,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_cp_csr_from_fmt(a,b,info) subroutine psb_s_cp_csr_from_fmt(a,b,info)
import psb_s_csr_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(in) :: b class(psb_s_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -140,7 +140,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_mv_csr_to_coo(a,b,info) subroutine psb_s_mv_csr_to_coo(a,b,info)
import psb_s_csr_sparse_mat, psb_s_coo_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_coo_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -149,7 +149,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_mv_csr_from_coo(a,b,info) subroutine psb_s_mv_csr_from_coo(a,b,info)
import psb_s_csr_sparse_mat, psb_s_coo_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_coo_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -158,7 +158,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_mv_csr_to_fmt(a,b,info) subroutine psb_s_mv_csr_to_fmt(a,b,info)
import psb_s_csr_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -167,7 +167,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_mv_csr_from_fmt(a,b,info) subroutine psb_s_mv_csr_from_fmt(a,b,info)
import psb_s_csr_sparse_mat, psb_s_base_sparse_mat import :: psb_s_csr_sparse_mat, psb_s_base_sparse_mat
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -176,7 +176,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_cp_from(a,b) subroutine psb_s_csr_cp_from(a,b)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
type(psb_s_csr_sparse_mat), intent(in) :: b type(psb_s_csr_sparse_mat), intent(in) :: b
end subroutine psb_s_csr_cp_from end subroutine psb_s_csr_cp_from
@ -184,7 +184,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_mv_from(a,b) subroutine psb_s_csr_mv_from(a,b)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
type(psb_s_csr_sparse_mat), intent(inout) :: b type(psb_s_csr_sparse_mat), intent(inout) :: b
end subroutine psb_s_csr_mv_from end subroutine psb_s_csr_mv_from
@ -193,7 +193,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_s_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: val(:) real(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -206,7 +206,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_s_csr_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -222,7 +222,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_s_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -239,7 +239,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_csgetblk(imin,imax,a,b,info,& subroutine psb_s_csr_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_s_csr_sparse_mat, psb_spk_, psb_s_coo_sparse_mat import :: psb_s_csr_sparse_mat, psb_spk_, psb_s_coo_sparse_mat
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
class(psb_s_coo_sparse_mat), intent(inout) :: b class(psb_s_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -253,7 +253,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_s_csr_cssv(alpha,a,x,beta,y,info,trans)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -261,7 +261,7 @@ module psb_s_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_csr_cssv end subroutine psb_s_csr_cssv
subroutine psb_s_csr_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_s_csr_cssm(alpha,a,x,beta,y,info,trans)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -272,7 +272,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_s_csr_csmv(alpha,a,x,beta,y,info,trans)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -280,7 +280,7 @@ module psb_s_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_csr_csmv end subroutine psb_s_csr_csmv
subroutine psb_s_csr_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_s_csr_csmm(alpha,a,x,beta,y,info,trans)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -292,7 +292,7 @@ module psb_s_csr_mat_mod
interface interface
function psb_s_csr_csnmi(a) result(res) function psb_s_csr_csnmi(a) result(res)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_s_csr_csnmi end function psb_s_csr_csnmi
@ -300,7 +300,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_get_diag(a,d,info) subroutine psb_s_csr_get_diag(a,d,info)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(in) :: a class(psb_s_csr_sparse_mat), intent(in) :: a
real(psb_spk_), intent(out) :: d(:) real(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_scal(d,a,info) subroutine psb_s_csr_scal(d,a,info)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d(:) real(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_s_csr_mat_mod
interface interface
subroutine psb_s_csr_scals(d,a,info) subroutine psb_s_csr_scals(d,a,info)
import psb_s_csr_sparse_mat, psb_spk_ import :: psb_s_csr_sparse_mat, psb_spk_
class(psb_s_csr_sparse_mat), intent(inout) :: a class(psb_s_csr_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d real(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -125,7 +125,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_nrows(m,a) subroutine psb_s_set_nrows(m,a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
integer, intent(in) :: m integer, intent(in) :: m
end subroutine psb_s_set_nrows end subroutine psb_s_set_nrows
@ -133,7 +133,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_ncols(n,a) subroutine psb_s_set_ncols(n,a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_s_set_ncols end subroutine psb_s_set_ncols
@ -141,7 +141,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_state(n,a) subroutine psb_s_set_state(n,a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_s_set_state end subroutine psb_s_set_state
@ -149,7 +149,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_dupl(n,a) subroutine psb_s_set_dupl(n,a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_s_set_dupl end subroutine psb_s_set_dupl
@ -157,35 +157,35 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_null(a) subroutine psb_s_set_null(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_set_null end subroutine psb_s_set_null
end interface end interface
interface interface
subroutine psb_s_set_bld(a) subroutine psb_s_set_bld(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_set_bld end subroutine psb_s_set_bld
end interface end interface
interface interface
subroutine psb_s_set_upd(a) subroutine psb_s_set_upd(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_set_upd end subroutine psb_s_set_upd
end interface end interface
interface interface
subroutine psb_s_set_asb(a) subroutine psb_s_set_asb(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_set_asb end subroutine psb_s_set_asb
end interface end interface
interface interface
subroutine psb_s_set_sorted(a,val) subroutine psb_s_set_sorted(a,val)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_s_set_sorted end subroutine psb_s_set_sorted
@ -193,7 +193,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_triangle(a,val) subroutine psb_s_set_triangle(a,val)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_s_set_triangle end subroutine psb_s_set_triangle
@ -201,7 +201,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_unit(a,val) subroutine psb_s_set_unit(a,val)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_s_set_unit end subroutine psb_s_set_unit
@ -209,7 +209,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_lower(a,val) subroutine psb_s_set_lower(a,val)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_s_set_lower end subroutine psb_s_set_lower
@ -217,7 +217,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_set_upper(a,val) subroutine psb_s_set_upper(a,val)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_s_set_upper end subroutine psb_s_set_upper
@ -226,7 +226,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_s_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_s_sparse_mat import :: psb_s_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -238,7 +238,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_get_neigh(a,idx,neigh,n,info,lev) subroutine psb_s_get_neigh(a,idx,neigh,n,info,lev)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer, intent(out) :: n integer, intent(out) :: n
@ -250,7 +250,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csall(nr,nc,a,info,nz) subroutine psb_s_csall(nr,nc,a,info,nz)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(out) :: a class(psb_s_sparse_mat), intent(out) :: a
integer, intent(in) :: nr,nc integer, intent(in) :: nr,nc
integer, intent(out) :: info integer, intent(out) :: info
@ -260,7 +260,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_reallocate_nz(nz,a) subroutine psb_s_reallocate_nz(nz,a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_reallocate_nz end subroutine psb_s_reallocate_nz
@ -268,21 +268,21 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_free(a) subroutine psb_s_free(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_free end subroutine psb_s_free
end interface end interface
interface interface
subroutine psb_s_trim(a) subroutine psb_s_trim(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_trim end subroutine psb_s_trim
end interface end interface
interface interface
subroutine psb_s_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_s_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: val(:) real(psb_spk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -294,7 +294,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_s_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -310,7 +310,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_s_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -327,7 +327,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csgetblk(imin,imax,a,b,info,& subroutine psb_s_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -342,7 +342,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csclip(a,b,info,& subroutine psb_s_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -354,7 +354,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_b_csclip(a,b,info,& subroutine psb_s_b_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_s_sparse_mat, psb_spk_, psb_s_coo_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_coo_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
type(psb_s_coo_sparse_mat), intent(out) :: b type(psb_s_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -365,7 +365,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_cscnv(a,b,info,type,mold,upd,dupl) subroutine psb_s_cscnv(a,b,info,type,mold,upd,dupl)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -378,7 +378,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_cscnv_ip(a,iinfo,type,mold,dupl) subroutine psb_s_cscnv_ip(a,iinfo,type,mold,dupl)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
integer, intent(out) :: iinfo integer, intent(out) :: iinfo
integer,optional, intent(in) :: dupl integer,optional, intent(in) :: dupl
@ -390,7 +390,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_cscnv_base(a,b,info,dupl) subroutine psb_s_cscnv_base(a,b,info,dupl)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(out) :: b class(psb_s_base_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -400,7 +400,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_clip_d(a,b,info) subroutine psb_s_clip_d(a,b,info)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -409,7 +409,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_clip_d_ip(a,info) subroutine psb_s_clip_d_ip(a,info)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
integer,intent(out) :: info integer,intent(out) :: info
end subroutine psb_s_clip_d_ip end subroutine psb_s_clip_d_ip
@ -417,7 +417,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_mv_from(a,b) subroutine psb_s_mv_from(a,b)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(out) :: a class(psb_s_sparse_mat), intent(out) :: a
class(psb_s_base_sparse_mat), intent(inout) :: b class(psb_s_base_sparse_mat), intent(inout) :: b
end subroutine psb_s_mv_from end subroutine psb_s_mv_from
@ -425,7 +425,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_cp_from(a,b) subroutine psb_s_cp_from(a,b)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(out) :: a class(psb_s_sparse_mat), intent(out) :: a
class(psb_s_base_sparse_mat), intent(inout), allocatable :: b class(psb_s_base_sparse_mat), intent(inout), allocatable :: b
end subroutine psb_s_cp_from end subroutine psb_s_cp_from
@ -433,7 +433,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_mv_to(a,b) subroutine psb_s_mv_to(a,b)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
class(psb_s_base_sparse_mat), intent(out) :: b class(psb_s_base_sparse_mat), intent(out) :: b
end subroutine psb_s_mv_to end subroutine psb_s_mv_to
@ -441,7 +441,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_cp_to(a,b) subroutine psb_s_cp_to(a,b)
import psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat import :: psb_s_sparse_mat, psb_spk_, psb_s_base_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_base_sparse_mat), intent(out) :: b class(psb_s_base_sparse_mat), intent(out) :: b
end subroutine psb_s_cp_to end subroutine psb_s_cp_to
@ -449,7 +449,7 @@ module psb_s_mat_mod
interface psb_move_alloc interface psb_move_alloc
subroutine psb_s_sparse_mat_move(a,b,info) subroutine psb_s_sparse_mat_move(a,b,info)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -459,7 +459,7 @@ module psb_s_mat_mod
interface psb_clone interface psb_clone
subroutine psb_s_sparse_mat_clone(a,b,info) subroutine psb_s_sparse_mat_clone(a,b,info)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -468,14 +468,14 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_transp_1mat(a) subroutine psb_s_transp_1mat(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_transp_1mat end subroutine psb_s_transp_1mat
end interface end interface
interface interface
subroutine psb_s_transp_2mat(a,b) subroutine psb_s_transp_2mat(a,b)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(out) :: a class(psb_s_sparse_mat), intent(out) :: a
class(psb_s_sparse_mat), intent(in) :: b class(psb_s_sparse_mat), intent(in) :: b
end subroutine psb_s_transp_2mat end subroutine psb_s_transp_2mat
@ -483,14 +483,14 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_transc_1mat(a) subroutine psb_s_transc_1mat(a)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
end subroutine psb_s_transc_1mat end subroutine psb_s_transc_1mat
end interface end interface
interface interface
subroutine psb_s_transc_2mat(a,b) subroutine psb_s_transc_2mat(a,b)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(out) :: a class(psb_s_sparse_mat), intent(out) :: a
class(psb_s_sparse_mat), intent(in) :: b class(psb_s_sparse_mat), intent(in) :: b
end subroutine psb_s_transc_2mat end subroutine psb_s_transc_2mat
@ -498,7 +498,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_reinit(a,clear) subroutine psb_s_reinit(a,clear)
import psb_s_sparse_mat import :: psb_s_sparse_mat
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_s_reinit end subroutine psb_s_reinit
@ -521,7 +521,7 @@ module psb_s_mat_mod
interface psb_csmm interface psb_csmm
subroutine psb_s_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_s_csmm(alpha,a,x,beta,y,info,trans)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -529,7 +529,7 @@ module psb_s_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_s_csmm end subroutine psb_s_csmm
subroutine psb_s_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_s_csmv(alpha,a,x,beta,y,info,trans)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -540,7 +540,7 @@ module psb_s_mat_mod
interface psb_cssm interface psb_cssm
subroutine psb_s_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_s_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:,:) real(psb_spk_), intent(in) :: alpha, beta, x(:,:)
real(psb_spk_), intent(inout) :: y(:,:) real(psb_spk_), intent(inout) :: y(:,:)
@ -549,7 +549,7 @@ module psb_s_mat_mod
real(psb_spk_), intent(in), optional :: d(:) real(psb_spk_), intent(in), optional :: d(:)
end subroutine psb_s_cssm end subroutine psb_s_cssm
subroutine psb_s_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_s_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
real(psb_spk_), intent(in) :: alpha, beta, x(:) real(psb_spk_), intent(in) :: alpha, beta, x(:)
real(psb_spk_), intent(inout) :: y(:) real(psb_spk_), intent(inout) :: y(:)
@ -561,7 +561,7 @@ module psb_s_mat_mod
interface interface
function psb_s_csnmi(a) result(res) function psb_s_csnmi(a) result(res)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
real(psb_spk_) :: res real(psb_spk_) :: res
end function psb_s_csnmi end function psb_s_csnmi
@ -569,7 +569,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_get_diag(a,d,info) subroutine psb_s_get_diag(a,d,info)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
real(psb_spk_), intent(out) :: d(:) real(psb_spk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -578,13 +578,13 @@ module psb_s_mat_mod
interface psb_scal interface psb_scal
subroutine psb_s_scal(d,a,info) subroutine psb_s_scal(d,a,info)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d(:) real(psb_spk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_s_scal end subroutine psb_s_scal
subroutine psb_s_scals(d,a,info) subroutine psb_s_scals(d,a,info)
import psb_s_sparse_mat, psb_spk_ import :: psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
real(psb_spk_), intent(in) :: d real(psb_spk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -221,32 +221,32 @@ module psb_sort_mod
interface psb_howmany_heap interface psb_howmany_heap
function psb_howmany_int_heap(heap) function psb_howmany_int_heap(heap)
import psb_int_heap import :: psb_int_heap
type(psb_int_heap), intent(in) :: heap type(psb_int_heap), intent(in) :: heap
integer :: psb_howmany_int_heap integer :: psb_howmany_int_heap
end function psb_howmany_int_heap end function psb_howmany_int_heap
function psb_howmany_real_idx_heap(heap) function psb_howmany_real_idx_heap(heap)
import psb_real_idx_heap import :: psb_real_idx_heap
type(psb_real_idx_heap), intent(in) :: heap type(psb_real_idx_heap), intent(in) :: heap
integer :: psb_howmany_real_idx_heap integer :: psb_howmany_real_idx_heap
end function psb_howmany_real_idx_heap end function psb_howmany_real_idx_heap
function psb_howmany_double_idx_heap(heap) function psb_howmany_double_idx_heap(heap)
import psb_double_idx_heap import :: psb_double_idx_heap
type(psb_double_idx_heap), intent(in) :: heap type(psb_double_idx_heap), intent(in) :: heap
integer :: psb_howmany_double_idx_heap integer :: psb_howmany_double_idx_heap
end function psb_howmany_double_idx_heap end function psb_howmany_double_idx_heap
function psb_howmany_int_idx_heap(heap) function psb_howmany_int_idx_heap(heap)
import psb_int_idx_heap import :: psb_int_idx_heap
type(psb_int_idx_heap), intent(in) :: heap type(psb_int_idx_heap), intent(in) :: heap
integer :: psb_howmany_int_idx_heap integer :: psb_howmany_int_idx_heap
end function psb_howmany_int_idx_heap end function psb_howmany_int_idx_heap
function psb_howmany_scomplex_idx_heap(heap) function psb_howmany_scomplex_idx_heap(heap)
import psb_scomplex_idx_heap import :: psb_scomplex_idx_heap
type(psb_scomplex_idx_heap), intent(in) :: heap type(psb_scomplex_idx_heap), intent(in) :: heap
integer :: psb_howmany_scomplex_idx_heap integer :: psb_howmany_scomplex_idx_heap
end function psb_howmany_scomplex_idx_heap end function psb_howmany_scomplex_idx_heap
function psb_howmany_dcomplex_idx_heap(heap) function psb_howmany_dcomplex_idx_heap(heap)
import psb_dcomplex_idx_heap import :: psb_dcomplex_idx_heap
type(psb_dcomplex_idx_heap), intent(in) :: heap type(psb_dcomplex_idx_heap), intent(in) :: heap
integer :: psb_howmany_dcomplex_idx_heap integer :: psb_howmany_dcomplex_idx_heap
end function psb_howmany_dcomplex_idx_heap end function psb_howmany_dcomplex_idx_heap
@ -255,37 +255,37 @@ module psb_sort_mod
interface psb_init_heap interface psb_init_heap
subroutine psb_init_int_heap(heap,info,dir) subroutine psb_init_int_heap(heap,info,dir)
import psb_int_heap import :: psb_int_heap
type(psb_int_heap), intent(inout) :: heap type(psb_int_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: dir integer, intent(in), optional :: dir
end subroutine psb_init_int_heap end subroutine psb_init_int_heap
subroutine psb_init_real_idx_heap(heap,info,dir) subroutine psb_init_real_idx_heap(heap,info,dir)
import psb_real_idx_heap import :: psb_real_idx_heap
type(psb_real_idx_heap), intent(inout) :: heap type(psb_real_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: dir integer, intent(in), optional :: dir
end subroutine psb_init_real_idx_heap end subroutine psb_init_real_idx_heap
subroutine psb_init_int_idx_heap(heap,info,dir) subroutine psb_init_int_idx_heap(heap,info,dir)
import psb_int_idx_heap import :: psb_int_idx_heap
type(psb_int_idx_heap), intent(inout) :: heap type(psb_int_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: dir integer, intent(in), optional :: dir
end subroutine psb_init_int_idx_heap end subroutine psb_init_int_idx_heap
subroutine psb_init_scomplex_idx_heap(heap,info,dir) subroutine psb_init_scomplex_idx_heap(heap,info,dir)
import psb_scomplex_idx_heap import :: psb_scomplex_idx_heap
type(psb_scomplex_idx_heap), intent(inout) :: heap type(psb_scomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: dir integer, intent(in), optional :: dir
end subroutine psb_init_scomplex_idx_heap end subroutine psb_init_scomplex_idx_heap
subroutine psb_init_dcomplex_idx_heap(heap,info,dir) subroutine psb_init_dcomplex_idx_heap(heap,info,dir)
import psb_dcomplex_idx_heap import :: psb_dcomplex_idx_heap
type(psb_dcomplex_idx_heap), intent(inout) :: heap type(psb_dcomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: dir integer, intent(in), optional :: dir
end subroutine psb_init_dcomplex_idx_heap end subroutine psb_init_dcomplex_idx_heap
subroutine psb_init_double_idx_heap(heap,info,dir) subroutine psb_init_double_idx_heap(heap,info,dir)
import psb_double_idx_heap import :: psb_double_idx_heap
type(psb_double_idx_heap), intent(inout) :: heap type(psb_double_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: dir integer, intent(in), optional :: dir
@ -295,37 +295,37 @@ module psb_sort_mod
interface psb_dump_heap interface psb_dump_heap
subroutine psb_dump_int_heap(iout,heap,info) subroutine psb_dump_int_heap(iout,heap,info)
import psb_int_heap import :: psb_int_heap
type(psb_int_heap), intent(in) :: heap type(psb_int_heap), intent(in) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in) :: iout integer, intent(in) :: iout
end subroutine psb_dump_int_heap end subroutine psb_dump_int_heap
subroutine psb_dump_real_idx_heap(iout,heap,info) subroutine psb_dump_real_idx_heap(iout,heap,info)
import psb_real_idx_heap import :: psb_real_idx_heap
type(psb_real_idx_heap), intent(in) :: heap type(psb_real_idx_heap), intent(in) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in) :: iout integer, intent(in) :: iout
end subroutine psb_dump_real_idx_heap end subroutine psb_dump_real_idx_heap
subroutine psb_dump_double_idx_heap(iout,heap,info) subroutine psb_dump_double_idx_heap(iout,heap,info)
import psb_double_idx_heap import :: psb_double_idx_heap
type(psb_double_idx_heap), intent(in) :: heap type(psb_double_idx_heap), intent(in) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in) :: iout integer, intent(in) :: iout
end subroutine psb_dump_double_idx_heap end subroutine psb_dump_double_idx_heap
subroutine psb_dump_int_idx_heap(iout,heap,info) subroutine psb_dump_int_idx_heap(iout,heap,info)
import psb_int_idx_heap import :: psb_int_idx_heap
type(psb_int_idx_heap), intent(in) :: heap type(psb_int_idx_heap), intent(in) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in) :: iout integer, intent(in) :: iout
end subroutine psb_dump_int_idx_heap end subroutine psb_dump_int_idx_heap
subroutine psb_dump_scomplex_idx_heap(iout,heap,info) subroutine psb_dump_scomplex_idx_heap(iout,heap,info)
import psb_scomplex_idx_heap import :: psb_scomplex_idx_heap
type(psb_scomplex_idx_heap), intent(in) :: heap type(psb_scomplex_idx_heap), intent(in) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in) :: iout integer, intent(in) :: iout
end subroutine psb_dump_scomplex_idx_heap end subroutine psb_dump_scomplex_idx_heap
subroutine psb_dump_dcomplex_idx_heap(iout,heap,info) subroutine psb_dump_dcomplex_idx_heap(iout,heap,info)
import psb_dcomplex_idx_heap import :: psb_dcomplex_idx_heap
type(psb_dcomplex_idx_heap), intent(in) :: heap type(psb_dcomplex_idx_heap), intent(in) :: heap
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in) :: iout integer, intent(in) :: iout
@ -335,41 +335,41 @@ module psb_sort_mod
interface psb_insert_heap interface psb_insert_heap
subroutine psb_insert_int_heap(key,heap,info) subroutine psb_insert_int_heap(key,heap,info)
import psb_int_heap import :: psb_int_heap
integer, intent(in) :: key integer, intent(in) :: key
type(psb_int_heap), intent(inout) :: heap type(psb_int_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_insert_int_heap end subroutine psb_insert_int_heap
subroutine psb_insert_int_idx_heap(key,index,heap,info) subroutine psb_insert_int_idx_heap(key,index,heap,info)
import psb_dpk_, psb_int_idx_heap import :: psb_dpk_, psb_int_idx_heap
integer, intent(in) :: key integer, intent(in) :: key
integer, intent(in) :: index integer, intent(in) :: index
type(psb_int_idx_heap), intent(inout) :: heap type(psb_int_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_insert_int_idx_heap end subroutine psb_insert_int_idx_heap
subroutine psb_insert_real_idx_heap(key,index,heap,info) subroutine psb_insert_real_idx_heap(key,index,heap,info)
import psb_spk_, psb_real_idx_heap import :: psb_spk_, psb_real_idx_heap
real(psb_spk_), intent(in) :: key real(psb_spk_), intent(in) :: key
integer, intent(in) :: index integer, intent(in) :: index
type(psb_real_idx_heap), intent(inout) :: heap type(psb_real_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_insert_real_idx_heap end subroutine psb_insert_real_idx_heap
subroutine psb_insert_double_idx_heap(key,index,heap,info) subroutine psb_insert_double_idx_heap(key,index,heap,info)
import psb_dpk_, psb_double_idx_heap import :: psb_dpk_, psb_double_idx_heap
real(psb_dpk_), intent(in) :: key real(psb_dpk_), intent(in) :: key
integer, intent(in) :: index integer, intent(in) :: index
type(psb_double_idx_heap), intent(inout) :: heap type(psb_double_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_insert_double_idx_heap end subroutine psb_insert_double_idx_heap
subroutine psb_insert_scomplex_idx_heap(key,index,heap,info) subroutine psb_insert_scomplex_idx_heap(key,index,heap,info)
import psb_spk_, psb_scomplex_idx_heap import :: psb_spk_, psb_scomplex_idx_heap
complex(psb_spk_), intent(in) :: key complex(psb_spk_), intent(in) :: key
integer, intent(in) :: index integer, intent(in) :: index
type(psb_scomplex_idx_heap), intent(inout) :: heap type(psb_scomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_insert_scomplex_idx_heap end subroutine psb_insert_scomplex_idx_heap
subroutine psb_insert_dcomplex_idx_heap(key,index,heap,info) subroutine psb_insert_dcomplex_idx_heap(key,index,heap,info)
import psb_dpk_, psb_dcomplex_idx_heap import :: psb_dpk_, psb_dcomplex_idx_heap
complex(psb_dpk_), intent(in) :: key complex(psb_dpk_), intent(in) :: key
integer, intent(in) :: index integer, intent(in) :: index
type(psb_dcomplex_idx_heap), intent(inout) :: heap type(psb_dcomplex_idx_heap), intent(inout) :: heap
@ -379,37 +379,37 @@ module psb_sort_mod
interface psb_heap_get_first interface psb_heap_get_first
subroutine psb_int_heap_get_first(key,heap,info) subroutine psb_int_heap_get_first(key,heap,info)
import psb_int_heap import :: psb_int_heap
type(psb_int_heap), intent(inout) :: heap type(psb_int_heap), intent(inout) :: heap
integer, intent(out) :: key,info integer, intent(out) :: key,info
end subroutine psb_int_heap_get_first end subroutine psb_int_heap_get_first
subroutine psb_int_idx_heap_get_first(key,index,heap,info) subroutine psb_int_idx_heap_get_first(key,index,heap,info)
import psb_int_idx_heap import :: psb_int_idx_heap
type(psb_int_idx_heap), intent(inout) :: heap type(psb_int_idx_heap), intent(inout) :: heap
integer, intent(out) :: index,info integer, intent(out) :: index,info
integer, intent(out) :: key integer, intent(out) :: key
end subroutine psb_int_idx_heap_get_first end subroutine psb_int_idx_heap_get_first
subroutine psb_real_idx_heap_get_first(key,index,heap,info) subroutine psb_real_idx_heap_get_first(key,index,heap,info)
import psb_spk_, psb_real_idx_heap import :: psb_spk_, psb_real_idx_heap
type(psb_real_idx_heap), intent(inout) :: heap type(psb_real_idx_heap), intent(inout) :: heap
integer, intent(out) :: index,info integer, intent(out) :: index,info
real(psb_spk_), intent(out) :: key real(psb_spk_), intent(out) :: key
end subroutine psb_real_idx_heap_get_first end subroutine psb_real_idx_heap_get_first
subroutine psb_double_idx_heap_get_first(key,index,heap,info) subroutine psb_double_idx_heap_get_first(key,index,heap,info)
import psb_dpk_, psb_double_idx_heap import :: psb_dpk_, psb_double_idx_heap
type(psb_double_idx_heap), intent(inout) :: heap type(psb_double_idx_heap), intent(inout) :: heap
integer, intent(out) :: index,info integer, intent(out) :: index,info
real(psb_dpk_), intent(out) :: key real(psb_dpk_), intent(out) :: key
end subroutine psb_double_idx_heap_get_first end subroutine psb_double_idx_heap_get_first
subroutine psb_scomplex_idx_heap_get_first(key,index,heap,info) subroutine psb_scomplex_idx_heap_get_first(key,index,heap,info)
import psb_spk_, psb_scomplex_idx_heap import :: psb_spk_, psb_scomplex_idx_heap
type(psb_scomplex_idx_heap), intent(inout) :: heap type(psb_scomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: index,info integer, intent(out) :: index,info
complex(psb_spk_), intent(out) :: key complex(psb_spk_), intent(out) :: key
end subroutine psb_scomplex_idx_heap_get_first end subroutine psb_scomplex_idx_heap_get_first
subroutine psb_dcomplex_idx_heap_get_first(key,index,heap,info) subroutine psb_dcomplex_idx_heap_get_first(key,index,heap,info)
import psb_dpk_, psb_dcomplex_idx_heap import :: psb_dpk_, psb_dcomplex_idx_heap
type(psb_dcomplex_idx_heap), intent(inout) :: heap type(psb_dcomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: index,info integer, intent(out) :: index,info
complex(psb_dpk_), intent(out) :: key complex(psb_dpk_), intent(out) :: key
@ -446,7 +446,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_real_heap(key,last,heap,dir,info) subroutine psi_insert_real_heap(key,last,heap,dir,info)
import psb_spk_ import :: psb_spk_
real(psb_spk_), intent(in) :: key real(psb_spk_), intent(in) :: key
integer, intent(in) :: dir integer, intent(in) :: dir
real(psb_spk_), intent(inout) :: heap(:) real(psb_spk_), intent(inout) :: heap(:)
@ -459,7 +459,7 @@ module psb_sort_mod
interface interface
subroutine psi_real_heap_get_first(key,last,heap,dir,info) subroutine psi_real_heap_get_first(key,last,heap,dir,info)
import psb_spk_ import :: psb_spk_
real(psb_spk_), intent(inout) :: key real(psb_spk_), intent(inout) :: key
integer, intent(inout) :: last integer, intent(inout) :: last
integer, intent(in) :: dir integer, intent(in) :: dir
@ -470,7 +470,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_double_heap(key,last,heap,dir,info) subroutine psi_insert_double_heap(key,last,heap,dir,info)
import psb_dpk_ import :: psb_dpk_
real(psb_dpk_), intent(in) :: key real(psb_dpk_), intent(in) :: key
integer, intent(in) :: dir integer, intent(in) :: dir
real(psb_dpk_), intent(inout) :: heap(:) real(psb_dpk_), intent(inout) :: heap(:)
@ -483,7 +483,7 @@ module psb_sort_mod
interface interface
subroutine psi_double_heap_get_first(key,last,heap,dir,info) subroutine psi_double_heap_get_first(key,last,heap,dir,info)
import psb_dpk_ import :: psb_dpk_
real(psb_dpk_), intent(inout) :: key real(psb_dpk_), intent(inout) :: key
integer, intent(inout) :: last integer, intent(inout) :: last
integer, intent(in) :: dir integer, intent(in) :: dir
@ -494,7 +494,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_scomplex_heap(key,last,heap,dir,info) subroutine psi_insert_scomplex_heap(key,last,heap,dir,info)
import psb_spk_ import :: psb_spk_
complex(psb_spk_), intent(in) :: key complex(psb_spk_), intent(in) :: key
integer, intent(in) :: dir integer, intent(in) :: dir
complex(psb_spk_), intent(inout) :: heap(:) complex(psb_spk_), intent(inout) :: heap(:)
@ -505,7 +505,7 @@ module psb_sort_mod
interface interface
subroutine psi_scomplex_heap_get_first(key,last,heap,dir,info) subroutine psi_scomplex_heap_get_first(key,last,heap,dir,info)
import psb_spk_ import :: psb_spk_
complex(psb_spk_), intent(inout) :: key complex(psb_spk_), intent(inout) :: key
integer, intent(inout) :: last integer, intent(inout) :: last
integer, intent(in) :: dir integer, intent(in) :: dir
@ -516,7 +516,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_dcomplex_heap(key,last,heap,dir,info) subroutine psi_insert_dcomplex_heap(key,last,heap,dir,info)
import psb_dpk_ import :: psb_dpk_
complex(psb_dpk_), intent(in) :: key complex(psb_dpk_), intent(in) :: key
integer, intent(in) :: dir integer, intent(in) :: dir
complex(psb_dpk_), intent(inout) :: heap(:) complex(psb_dpk_), intent(inout) :: heap(:)
@ -527,7 +527,7 @@ module psb_sort_mod
interface interface
subroutine psi_dcomplex_heap_get_first(key,last,heap,dir,info) subroutine psi_dcomplex_heap_get_first(key,last,heap,dir,info)
import psb_dpk_ import :: psb_dpk_
complex(psb_dpk_), intent(inout) :: key complex(psb_dpk_), intent(inout) :: key
integer, intent(inout) :: last integer, intent(inout) :: last
integer, intent(in) :: dir integer, intent(in) :: dir
@ -558,7 +558,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_real_idx_heap(key,index,last,heap,idxs,dir,info) subroutine psi_insert_real_idx_heap(key,index,last,heap,idxs,dir,info)
import psb_spk_ import :: psb_spk_
real(psb_spk_), intent(in) :: key real(psb_spk_), intent(in) :: key
integer, intent(in) :: index,dir integer, intent(in) :: index,dir
real(psb_spk_), intent(inout) :: heap(:) real(psb_spk_), intent(inout) :: heap(:)
@ -569,7 +569,7 @@ module psb_sort_mod
interface interface
subroutine psi_real_idx_heap_get_first(key,index,last,heap,idxs,dir,info) subroutine psi_real_idx_heap_get_first(key,index,last,heap,idxs,dir,info)
import psb_spk_ import :: psb_spk_
real(psb_spk_), intent(inout) :: heap(:) real(psb_spk_), intent(inout) :: heap(:)
integer, intent(out) :: index,info integer, intent(out) :: index,info
integer, intent(inout) :: last,idxs(:) integer, intent(inout) :: last,idxs(:)
@ -580,7 +580,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_double_idx_heap(key,index,last,heap,idxs,dir,info) subroutine psi_insert_double_idx_heap(key,index,last,heap,idxs,dir,info)
import psb_dpk_ import :: psb_dpk_
real(psb_dpk_), intent(in) :: key real(psb_dpk_), intent(in) :: key
integer, intent(in) :: index,dir integer, intent(in) :: index,dir
real(psb_dpk_), intent(inout) :: heap(:) real(psb_dpk_), intent(inout) :: heap(:)
@ -591,7 +591,7 @@ module psb_sort_mod
interface interface
subroutine psi_double_idx_heap_get_first(key,index,last,heap,idxs,dir,info) subroutine psi_double_idx_heap_get_first(key,index,last,heap,idxs,dir,info)
import psb_dpk_ import :: psb_dpk_
real(psb_dpk_), intent(inout) :: heap(:) real(psb_dpk_), intent(inout) :: heap(:)
integer, intent(out) :: index,info integer, intent(out) :: index,info
integer, intent(inout) :: last,idxs(:) integer, intent(inout) :: last,idxs(:)
@ -602,7 +602,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_scomplex_idx_heap(key,index,last,heap,idxs,dir,info) subroutine psi_insert_scomplex_idx_heap(key,index,last,heap,idxs,dir,info)
import psb_spk_ import :: psb_spk_
complex(psb_spk_), intent(in) :: key complex(psb_spk_), intent(in) :: key
integer, intent(in) :: index,dir integer, intent(in) :: index,dir
complex(psb_spk_), intent(inout) :: heap(:) complex(psb_spk_), intent(inout) :: heap(:)
@ -613,7 +613,7 @@ module psb_sort_mod
interface interface
subroutine psi_scomplex_idx_heap_get_first(key,index,last,heap,idxs,dir,info) subroutine psi_scomplex_idx_heap_get_first(key,index,last,heap,idxs,dir,info)
import psb_spk_ import :: psb_spk_
complex(psb_spk_), intent(inout) :: heap(:) complex(psb_spk_), intent(inout) :: heap(:)
integer, intent(out) :: index,info integer, intent(out) :: index,info
integer, intent(inout) :: last,idxs(:) integer, intent(inout) :: last,idxs(:)
@ -624,7 +624,7 @@ module psb_sort_mod
interface interface
subroutine psi_insert_dcomplex_idx_heap(key,index,last,heap,idxs,dir,info) subroutine psi_insert_dcomplex_idx_heap(key,index,last,heap,idxs,dir,info)
import psb_dpk_ import :: psb_dpk_
complex(psb_dpk_), intent(in) :: key complex(psb_dpk_), intent(in) :: key
integer, intent(in) :: index,dir integer, intent(in) :: index,dir
complex(psb_dpk_), intent(inout) :: heap(:) complex(psb_dpk_), intent(inout) :: heap(:)
@ -635,7 +635,7 @@ module psb_sort_mod
interface interface
subroutine psi_dcomplex_idx_heap_get_first(key,index,last,heap,idxs,dir,info) subroutine psi_dcomplex_idx_heap_get_first(key,index,last,heap,idxs,dir,info)
import psb_dpk_ import :: psb_dpk_
complex(psb_dpk_), intent(inout) :: heap(:) complex(psb_dpk_), intent(inout) :: heap(:)
integer, intent(out) :: index,info integer, intent(out) :: index,info
integer, intent(inout) :: last,idxs(:) integer, intent(inout) :: last,idxs(:)

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -113,7 +113,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_z_base_csmm(alpha,a,x,beta,y,info,trans)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -124,7 +124,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_z_base_csmv(alpha,a,x,beta,y,info,trans)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -135,7 +135,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_inner_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_z_base_inner_cssm(alpha,a,x,beta,y,info,trans)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -146,7 +146,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_inner_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_z_base_inner_cssv(alpha,a,x,beta,y,info,trans)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -157,7 +157,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_z_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -169,7 +169,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_z_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -181,7 +181,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_scals(d,a,info) subroutine psb_z_base_scals(d,a,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d complex(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info
@ -190,7 +190,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_scal(d,a,info) subroutine psb_z_base_scal(d,a,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d(:) complex(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -199,7 +199,7 @@ module psb_z_base_mat_mod
interface interface
function psb_z_base_csnmi(a) result(res) function psb_z_base_csnmi(a) result(res)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_z_base_csnmi end function psb_z_base_csnmi
@ -207,7 +207,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_get_diag(a,d,info) subroutine psb_z_base_get_diag(a,d,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(out) :: d(:) complex(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -216,7 +216,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_z_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: val(:) complex(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -228,7 +228,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_z_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -245,7 +245,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_csgetblk(imin,imax,a,b,info,& subroutine psb_z_base_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -261,7 +261,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_csclip(a,b,info,& subroutine psb_z_base_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(out) :: b class(psb_z_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -272,7 +272,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_mold(a,b,info) subroutine psb_z_base_mold(a,b,info)
import psb_z_base_sparse_mat, psb_long_int_k_ import :: psb_z_base_sparse_mat, psb_long_int_k_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(out), allocatable :: b class(psb_z_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -282,7 +282,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_cp_to_coo(a,b,info) subroutine psb_z_base_cp_to_coo(a,b,info)
import psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -291,7 +291,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_cp_from_coo(a,b,info) subroutine psb_z_base_cp_from_coo(a,b,info)
import psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(in) :: b class(psb_z_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -300,7 +300,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_cp_to_fmt(a,b,info) subroutine psb_z_base_cp_to_fmt(a,b,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(in) :: a class(psb_z_base_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_cp_from_fmt(a,b,info) subroutine psb_z_base_cp_from_fmt(a,b,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(in) :: b class(psb_z_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_mv_to_coo(a,b,info) subroutine psb_z_base_mv_to_coo(a,b,info)
import psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -327,7 +327,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_mv_from_coo(a,b,info) subroutine psb_z_base_mv_from_coo(a,b,info)
import psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -336,7 +336,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_mv_to_fmt(a,b,info) subroutine psb_z_base_mv_to_fmt(a,b,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -345,7 +345,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_mv_from_fmt(a,b,info) subroutine psb_z_base_mv_from_fmt(a,b,info)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -354,7 +354,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_transp_2mat(a,b) subroutine psb_z_base_transp_2mat(a,b)
import psb_z_base_sparse_mat, psb_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(out) :: a class(psb_z_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_z_base_transp_2mat end subroutine psb_z_base_transp_2mat
@ -362,7 +362,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_transc_2mat(a,b) subroutine psb_z_base_transc_2mat(a,b)
import psb_z_base_sparse_mat, psb_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(out) :: a class(psb_z_base_sparse_mat), intent(out) :: a
class(psb_base_sparse_mat), intent(in) :: b class(psb_base_sparse_mat), intent(in) :: b
end subroutine psb_z_base_transc_2mat end subroutine psb_z_base_transc_2mat
@ -370,14 +370,14 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_base_transp_1mat(a) subroutine psb_z_base_transp_1mat(a)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
end subroutine psb_z_base_transp_1mat end subroutine psb_z_base_transp_1mat
end interface end interface
interface interface
subroutine psb_z_base_transc_1mat(a) subroutine psb_z_base_transc_1mat(a)
import psb_z_base_sparse_mat, psb_dpk_ import :: psb_z_base_sparse_mat, psb_dpk_
class(psb_z_base_sparse_mat), intent(inout) :: a class(psb_z_base_sparse_mat), intent(inout) :: a
end subroutine psb_z_base_transc_1mat end subroutine psb_z_base_transc_1mat
end interface end interface
@ -393,7 +393,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_reallocate_nz(nz,a) subroutine psb_z_coo_reallocate_nz(nz,a)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
end subroutine psb_z_coo_reallocate_nz end subroutine psb_z_coo_reallocate_nz
@ -401,7 +401,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_reinit(a,clear) subroutine psb_z_coo_reinit(a,clear)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_z_coo_reinit end subroutine psb_z_coo_reinit
@ -409,14 +409,14 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_trim(a) subroutine psb_z_coo_trim(a)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
end subroutine psb_z_coo_trim end subroutine psb_z_coo_trim
end interface end interface
interface interface
subroutine psb_z_coo_allocate_mnnz(m,n,a,nz) subroutine psb_z_coo_allocate_mnnz(m,n,a,nz)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -425,7 +425,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_mold(a,b,info) subroutine psb_z_coo_mold(a,b,info)
import psb_z_coo_sparse_mat, psb_z_base_sparse_mat, psb_long_int_k_ import :: psb_z_coo_sparse_mat, psb_z_base_sparse_mat, psb_long_int_k_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(out), allocatable :: b class(psb_z_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -434,7 +434,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_z_coo_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -447,7 +447,7 @@ module psb_z_base_mat_mod
interface interface
function psb_z_coo_get_nz_row(idx,a) result(res) function psb_z_coo_get_nz_row(idx,a) result(res)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer :: res integer :: res
@ -457,7 +457,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir) subroutine psb_z_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
import psb_dpk_ import :: psb_dpk_
integer, intent(in) :: nzin,dupl integer, intent(in) :: nzin,dupl
integer, intent(inout) :: ia(:), ja(:) integer, intent(inout) :: ia(:), ja(:)
complex(psb_dpk_), intent(inout) :: val(:) complex(psb_dpk_), intent(inout) :: val(:)
@ -468,7 +468,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_fix_coo(a,info,idir) subroutine psb_z_fix_coo(a,info,idir)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: idir integer, intent(in), optional :: idir
@ -477,7 +477,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_cp_coo_to_coo(a,b,info) subroutine psb_z_cp_coo_to_coo(a,b,info)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -486,7 +486,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_cp_coo_from_coo(a,b,info) subroutine psb_z_cp_coo_from_coo(a,b,info)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(in) :: b class(psb_z_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -495,7 +495,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_cp_coo_to_fmt(a,b,info) subroutine psb_z_cp_coo_to_fmt(a,b,info)
import psb_z_coo_sparse_mat, psb_z_base_sparse_mat import :: psb_z_coo_sparse_mat, psb_z_base_sparse_mat
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -504,7 +504,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_cp_coo_from_fmt(a,b,info) subroutine psb_z_cp_coo_from_fmt(a,b,info)
import psb_z_coo_sparse_mat, psb_z_base_sparse_mat import :: psb_z_coo_sparse_mat, psb_z_base_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(in) :: b class(psb_z_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -513,7 +513,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_mv_coo_to_coo(a,b,info) subroutine psb_z_mv_coo_to_coo(a,b,info)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -522,7 +522,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_mv_coo_from_coo(a,b,info) subroutine psb_z_mv_coo_from_coo(a,b,info)
import psb_z_coo_sparse_mat import :: psb_z_coo_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -531,7 +531,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_mv_coo_to_fmt(a,b,info) subroutine psb_z_mv_coo_to_fmt(a,b,info)
import psb_z_coo_sparse_mat, psb_z_base_sparse_mat import :: psb_z_coo_sparse_mat, psb_z_base_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -540,7 +540,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_mv_coo_from_fmt(a,b,info) subroutine psb_z_mv_coo_from_fmt(a,b,info)
import psb_z_coo_sparse_mat, psb_z_base_sparse_mat import :: psb_z_coo_sparse_mat, psb_z_base_sparse_mat
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -549,7 +549,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_cp_from(a,b) subroutine psb_z_coo_cp_from(a,b)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
type(psb_z_coo_sparse_mat), intent(in) :: b type(psb_z_coo_sparse_mat), intent(in) :: b
end subroutine psb_z_coo_cp_from end subroutine psb_z_coo_cp_from
@ -557,7 +557,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_mv_from(a,b) subroutine psb_z_coo_mv_from(a,b)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
type(psb_z_coo_sparse_mat), intent(inout) :: b type(psb_z_coo_sparse_mat), intent(inout) :: b
end subroutine psb_z_coo_mv_from end subroutine psb_z_coo_mv_from
@ -566,7 +566,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_z_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: val(:) complex(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -579,7 +579,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_z_coo_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -595,7 +595,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_z_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -611,7 +611,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_z_coo_cssv(alpha,a,x,beta,y,info,trans)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -619,7 +619,7 @@ module psb_z_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_coo_cssv end subroutine psb_z_coo_cssv
subroutine psb_z_coo_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_z_coo_cssm(alpha,a,x,beta,y,info,trans)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -630,7 +630,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_z_coo_csmv(alpha,a,x,beta,y,info,trans)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -638,7 +638,7 @@ module psb_z_base_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_coo_csmv end subroutine psb_z_coo_csmv
subroutine psb_z_coo_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_z_coo_csmm(alpha,a,x,beta,y,info,trans)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -650,7 +650,7 @@ module psb_z_base_mat_mod
interface interface
function psb_z_coo_csnmi(a) result(res) function psb_z_coo_csnmi(a) result(res)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_z_coo_csnmi end function psb_z_coo_csnmi
@ -658,7 +658,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_get_diag(a,d,info) subroutine psb_z_coo_get_diag(a,d,info)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(in) :: a class(psb_z_coo_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(out) :: d(:) complex(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -667,7 +667,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_scal(d,a,info) subroutine psb_z_coo_scal(d,a,info)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d(:) complex(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -676,7 +676,7 @@ module psb_z_base_mat_mod
interface interface
subroutine psb_z_coo_scals(d,a,info) subroutine psb_z_coo_scals(d,a,info)
import psb_z_coo_sparse_mat, psb_dpk_ import :: psb_z_coo_sparse_mat, psb_dpk_
class(psb_z_coo_sparse_mat), intent(inout) :: a class(psb_z_coo_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d complex(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -51,7 +51,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_reallocate_nz(nz,a) subroutine psb_z_csc_reallocate_nz(nz,a)
import psb_z_csc_sparse_mat import :: psb_z_csc_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
end subroutine psb_z_csc_reallocate_nz end subroutine psb_z_csc_reallocate_nz
@ -59,7 +59,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_reinit(a,clear) subroutine psb_z_csc_reinit(a,clear)
import psb_z_csc_sparse_mat import :: psb_z_csc_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_z_csc_reinit end subroutine psb_z_csc_reinit
@ -67,14 +67,14 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_trim(a) subroutine psb_z_csc_trim(a)
import psb_z_csc_sparse_mat import :: psb_z_csc_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
end subroutine psb_z_csc_trim end subroutine psb_z_csc_trim
end interface end interface
interface interface
subroutine psb_z_csc_allocate_mnnz(m,n,a,nz) subroutine psb_z_csc_allocate_mnnz(m,n,a,nz)
import psb_z_csc_sparse_mat import :: psb_z_csc_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -83,7 +83,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_mold(a,b,info) subroutine psb_z_csc_mold(a,b,info)
import psb_z_csc_sparse_mat, psb_z_base_sparse_mat, psb_long_int_k_ import :: psb_z_csc_sparse_mat, psb_z_base_sparse_mat, psb_long_int_k_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(out), allocatable :: b class(psb_z_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -92,7 +92,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_z_csc_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_z_csc_sparse_mat import :: psb_z_csc_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -104,7 +104,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_cp_csc_to_coo(a,b,info) subroutine psb_z_cp_csc_to_coo(a,b,info)
import psb_z_coo_sparse_mat, psb_z_csc_sparse_mat import :: psb_z_coo_sparse_mat, psb_z_csc_sparse_mat
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -113,7 +113,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_cp_csc_from_coo(a,b,info) subroutine psb_z_cp_csc_from_coo(a,b,info)
import psb_z_csc_sparse_mat, psb_z_coo_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_coo_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(in) :: b class(psb_z_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -122,7 +122,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_cp_csc_to_fmt(a,b,info) subroutine psb_z_cp_csc_to_fmt(a,b,info)
import psb_z_csc_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -131,7 +131,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_cp_csc_from_fmt(a,b,info) subroutine psb_z_cp_csc_from_fmt(a,b,info)
import psb_z_csc_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(in) :: b class(psb_z_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -140,7 +140,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_mv_csc_to_coo(a,b,info) subroutine psb_z_mv_csc_to_coo(a,b,info)
import psb_z_csc_sparse_mat, psb_z_coo_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_coo_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -149,7 +149,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_mv_csc_from_coo(a,b,info) subroutine psb_z_mv_csc_from_coo(a,b,info)
import psb_z_csc_sparse_mat, psb_z_coo_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_coo_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -158,7 +158,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_mv_csc_to_fmt(a,b,info) subroutine psb_z_mv_csc_to_fmt(a,b,info)
import psb_z_csc_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -167,7 +167,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_mv_csc_from_fmt(a,b,info) subroutine psb_z_mv_csc_from_fmt(a,b,info)
import psb_z_csc_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csc_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -176,7 +176,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_cp_from(a,b) subroutine psb_z_csc_cp_from(a,b)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
type(psb_z_csc_sparse_mat), intent(in) :: b type(psb_z_csc_sparse_mat), intent(in) :: b
end subroutine psb_z_csc_cp_from end subroutine psb_z_csc_cp_from
@ -184,7 +184,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_mv_from(a,b) subroutine psb_z_csc_mv_from(a,b)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
type(psb_z_csc_sparse_mat), intent(inout) :: b type(psb_z_csc_sparse_mat), intent(inout) :: b
end subroutine psb_z_csc_mv_from end subroutine psb_z_csc_mv_from
@ -193,7 +193,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_z_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: val(:) complex(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -206,7 +206,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_z_csc_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -222,7 +222,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_z_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -239,7 +239,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_csgetblk(imin,imax,a,b,info,& subroutine psb_z_csc_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_z_csc_sparse_mat, psb_dpk_, psb_z_coo_sparse_mat import :: psb_z_csc_sparse_mat, psb_dpk_, psb_z_coo_sparse_mat
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -253,7 +253,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_z_csc_cssv(alpha,a,x,beta,y,info,trans)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -261,7 +261,7 @@ module psb_z_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_csc_cssv end subroutine psb_z_csc_cssv
subroutine psb_z_csc_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_z_csc_cssm(alpha,a,x,beta,y,info,trans)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -272,7 +272,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_z_csc_csmv(alpha,a,x,beta,y,info,trans)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -280,7 +280,7 @@ module psb_z_csc_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_csc_csmv end subroutine psb_z_csc_csmv
subroutine psb_z_csc_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_z_csc_csmm(alpha,a,x,beta,y,info,trans)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -292,7 +292,7 @@ module psb_z_csc_mat_mod
interface interface
function psb_z_csc_csnmi(a) result(res) function psb_z_csc_csnmi(a) result(res)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_z_csc_csnmi end function psb_z_csc_csnmi
@ -300,7 +300,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_get_diag(a,d,info) subroutine psb_z_csc_get_diag(a,d,info)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(in) :: a class(psb_z_csc_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(out) :: d(:) complex(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_scal(d,a,info) subroutine psb_z_csc_scal(d,a,info)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d(:) complex(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_z_csc_mat_mod
interface interface
subroutine psb_z_csc_scals(d,a,info) subroutine psb_z_csc_scals(d,a,info)
import psb_z_csc_sparse_mat, psb_dpk_ import :: psb_z_csc_sparse_mat, psb_dpk_
class(psb_z_csc_sparse_mat), intent(inout) :: a class(psb_z_csc_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d complex(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -51,7 +51,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_reallocate_nz(nz,a) subroutine psb_z_csr_reallocate_nz(nz,a)
import psb_z_csr_sparse_mat import :: psb_z_csr_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
end subroutine psb_z_csr_reallocate_nz end subroutine psb_z_csr_reallocate_nz
@ -59,7 +59,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_reinit(a,clear) subroutine psb_z_csr_reinit(a,clear)
import psb_z_csr_sparse_mat import :: psb_z_csr_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_z_csr_reinit end subroutine psb_z_csr_reinit
@ -67,14 +67,14 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_trim(a) subroutine psb_z_csr_trim(a)
import psb_z_csr_sparse_mat import :: psb_z_csr_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
end subroutine psb_z_csr_trim end subroutine psb_z_csr_trim
end interface end interface
interface interface
subroutine psb_z_csr_allocate_mnnz(m,n,a,nz) subroutine psb_z_csr_allocate_mnnz(m,n,a,nz)
import psb_z_csr_sparse_mat import :: psb_z_csr_sparse_mat
integer, intent(in) :: m,n integer, intent(in) :: m,n
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
integer, intent(in), optional :: nz integer, intent(in), optional :: nz
@ -83,7 +83,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_mold(a,b,info) subroutine psb_z_csr_mold(a,b,info)
import psb_z_csr_sparse_mat, psb_z_base_sparse_mat, psb_long_int_k_ import :: psb_z_csr_sparse_mat, psb_z_base_sparse_mat, psb_long_int_k_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(out), allocatable :: b class(psb_z_base_sparse_mat), intent(out), allocatable :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -92,7 +92,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_z_csr_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_z_csr_sparse_mat import :: psb_z_csr_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -104,7 +104,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_cp_csr_to_coo(a,b,info) subroutine psb_z_cp_csr_to_coo(a,b,info)
import psb_z_coo_sparse_mat, psb_z_csr_sparse_mat import :: psb_z_coo_sparse_mat, psb_z_csr_sparse_mat
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -113,7 +113,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_cp_csr_from_coo(a,b,info) subroutine psb_z_cp_csr_from_coo(a,b,info)
import psb_z_csr_sparse_mat, psb_z_coo_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_coo_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(in) :: b class(psb_z_coo_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -122,7 +122,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_cp_csr_to_fmt(a,b,info) subroutine psb_z_cp_csr_to_fmt(a,b,info)
import psb_z_csr_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -131,7 +131,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_cp_csr_from_fmt(a,b,info) subroutine psb_z_cp_csr_from_fmt(a,b,info)
import psb_z_csr_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(in) :: b class(psb_z_base_sparse_mat), intent(in) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -140,7 +140,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_mv_csr_to_coo(a,b,info) subroutine psb_z_mv_csr_to_coo(a,b,info)
import psb_z_csr_sparse_mat, psb_z_coo_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_coo_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -149,7 +149,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_mv_csr_from_coo(a,b,info) subroutine psb_z_mv_csr_from_coo(a,b,info)
import psb_z_csr_sparse_mat, psb_z_coo_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_coo_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -158,7 +158,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_mv_csr_to_fmt(a,b,info) subroutine psb_z_mv_csr_to_fmt(a,b,info)
import psb_z_csr_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -167,7 +167,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_mv_csr_from_fmt(a,b,info) subroutine psb_z_mv_csr_from_fmt(a,b,info)
import psb_z_csr_sparse_mat, psb_z_base_sparse_mat import :: psb_z_csr_sparse_mat, psb_z_base_sparse_mat
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -176,7 +176,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_cp_from(a,b) subroutine psb_z_csr_cp_from(a,b)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
type(psb_z_csr_sparse_mat), intent(in) :: b type(psb_z_csr_sparse_mat), intent(in) :: b
end subroutine psb_z_csr_cp_from end subroutine psb_z_csr_cp_from
@ -184,7 +184,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_mv_from(a,b) subroutine psb_z_csr_mv_from(a,b)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
type(psb_z_csr_sparse_mat), intent(inout) :: b type(psb_z_csr_sparse_mat), intent(inout) :: b
end subroutine psb_z_csr_mv_from end subroutine psb_z_csr_mv_from
@ -193,7 +193,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_z_csr_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: val(:) complex(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz,ia(:), ja(:),& integer, intent(in) :: nz,ia(:), ja(:),&
@ -206,7 +206,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_z_csr_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -222,7 +222,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_z_csr_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -239,7 +239,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_csgetblk(imin,imax,a,b,info,& subroutine psb_z_csr_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_z_csr_sparse_mat, psb_dpk_, psb_z_coo_sparse_mat import :: psb_z_csr_sparse_mat, psb_dpk_, psb_z_coo_sparse_mat
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
class(psb_z_coo_sparse_mat), intent(inout) :: b class(psb_z_coo_sparse_mat), intent(inout) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -253,7 +253,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_cssv(alpha,a,x,beta,y,info,trans) subroutine psb_z_csr_cssv(alpha,a,x,beta,y,info,trans)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -261,7 +261,7 @@ module psb_z_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_csr_cssv end subroutine psb_z_csr_cssv
subroutine psb_z_csr_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_z_csr_cssm(alpha,a,x,beta,y,info,trans)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -272,7 +272,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_z_csr_csmv(alpha,a,x,beta,y,info,trans)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -280,7 +280,7 @@ module psb_z_csr_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_csr_csmv end subroutine psb_z_csr_csmv
subroutine psb_z_csr_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_z_csr_csmm(alpha,a,x,beta,y,info,trans)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -292,7 +292,7 @@ module psb_z_csr_mat_mod
interface interface
function psb_z_csr_csnmi(a) result(res) function psb_z_csr_csnmi(a) result(res)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_z_csr_csnmi end function psb_z_csr_csnmi
@ -300,7 +300,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_get_diag(a,d,info) subroutine psb_z_csr_get_diag(a,d,info)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(in) :: a class(psb_z_csr_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(out) :: d(:) complex(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -309,7 +309,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_scal(d,a,info) subroutine psb_z_csr_scal(d,a,info)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d(:) complex(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -318,7 +318,7 @@ module psb_z_csr_mat_mod
interface interface
subroutine psb_z_csr_scals(d,a,info) subroutine psb_z_csr_scals(d,a,info)
import psb_z_csr_sparse_mat, psb_dpk_ import :: psb_z_csr_sparse_mat, psb_dpk_
class(psb_z_csr_sparse_mat), intent(inout) :: a class(psb_z_csr_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d complex(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -125,7 +125,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_nrows(m,a) subroutine psb_z_set_nrows(m,a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
integer, intent(in) :: m integer, intent(in) :: m
end subroutine psb_z_set_nrows end subroutine psb_z_set_nrows
@ -133,7 +133,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_ncols(n,a) subroutine psb_z_set_ncols(n,a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_z_set_ncols end subroutine psb_z_set_ncols
@ -141,7 +141,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_state(n,a) subroutine psb_z_set_state(n,a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_z_set_state end subroutine psb_z_set_state
@ -149,7 +149,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_dupl(n,a) subroutine psb_z_set_dupl(n,a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
integer, intent(in) :: n integer, intent(in) :: n
end subroutine psb_z_set_dupl end subroutine psb_z_set_dupl
@ -157,35 +157,35 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_null(a) subroutine psb_z_set_null(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_set_null end subroutine psb_z_set_null
end interface end interface
interface interface
subroutine psb_z_set_bld(a) subroutine psb_z_set_bld(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_set_bld end subroutine psb_z_set_bld
end interface end interface
interface interface
subroutine psb_z_set_upd(a) subroutine psb_z_set_upd(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_set_upd end subroutine psb_z_set_upd
end interface end interface
interface interface
subroutine psb_z_set_asb(a) subroutine psb_z_set_asb(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_set_asb end subroutine psb_z_set_asb
end interface end interface
interface interface
subroutine psb_z_set_sorted(a,val) subroutine psb_z_set_sorted(a,val)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_z_set_sorted end subroutine psb_z_set_sorted
@ -193,7 +193,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_triangle(a,val) subroutine psb_z_set_triangle(a,val)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_z_set_triangle end subroutine psb_z_set_triangle
@ -201,7 +201,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_unit(a,val) subroutine psb_z_set_unit(a,val)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_z_set_unit end subroutine psb_z_set_unit
@ -209,7 +209,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_lower(a,val) subroutine psb_z_set_lower(a,val)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_z_set_lower end subroutine psb_z_set_lower
@ -217,7 +217,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_set_upper(a,val) subroutine psb_z_set_upper(a,val)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: val logical, intent(in), optional :: val
end subroutine psb_z_set_upper end subroutine psb_z_set_upper
@ -226,7 +226,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc) subroutine psb_z_sparse_print(iout,a,iv,eirs,eics,head,ivr,ivc)
import psb_z_sparse_mat import :: psb_z_sparse_mat
integer, intent(in) :: iout integer, intent(in) :: iout
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer, intent(in), optional :: iv(:) integer, intent(in), optional :: iv(:)
@ -238,7 +238,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_get_neigh(a,idx,neigh,n,info,lev) subroutine psb_z_get_neigh(a,idx,neigh,n,info,lev)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer, intent(out) :: n integer, intent(out) :: n
@ -250,7 +250,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_csall(nr,nc,a,info,nz) subroutine psb_z_csall(nr,nc,a,info,nz)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(out) :: a class(psb_z_sparse_mat), intent(out) :: a
integer, intent(in) :: nr,nc integer, intent(in) :: nr,nc
integer, intent(out) :: info integer, intent(out) :: info
@ -260,7 +260,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_reallocate_nz(nz,a) subroutine psb_z_reallocate_nz(nz,a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
integer, intent(in) :: nz integer, intent(in) :: nz
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_reallocate_nz end subroutine psb_z_reallocate_nz
@ -268,21 +268,21 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_free(a) subroutine psb_z_free(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_free end subroutine psb_z_free
end interface end interface
interface interface
subroutine psb_z_trim(a) subroutine psb_z_trim(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_trim end subroutine psb_z_trim
end interface end interface
interface interface
subroutine psb_z_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) subroutine psb_z_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: val(:) complex(psb_dpk_), intent(in) :: val(:)
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
@ -294,7 +294,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_z_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -310,7 +310,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_csgetrow(imin,imax,a,nz,ia,ja,val,info,& subroutine psb_z_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
integer, intent(out) :: nz integer, intent(out) :: nz
@ -327,7 +327,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_csgetblk(imin,imax,a,b,info,& subroutine psb_z_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_sparse_mat), intent(out) :: b class(psb_z_sparse_mat), intent(out) :: b
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -342,7 +342,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_csclip(a,b,info,& subroutine psb_z_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_sparse_mat), intent(out) :: b class(psb_z_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -354,7 +354,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_b_csclip(a,b,info,& subroutine psb_z_b_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_z_sparse_mat, psb_dpk_, psb_z_coo_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_coo_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
type(psb_z_coo_sparse_mat), intent(out) :: b type(psb_z_coo_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -365,7 +365,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_cscnv(a,b,info,type,mold,upd,dupl) subroutine psb_z_cscnv(a,b,info,type,mold,upd,dupl)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_sparse_mat), intent(out) :: b class(psb_z_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -378,7 +378,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_cscnv_ip(a,iinfo,type,mold,dupl) subroutine psb_z_cscnv_ip(a,iinfo,type,mold,dupl)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
integer, intent(out) :: iinfo integer, intent(out) :: iinfo
integer,optional, intent(in) :: dupl integer,optional, intent(in) :: dupl
@ -390,7 +390,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_cscnv_base(a,b,info,dupl) subroutine psb_z_cscnv_base(a,b,info,dupl)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(out) :: b class(psb_z_base_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -400,7 +400,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_clip_d(a,b,info) subroutine psb_z_clip_d(a,b,info)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_sparse_mat), intent(out) :: b class(psb_z_sparse_mat), intent(out) :: b
integer,intent(out) :: info integer,intent(out) :: info
@ -409,7 +409,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_clip_d_ip(a,info) subroutine psb_z_clip_d_ip(a,info)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
integer,intent(out) :: info integer,intent(out) :: info
end subroutine psb_z_clip_d_ip end subroutine psb_z_clip_d_ip
@ -417,7 +417,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_mv_from(a,b) subroutine psb_z_mv_from(a,b)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(out) :: a class(psb_z_sparse_mat), intent(out) :: a
class(psb_z_base_sparse_mat), intent(inout) :: b class(psb_z_base_sparse_mat), intent(inout) :: b
end subroutine psb_z_mv_from end subroutine psb_z_mv_from
@ -425,7 +425,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_cp_from(a,b) subroutine psb_z_cp_from(a,b)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(out) :: a class(psb_z_sparse_mat), intent(out) :: a
class(psb_z_base_sparse_mat), intent(inout), allocatable :: b class(psb_z_base_sparse_mat), intent(inout), allocatable :: b
end subroutine psb_z_cp_from end subroutine psb_z_cp_from
@ -433,7 +433,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_mv_to(a,b) subroutine psb_z_mv_to(a,b)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
class(psb_z_base_sparse_mat), intent(out) :: b class(psb_z_base_sparse_mat), intent(out) :: b
end subroutine psb_z_mv_to end subroutine psb_z_mv_to
@ -441,7 +441,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_cp_to(a,b) subroutine psb_z_cp_to(a,b)
import psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat import :: psb_z_sparse_mat, psb_dpk_, psb_z_base_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_base_sparse_mat), intent(out) :: b class(psb_z_base_sparse_mat), intent(out) :: b
end subroutine psb_z_cp_to end subroutine psb_z_cp_to
@ -449,7 +449,7 @@ module psb_z_mat_mod
interface psb_move_alloc interface psb_move_alloc
subroutine psb_z_sparse_mat_move(a,b,info) subroutine psb_z_sparse_mat_move(a,b,info)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
class(psb_z_sparse_mat), intent(out) :: b class(psb_z_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -459,7 +459,7 @@ module psb_z_mat_mod
interface psb_clone interface psb_clone
subroutine psb_z_sparse_mat_clone(a,b,info) subroutine psb_z_sparse_mat_clone(a,b,info)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
class(psb_z_sparse_mat), intent(out) :: b class(psb_z_sparse_mat), intent(out) :: b
integer, intent(out) :: info integer, intent(out) :: info
@ -468,14 +468,14 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_transp_1mat(a) subroutine psb_z_transp_1mat(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_transp_1mat end subroutine psb_z_transp_1mat
end interface end interface
interface interface
subroutine psb_z_transp_2mat(a,b) subroutine psb_z_transp_2mat(a,b)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(out) :: a class(psb_z_sparse_mat), intent(out) :: a
class(psb_z_sparse_mat), intent(in) :: b class(psb_z_sparse_mat), intent(in) :: b
end subroutine psb_z_transp_2mat end subroutine psb_z_transp_2mat
@ -483,14 +483,14 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_transc_1mat(a) subroutine psb_z_transc_1mat(a)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
end subroutine psb_z_transc_1mat end subroutine psb_z_transc_1mat
end interface end interface
interface interface
subroutine psb_z_transc_2mat(a,b) subroutine psb_z_transc_2mat(a,b)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(out) :: a class(psb_z_sparse_mat), intent(out) :: a
class(psb_z_sparse_mat), intent(in) :: b class(psb_z_sparse_mat), intent(in) :: b
end subroutine psb_z_transc_2mat end subroutine psb_z_transc_2mat
@ -498,7 +498,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_reinit(a,clear) subroutine psb_z_reinit(a,clear)
import psb_z_sparse_mat import :: psb_z_sparse_mat
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
logical, intent(in), optional :: clear logical, intent(in), optional :: clear
end subroutine psb_z_reinit end subroutine psb_z_reinit
@ -522,7 +522,7 @@ module psb_z_mat_mod
interface psb_csmm interface psb_csmm
subroutine psb_z_csmm(alpha,a,x,beta,y,info,trans) subroutine psb_z_csmm(alpha,a,x,beta,y,info,trans)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -530,7 +530,7 @@ module psb_z_mat_mod
character, optional, intent(in) :: trans character, optional, intent(in) :: trans
end subroutine psb_z_csmm end subroutine psb_z_csmm
subroutine psb_z_csmv(alpha,a,x,beta,y,info,trans) subroutine psb_z_csmv(alpha,a,x,beta,y,info,trans)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -541,7 +541,7 @@ module psb_z_mat_mod
interface psb_cssm interface psb_cssm
subroutine psb_z_cssm(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_z_cssm(alpha,a,x,beta,y,info,trans,scale,d)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
complex(psb_dpk_), intent(inout) :: y(:,:) complex(psb_dpk_), intent(inout) :: y(:,:)
@ -550,7 +550,7 @@ module psb_z_mat_mod
complex(psb_dpk_), intent(in), optional :: d(:) complex(psb_dpk_), intent(in), optional :: d(:)
end subroutine psb_z_cssm end subroutine psb_z_cssm
subroutine psb_z_cssv(alpha,a,x,beta,y,info,trans,scale,d) subroutine psb_z_cssv(alpha,a,x,beta,y,info,trans,scale,d)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(in) :: alpha, beta, x(:) complex(psb_dpk_), intent(in) :: alpha, beta, x(:)
complex(psb_dpk_), intent(inout) :: y(:) complex(psb_dpk_), intent(inout) :: y(:)
@ -562,7 +562,7 @@ module psb_z_mat_mod
interface interface
function psb_z_csnmi(a) result(res) function psb_z_csnmi(a) result(res)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
real(psb_dpk_) :: res real(psb_dpk_) :: res
end function psb_z_csnmi end function psb_z_csnmi
@ -570,7 +570,7 @@ module psb_z_mat_mod
interface interface
subroutine psb_z_get_diag(a,d,info) subroutine psb_z_get_diag(a,d,info)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
complex(psb_dpk_), intent(out) :: d(:) complex(psb_dpk_), intent(out) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
@ -579,13 +579,13 @@ module psb_z_mat_mod
interface psb_scal interface psb_scal
subroutine psb_z_scal(d,a,info) subroutine psb_z_scal(d,a,info)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d(:) complex(psb_dpk_), intent(in) :: d(:)
integer, intent(out) :: info integer, intent(out) :: info
end subroutine psb_z_scal end subroutine psb_z_scal
subroutine psb_z_scals(d,a,info) subroutine psb_z_scals(d,a,info)
import psb_z_sparse_mat, psb_dpk_ import :: psb_z_sparse_mat, psb_dpk_
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
complex(psb_dpk_), intent(in) :: d complex(psb_dpk_), intent(in) :: d
integer, intent(out) :: info integer, intent(out) :: info

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -134,7 +134,7 @@ end function psb_camax
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -258,7 +258,7 @@ end function psb_camaxv
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -386,7 +386,7 @@ end subroutine psb_camaxvs
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

@ -1,6 +1,6 @@
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -146,7 +146,7 @@ end function psb_casum
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$
@ -282,7 +282,7 @@ end function psb_casumv
!!$ !!$
!!$ Parallel Sparse BLAS version 3.0 !!$ Parallel Sparse BLAS version 3.0
!!$ (C) Copyright 2010 !!$ (C) Copyright 2006, 2007, 2008, 2009, 2010
!!$ Salvatore Filippone University of Rome Tor Vergata !!$ Salvatore Filippone University of Rome Tor Vergata
!!$ Alfredo Buttari CNRS-IRIT, Toulouse !!$ Alfredo Buttari CNRS-IRIT, Toulouse
!!$ !!$

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save