@ -43,12 +43,12 @@
!
!
! == == == == == == == == == == == == == == == == == == =
! == == == == == == == == == == == == == == == == == == =
subroutine psb_d_ cx x_csmv( alpha , a , x , beta , y , info , trans )
subroutine psb_d_ xyz _csmv( alpha , a , x , beta , y , info , trans )
use psb_error_mod
use psb_error_mod
use psb_string_mod
use psb_string_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csmv
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csmv
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _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 ( : )
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -60,7 +60,7 @@ subroutine psb_d_cxx_csmv(alpha,a,x,beta,y,info,trans)
logical :: tra , ctra
logical :: tra , ctra
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_csmv'
character ( len = 20 ) :: name = 'd_ xyz _csmv'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
call psb_erractionsave ( err_act )
call psb_erractionsave ( err_act )
@ -105,7 +105,7 @@ subroutine psb_d_cxx_csmv(alpha,a,x,beta,y,info,trans)
end if
end if
call psb_d_ cx x_csmv_inner( m , n , alpha , a % irp , a % ja , a % val , &
call psb_d_ xyz _csmv_inner( m , n , alpha , a % irp , a % ja , a % val , &
& a % is_triangle ( ) , a % is_unit ( ) , &
& a % is_triangle ( ) , a % is_unit ( ) , &
& x , beta , y , tra , ctra )
& x , beta , y , tra , ctra )
@ -116,7 +116,7 @@ subroutine psb_d_cxx_csmv(alpha,a,x,beta,y,info,trans)
return
return
contains
contains
subroutine psb_d_ cx x_csmv_inner( m , n , alpha , irp , ja , val , is_triangle , is_unit , &
subroutine psb_d_ xyz _csmv_inner( m , n , alpha , irp , ja , val , is_triangle , is_unit , &
& x , beta , y , tra , ctra )
& x , beta , y , tra , ctra )
integer ( psb_ipk_ ) , intent ( in ) :: m , n , irp ( * ) , ja ( * )
integer ( psb_ipk_ ) , intent ( in ) :: m , n , irp ( * ) , ja ( * )
real ( psb_dpk_ ) , intent ( in ) :: alpha , beta , x ( * ) , val ( * )
real ( psb_dpk_ ) , intent ( in ) :: alpha , beta , x ( * ) , val ( * )
@ -381,17 +381,17 @@ contains
end if
end if
end subroutine psb_d_ cx x_csmv_inner
end subroutine psb_d_ xyz _csmv_inner
end subroutine psb_d_ cx x_csmv
end subroutine psb_d_ xyz _csmv
subroutine psb_d_ cx x_csmm( alpha , a , x , beta , y , info , trans )
subroutine psb_d_ xyz _csmm( alpha , a , x , beta , y , info , trans )
use psb_error_mod
use psb_error_mod
use psb_string_mod
use psb_string_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csmm
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csmm
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _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 ( : , : )
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -403,7 +403,7 @@ subroutine psb_d_cxx_csmm(alpha,a,x,beta,y,info,trans)
logical :: tra , ctra
logical :: tra , ctra
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_csmm'
character ( len = 20 ) :: name = 'd_ xyz _csmm'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
info = psb_success_
info = psb_success_
@ -454,7 +454,7 @@ subroutine psb_d_cxx_csmm(alpha,a,x,beta,y,info,trans)
go to 9999
go to 9999
end if
end if
call psb_d_ cx x_csmm_inner( m , n , nc , alpha , a % irp , a % ja , a % val , &
call psb_d_ xyz _csmm_inner( m , n , nc , alpha , a % irp , a % ja , a % val , &
& a % is_triangle ( ) , a % is_unit ( ) , x , size ( x , 1 , kind = psb_ipk_ ) , &
& a % is_triangle ( ) , a % is_unit ( ) , x , size ( x , 1 , kind = psb_ipk_ ) , &
& beta , y , size ( y , 1 , kind = psb_ipk_ ) , tra , ctra , acc )
& beta , y , size ( y , 1 , kind = psb_ipk_ ) , tra , ctra , acc )
@ -465,7 +465,7 @@ subroutine psb_d_cxx_csmm(alpha,a,x,beta,y,info,trans)
return
return
contains
contains
subroutine psb_d_ cx x_csmm_inner( m , n , nc , alpha , irp , ja , val , &
subroutine psb_d_ xyz _csmm_inner( m , n , nc , alpha , irp , ja , val , &
& is_triangle , is_unit , x , ldx , beta , y , ldy , tra , ctra , acc )
& is_triangle , is_unit , x , ldx , beta , y , ldy , tra , ctra , acc )
integer ( psb_ipk_ ) , intent ( in ) :: m , n , ldx , ldy , nc , irp ( * ) , ja ( * )
integer ( psb_ipk_ ) , intent ( in ) :: m , n , ldx , ldy , nc , irp ( * ) , ja ( * )
real ( psb_dpk_ ) , intent ( in ) :: alpha , beta , x ( ldx , * ) , val ( * )
real ( psb_dpk_ ) , intent ( in ) :: alpha , beta , x ( ldx , * ) , val ( * )
@ -727,17 +727,17 @@ contains
end do
end do
end if
end if
end subroutine psb_d_ cx x_csmm_inner
end subroutine psb_d_ xyz _csmm_inner
end subroutine psb_d_ cx x_csmm
end subroutine psb_d_ xyz _csmm
subroutine psb_d_ cx x_cssv( alpha , a , x , beta , y , info , trans )
subroutine psb_d_ xyz _cssv( alpha , a , x , beta , y , info , trans )
use psb_error_mod
use psb_error_mod
use psb_string_mod
use psb_string_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_cssv
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _cssv
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _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 ( : )
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -750,7 +750,7 @@ subroutine psb_d_cxx_cssv(alpha,a,x,beta,y,info,trans)
logical :: tra , ctra
logical :: tra , ctra
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_cssv'
character ( len = 20 ) :: name = 'd_ xyz _cssv'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
info = psb_success_
info = psb_success_
@ -805,7 +805,7 @@ subroutine psb_d_cxx_cssv(alpha,a,x,beta,y,info,trans)
if ( beta == dzero ) then
if ( beta == dzero ) then
call inner_ cx xsv( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , &
call inner_ xyz sv( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , &
& a % irp , a % ja , a % val , x , y )
& a % irp , a % ja , a % val , x , y )
if ( alpha == done ) then
if ( alpha == done ) then
! do nothing
! do nothing
@ -824,7 +824,7 @@ subroutine psb_d_cxx_cssv(alpha,a,x,beta,y,info,trans)
return
return
end if
end if
call inner_ cx xsv( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , &
call inner_ xyz sv( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , &
& a % irp , a % ja , a % val , x , tmp )
& a % irp , a % ja , a % val , x , tmp )
call psb_geaxpby ( m , alpha , tmp , beta , y , info )
call psb_geaxpby ( m , alpha , tmp , beta , y , info )
@ -839,7 +839,7 @@ subroutine psb_d_cxx_cssv(alpha,a,x,beta,y,info,trans)
contains
contains
subroutine inner_ cx xsv( tra , ctra , lower , unit , n , irp , ja , val , x , y )
subroutine inner_ xyz sv( tra , ctra , lower , unit , n , irp , ja , val , x , y )
implicit none
implicit none
logical , intent ( in ) :: tra , ctra , lower , unit
logical , intent ( in ) :: tra , ctra , lower , unit
integer ( psb_ipk_ ) , intent ( in ) :: irp ( * ) , ja ( * ) , n
integer ( psb_ipk_ ) , intent ( in ) :: irp ( * ) , ja ( * ) , n
@ -988,18 +988,18 @@ contains
end if
end if
end if
end if
end subroutine inner_ cx xsv
end subroutine inner_ xyz sv
end subroutine psb_d_ cx x_cssv
end subroutine psb_d_ xyz _cssv
subroutine psb_d_ cx x_cssm( alpha , a , x , beta , y , info , trans )
subroutine psb_d_ xyz _cssm( alpha , a , x , beta , y , info , trans )
use psb_error_mod
use psb_error_mod
use psb_string_mod
use psb_string_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_cssm
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _cssm
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _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 ( : , : )
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -1012,7 +1012,7 @@ subroutine psb_d_cxx_cssm(alpha,a,x,beta,y,info,trans)
logical :: tra , ctra
logical :: tra , ctra
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_cssm'
character ( len = 20 ) :: name = 'd_ xyz _cssm'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
info = psb_success_
info = psb_success_
@ -1057,7 +1057,7 @@ subroutine psb_d_cxx_cssm(alpha,a,x,beta,y,info,trans)
end if
end if
if ( beta == dzero ) then
if ( beta == dzero ) then
call inner_ cx xsm( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , nc , &
call inner_ xyz sm( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , nc , &
& a % irp , a % ja , a % val , x , size ( x , 1 , kind = psb_ipk_ ) , y , size ( y , 1 , kind = psb_ipk_ ) , info )
& a % irp , a % ja , a % val , x , size ( x , 1 , kind = psb_ipk_ ) , y , size ( y , 1 , kind = psb_ipk_ ) , info )
do i = 1 , m
do i = 1 , m
y ( i , 1 : nc ) = alpha * y ( i , 1 : nc )
y ( i , 1 : nc ) = alpha * y ( i , 1 : nc )
@ -1070,7 +1070,7 @@ subroutine psb_d_cxx_cssm(alpha,a,x,beta,y,info,trans)
go to 9999
go to 9999
end if
end if
call inner_ cx xsm( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , nc , &
call inner_ xyz sm( tra , ctra , a % is_lower ( ) , a % is_unit ( ) , a % get_nrows ( ) , nc , &
& a % irp , a % ja , a % val , x , size ( x , 1 , kind = psb_ipk_ ) , tmp , size ( tmp , 1 , kind = psb_ipk_ ) , info )
& a % irp , a % ja , a % val , x , size ( x , 1 , kind = psb_ipk_ ) , tmp , size ( tmp , 1 , kind = psb_ipk_ ) , info )
do i = 1 , m
do i = 1 , m
y ( i , 1 : nc ) = alpha * tmp ( i , 1 : nc ) + beta * y ( i , 1 : nc )
y ( i , 1 : nc ) = alpha * tmp ( i , 1 : nc ) + beta * y ( i , 1 : nc )
@ -1079,7 +1079,7 @@ subroutine psb_d_cxx_cssm(alpha,a,x,beta,y,info,trans)
if ( info / = psb_success_ ) then
if ( info / = psb_success_ ) then
info = psb_err_from_subroutine_
info = psb_err_from_subroutine_
call psb_errpush ( info , name , a_err = 'inner_ cx xsm')
call psb_errpush ( info , name , a_err = 'inner_ xyz sm')
go to 9999
go to 9999
end if
end if
@ -1093,7 +1093,7 @@ subroutine psb_d_cxx_cssm(alpha,a,x,beta,y,info,trans)
contains
contains
subroutine inner_ cx xsm( tra , ctra , lower , unit , nr , nc , &
subroutine inner_ xyz sm( tra , ctra , lower , unit , nr , nc , &
& irp , ja , val , x , ldx , y , ldy , info )
& irp , ja , val , x , ldx , y , ldy , info )
implicit none
implicit none
logical , intent ( in ) :: tra , ctra , lower , unit
logical , intent ( in ) :: tra , ctra , lower , unit
@ -1249,20 +1249,20 @@ contains
end if
end if
end if
end if
end subroutine inner_ cx xsm
end subroutine inner_ xyz sm
end subroutine psb_d_ cx x_cssm
end subroutine psb_d_ xyz _cssm
function psb_d_ cx x_maxval( a ) result ( res )
function psb_d_ xyz _maxval( a ) result ( res )
use psb_error_mod
use psb_error_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_maxval
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _maxval
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) :: res
real ( psb_dpk_ ) :: res
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc , info
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc , info
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_maxval'
character ( len = 20 ) :: name = 'd_ xyz _maxval'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
@ -1272,13 +1272,13 @@ function psb_d_cxx_maxval(a) result(res)
nnz = min ( nnz , size ( a % val ) )
nnz = min ( nnz , size ( a % val ) )
res = maxval ( abs ( a % val ( 1 : nnz ) ) )
res = maxval ( abs ( a % val ( 1 : nnz ) ) )
end if
end if
end function psb_d_ cx x_maxval
end function psb_d_ xyz _maxval
function psb_d_ cx x_csnmi( a ) result ( res )
function psb_d_ xyz _csnmi( a ) result ( res )
use psb_error_mod
use psb_error_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csnmi
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csnmi
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) :: res
real ( psb_dpk_ ) :: res
integer ( psb_ipk_ ) :: i , j , k , m , n , nr , ir , jc , nc
integer ( psb_ipk_ ) :: i , j , k , m , n , nr , ir , jc , nc
@ -1300,15 +1300,15 @@ function psb_d_cxx_csnmi(a) result(res)
res = max ( res , acc )
res = max ( res , acc )
end do
end do
end function psb_d_ cx x_csnmi
end function psb_d_ xyz _csnmi
function psb_d_ cx x_csnm1( a ) result ( res )
function psb_d_ xyz _csnm1( a ) result ( res )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csnm1
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csnm1
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) :: res
real ( psb_dpk_ ) :: res
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc , info
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc , info
@ -1317,7 +1317,7 @@ function psb_d_cxx_csnm1(a) result(res)
logical :: tra
logical :: tra
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_csnm1'
character ( len = 20 ) :: name = 'd_ xyz _csnm1'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
@ -1339,13 +1339,13 @@ function psb_d_cxx_csnm1(a) result(res)
return
return
end function psb_d_ cx x_csnm1
end function psb_d_ xyz _csnm1
subroutine psb_d_ cx x_rowsum( d , a )
subroutine psb_d_ xyz _rowsum( d , a )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_rowsum
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _rowsum
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
@ -1387,13 +1387,13 @@ subroutine psb_d_cxx_rowsum(d,a)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_rowsum
end subroutine psb_d_ xyz _rowsum
subroutine psb_d_ cx x_arwsum( d , a )
subroutine psb_d_ xyz _arwsum( d , a )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_arwsum
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _arwsum
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
@ -1435,13 +1435,13 @@ subroutine psb_d_cxx_arwsum(d,a)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_arwsum
end subroutine psb_d_ xyz _arwsum
subroutine psb_d_ cx x_colsum( d , a )
subroutine psb_d_ xyz _colsum( d , a )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_colsum
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _colsum
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
@ -1486,13 +1486,13 @@ subroutine psb_d_cxx_colsum(d,a)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_colsum
end subroutine psb_d_ xyz _colsum
subroutine psb_d_ cx x_aclsum( d , a )
subroutine psb_d_ xyz _aclsum( d , a )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_aclsum
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _aclsum
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
integer ( psb_ipk_ ) :: i , j , k , m , n , nnz , ir , jc , nc
@ -1537,14 +1537,14 @@ subroutine psb_d_cxx_aclsum(d,a)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_aclsum
end subroutine psb_d_ xyz _aclsum
subroutine psb_d_ cx x_get_diag( a , d , info )
subroutine psb_d_ xyz _get_diag( a , d , info )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_get_diag
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _get_diag
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
real ( psb_dpk_ ) , intent ( out ) :: d ( : )
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -1588,16 +1588,16 @@ subroutine psb_d_cxx_get_diag(a,d,info)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_get_diag
end subroutine psb_d_ xyz _get_diag
subroutine psb_d_ cx x_scal( d , a , info , side )
subroutine psb_d_ xyz _scal( d , a , info , side )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_scal
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _scal
use psb_string_mod
use psb_string_mod
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
real ( psb_dpk_ ) , intent ( in ) :: d ( : )
real ( psb_dpk_ ) , intent ( in ) :: d ( : )
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
character , intent ( in ) , optional :: side
character , intent ( in ) , optional :: side
@ -1660,15 +1660,15 @@ subroutine psb_d_cxx_scal(d,a,info,side)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_scal
end subroutine psb_d_ xyz _scal
subroutine psb_d_ cx x_scals( d , a , info )
subroutine psb_d_ xyz _scals( d , a , info )
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_scals
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _scals
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
real ( psb_dpk_ ) , intent ( in ) :: d
real ( psb_dpk_ ) , intent ( in ) :: d
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -1694,7 +1694,7 @@ subroutine psb_d_cxx_scals(d,a,info)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_scals
end subroutine psb_d_ xyz _scals
@ -1712,16 +1712,16 @@ end subroutine psb_d_cxx_scals
! == == == == == == == == == == == == == == == == == == =
! == == == == == == == == == == == == == == == == == == =
subroutine psb_d_ cx x_reallocate_nz( nz , a )
subroutine psb_d_ xyz _reallocate_nz( nz , a )
use psb_error_mod
use psb_error_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_reallocate_nz
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _reallocate_nz
implicit none
implicit none
integer ( psb_ipk_ ) , intent ( in ) :: nz
integer ( psb_ipk_ ) , intent ( in ) :: nz
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
integer ( psb_ipk_ ) :: err_act , info
integer ( psb_ipk_ ) :: err_act , info
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_reallocate_nz'
character ( len = 20 ) :: name = 'd_ xyz _reallocate_nz'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
call psb_erractionsave ( err_act )
call psb_erractionsave ( err_act )
@ -1741,18 +1741,18 @@ subroutine psb_d_cxx_reallocate_nz(nz,a)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_reallocate_nz
end subroutine psb_d_ xyz _reallocate_nz
subroutine psb_d_ cx x_mold( a , b , info )
subroutine psb_d_ xyz _mold( a , b , info )
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_mold
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _mold
use psb_error_mod
use psb_error_mod
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
class ( psb_d_base_sparse_mat ) , intent ( inout ) , allocatable :: b
class ( psb_d_base_sparse_mat ) , intent ( inout ) , allocatable :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = ' cx x_mold'
character ( len = 20 ) :: name = ' xyz _mold'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
call psb_get_erraction ( err_act )
call psb_get_erraction ( err_act )
@ -1762,7 +1762,7 @@ subroutine psb_d_cxx_mold(a,b,info)
call b % free ( )
call b % free ( )
deallocate ( b , stat = info )
deallocate ( b , stat = info )
end if
end if
if ( info == 0 ) allocate ( psb_d_ cx x_sparse_mat :: b , stat = info )
if ( info == 0 ) allocate ( psb_d_ xyz _sparse_mat :: b , stat = info )
if ( info / = 0 ) then
if ( info / = 0 ) then
info = psb_err_alloc_dealloc_
info = psb_err_alloc_dealloc_
@ -1774,15 +1774,15 @@ subroutine psb_d_cxx_mold(a,b,info)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_mold
end subroutine psb_d_ xyz _mold
subroutine psb_d_ cx x_allocate_mnnz( m , n , a , nz )
subroutine psb_d_ xyz _allocate_mnnz( m , n , a , nz )
use psb_error_mod
use psb_error_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_allocate_mnnz
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _allocate_mnnz
implicit none
implicit none
integer ( psb_ipk_ ) , intent ( in ) :: m , n
integer ( psb_ipk_ ) , intent ( in ) :: m , n
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
integer ( psb_ipk_ ) , intent ( in ) , optional :: nz
integer ( psb_ipk_ ) , intent ( in ) , optional :: nz
integer ( psb_ipk_ ) :: err_act , info , nz_
integer ( psb_ipk_ ) :: err_act , info , nz_
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
@ -1834,20 +1834,20 @@ subroutine psb_d_cxx_allocate_mnnz(m,n,a,nz)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_allocate_mnnz
end subroutine psb_d_ xyz _allocate_mnnz
subroutine psb_d_ cx x_csgetptn( imin , imax , a , nz , ia , ja , info , &
subroutine psb_d_ xyz _csgetptn( imin , imax , a , nz , ia , ja , info , &
& jmin , jmax , iren , append , nzin , rscale , cscale )
& jmin , jmax , iren , append , nzin , rscale , cscale )
! Output is always in COO format
! Output is always in COO format
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_error_mod
use psb_error_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csgetptn
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csgetptn
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
integer ( psb_ipk_ ) , intent ( in ) :: imin , imax
integer ( psb_ipk_ ) , intent ( in ) :: imin , imax
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
@ -1908,7 +1908,7 @@ subroutine psb_d_cxx_csgetptn(imin,imax,a,nz,ia,ja,info,&
go to 9999
go to 9999
end if
end if
call cx x_getptn( imin , imax , jmin_ , jmax_ , a , nz , ia , ja , nzin_ , append_ , info , iren )
call xyz _getptn( imin , imax , jmin_ , jmax_ , a , nz , ia , ja , nzin_ , append_ , info , iren )
if ( rscale_ ) then
if ( rscale_ ) then
do i = nzin_ + 1 , nzin_ + nz
do i = nzin_ + 1 , nzin_ + nz
@ -1931,7 +1931,7 @@ subroutine psb_d_cxx_csgetptn(imin,imax,a,nz,ia,ja,info,&
contains
contains
subroutine cx x_getptn( imin , imax , jmin , jmax , a , nz , ia , ja , nzin , append , info , &
subroutine xyz _getptn( imin , imax , jmin , jmax , a , nz , ia , ja , nzin , append , info , &
& iren )
& iren )
use psb_const_mod
use psb_const_mod
@ -1940,7 +1940,7 @@ contains
use psb_sort_mod
use psb_sort_mod
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
integer ( psb_ipk_ ) :: imin , imax , jmin , jmax
integer ( psb_ipk_ ) :: imin , imax , jmin , jmax
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
@ -1950,7 +1950,7 @@ contains
integer ( psb_ipk_ ) , optional :: iren ( : )
integer ( psb_ipk_ ) , optional :: iren ( : )
integer ( psb_ipk_ ) :: nzin_ , nza , idx , i , j , k , nzt , irw , lrw
integer ( psb_ipk_ ) :: nzin_ , nza , idx , i , j , k , nzt , irw , lrw
integer ( psb_ipk_ ) :: debug_level , debug_unit
integer ( psb_ipk_ ) :: debug_level , debug_unit
character ( len = 20 ) :: name = ' cx x_getptn'
character ( len = 20 ) :: name = ' xyz _getptn'
debug_unit = psb_get_debug_unit ( )
debug_unit = psb_get_debug_unit ( )
debug_level = psb_get_debug_level ( )
debug_level = psb_get_debug_level ( )
@ -2002,22 +2002,22 @@ contains
end do
end do
end if
end if
end subroutine cx x_getptn
end subroutine xyz _getptn
end subroutine psb_d_ cx x_csgetptn
end subroutine psb_d_ xyz _csgetptn
subroutine psb_d_ cx x_csgetrow( imin , imax , a , nz , ia , ja , val , info , &
subroutine psb_d_ xyz _csgetrow( imin , imax , a , nz , ia , ja , val , info , &
& jmin , jmax , iren , append , nzin , rscale , cscale )
& jmin , jmax , iren , append , nzin , rscale , cscale )
! Output is always in COO format
! Output is always in COO format
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_error_mod
use psb_error_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csgetrow
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csgetrow
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
integer ( psb_ipk_ ) , intent ( in ) :: imin , imax
integer ( psb_ipk_ ) , intent ( in ) :: imin , imax
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
@ -2079,7 +2079,7 @@ subroutine psb_d_cxx_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
go to 9999
go to 9999
end if
end if
call cx x_getrow( imin , imax , jmin_ , jmax_ , a , nz , ia , ja , val , nzin_ , append_ , info , &
call xyz _getrow( imin , imax , jmin_ , jmax_ , a , nz , ia , ja , val , nzin_ , append_ , info , &
& iren )
& iren )
if ( rscale_ ) then
if ( rscale_ ) then
@ -2103,7 +2103,7 @@ subroutine psb_d_cxx_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
contains
contains
subroutine cx x_getrow( imin , imax , jmin , jmax , a , nz , ia , ja , val , nzin , append , info , &
subroutine xyz _getrow( imin , imax , jmin , jmax , a , nz , ia , ja , val , nzin , append , info , &
& iren )
& iren )
use psb_const_mod
use psb_const_mod
@ -2112,7 +2112,7 @@ contains
use psb_sort_mod
use psb_sort_mod
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
integer ( psb_ipk_ ) :: imin , imax , jmin , jmax
integer ( psb_ipk_ ) :: imin , imax , jmin , jmax
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , intent ( out ) :: nz
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
integer ( psb_ipk_ ) , allocatable , intent ( inout ) :: ia ( : ) , ja ( : )
@ -2178,19 +2178,19 @@ contains
end do
end do
end if
end if
end subroutine cx x_getrow
end subroutine xyz _getrow
end subroutine psb_d_ cx x_csgetrow
end subroutine psb_d_ xyz _csgetrow
subroutine psb_d_ cx x_csgetblk( imin , imax , a , b , info , &
subroutine psb_d_ xyz _csgetblk( imin , imax , a , b , info , &
& jmin , jmax , iren , append , rscale , cscale )
& jmin , jmax , iren , append , rscale , cscale )
! Output is always in COO format
! Output is always in COO format
use psb_error_mod
use psb_error_mod
use psb_const_mod
use psb_const_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csgetblk
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csgetblk
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( in ) :: imin , imax
integer ( psb_ipk_ ) , intent ( in ) :: imin , imax
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2234,17 +2234,17 @@ subroutine psb_d_cxx_csgetblk(imin,imax,a,b,info,&
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_csgetblk
end subroutine psb_d_ xyz _csgetblk
subroutine psb_d_ cx x_csput_a( nz , ia , ja , val , a , imin , imax , jmin , jmax , info , gtl )
subroutine psb_d_ xyz _csput_a( nz , ia , ja , val , a , imin , imax , jmin , jmax , info , gtl )
use psb_error_mod
use psb_error_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_csput_a
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _csput_a
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
real ( psb_dpk_ ) , intent ( in ) :: val ( : )
real ( psb_dpk_ ) , intent ( in ) :: val ( : )
integer ( psb_ipk_ ) , intent ( in ) :: nz , ia ( : ) , ja ( : ) , imin , imax , jmin , jmax
integer ( psb_ipk_ ) , intent ( in ) :: nz , ia ( : ) , ja ( : ) , imin , imax , jmin , jmax
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2253,7 +2253,7 @@ subroutine psb_d_cxx_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_csput'
character ( len = 20 ) :: name = 'd_ xyz _csput'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
integer ( psb_ipk_ ) :: nza , i , j , k , nzl , isza
integer ( psb_ipk_ ) :: nza , i , j , k , nzl , isza
@ -2296,7 +2296,7 @@ subroutine psb_d_cxx_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
info = psb_err_invalid_mat_state_
info = psb_err_invalid_mat_state_
else if ( a % is_upd ( ) ) then
else if ( a % is_upd ( ) ) then
call psb_d_ cx x_srch_upd( nz , ia , ja , val , a , &
call psb_d_ xyz _srch_upd( nz , ia , ja , val , a , &
& imin , imax , jmin , jmax , info , gtl )
& imin , imax , jmin , jmax , info , gtl )
if ( info / = psb_success_ ) then
if ( info / = psb_success_ ) then
@ -2322,7 +2322,7 @@ subroutine psb_d_cxx_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
contains
contains
subroutine psb_d_ cx x_srch_upd( nz , ia , ja , val , a , &
subroutine psb_d_ xyz _srch_upd( nz , ia , ja , val , a , &
& imin , imax , jmin , jmax , info , gtl )
& imin , imax , jmin , jmax , info , gtl )
use psb_const_mod
use psb_const_mod
@ -2331,7 +2331,7 @@ contains
use psb_sort_mod
use psb_sort_mod
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
integer ( psb_ipk_ ) , intent ( in ) :: nz , imin , imax , jmin , jmax
integer ( psb_ipk_ ) , intent ( in ) :: nz , imin , imax , jmin , jmax
integer ( psb_ipk_ ) , intent ( in ) :: ia ( : ) , ja ( : )
integer ( psb_ipk_ ) , intent ( in ) :: ia ( : ) , ja ( : )
real ( psb_dpk_ ) , intent ( in ) :: val ( : )
real ( psb_dpk_ ) , intent ( in ) :: val ( : )
@ -2340,7 +2340,7 @@ contains
integer ( psb_ipk_ ) :: i , ir , ic , ilr , ilc , ip , &
integer ( psb_ipk_ ) :: i , ir , ic , ilr , ilc , ip , &
& i1 , i2 , nr , nc , nnz , dupl , ng
& i1 , i2 , nr , nc , nnz , dupl , ng
integer ( psb_ipk_ ) :: debug_level , debug_unit
integer ( psb_ipk_ ) :: debug_level , debug_unit
character ( len = 20 ) :: name = 'd_ cx x_srch_upd'
character ( len = 20 ) :: name = 'd_ xyz _srch_upd'
info = psb_success_
info = psb_success_
debug_unit = psb_get_debug_unit ( )
debug_unit = psb_get_debug_unit ( )
@ -2515,17 +2515,17 @@ contains
end if
end if
end subroutine psb_d_ cx x_srch_upd
end subroutine psb_d_ xyz _srch_upd
end subroutine psb_d_ cx x_csput_a
end subroutine psb_d_ xyz _csput_a
subroutine psb_d_ cx x_reinit( a , clear )
subroutine psb_d_ xyz _reinit( a , clear )
use psb_error_mod
use psb_error_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_reinit
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _reinit
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
logical , intent ( in ) , optional :: clear
logical , intent ( in ) , optional :: clear
integer ( psb_ipk_ ) :: err_act , info
integer ( psb_ipk_ ) :: err_act , info
@ -2562,14 +2562,14 @@ subroutine psb_d_cxx_reinit(a,clear)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_reinit
end subroutine psb_d_ xyz _reinit
subroutine psb_d_ cx x_trim( a )
subroutine psb_d_ xyz _trim( a )
use psb_realloc_mod
use psb_realloc_mod
use psb_error_mod
use psb_error_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_trim
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _trim
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
integer ( psb_ipk_ ) :: err_act , info , nz , m
integer ( psb_ipk_ ) :: err_act , info , nz , m
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'trim'
character ( len = 20 ) :: name = 'trim'
@ -2591,22 +2591,22 @@ subroutine psb_d_cxx_trim(a)
9999 call psb_error_handler ( err_act )
9999 call psb_error_handler ( err_act )
return
return
end subroutine psb_d_ cx x_trim
end subroutine psb_d_ xyz _trim
subroutine psb_d_ cx x_print( iout , a , iv , head , ivr , ivc )
subroutine psb_d_ xyz _print( iout , a , iv , head , ivr , ivc )
use psb_string_mod
use psb_string_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_ cx x_print
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_ xyz _print
implicit none
implicit none
integer ( psb_ipk_ ) , intent ( in ) :: iout
integer ( psb_ipk_ ) , intent ( in ) :: iout
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
integer ( psb_ipk_ ) , intent ( in ) , optional :: iv ( : )
integer ( psb_ipk_ ) , intent ( in ) , optional :: iv ( : )
character ( len = * ) , optional :: head
character ( len = * ) , optional :: head
integer ( psb_ipk_ ) , intent ( in ) , optional :: ivr ( : ) , ivc ( : )
integer ( psb_ipk_ ) , intent ( in ) , optional :: ivr ( : ) , ivc ( : )
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: err_act
integer ( psb_ipk_ ) :: ierr ( 5 )
integer ( psb_ipk_ ) :: ierr ( 5 )
character ( len = 20 ) :: name = 'd_ cx x_print'
character ( len = 20 ) :: name = 'd_ xyz _print'
logical , parameter :: debug = . false .
logical , parameter :: debug = . false .
character ( len = * ) , parameter :: datatype = 'real'
character ( len = * ) , parameter :: datatype = 'real'
character ( len = 80 ) :: frmtv
character ( len = 80 ) :: frmtv
@ -2665,17 +2665,17 @@ subroutine psb_d_cxx_print(iout,a,iv,head,ivr,ivc)
endif
endif
endif
endif
end subroutine psb_d_ cx x_print
end subroutine psb_d_ xyz _print
subroutine psb_d_cp_ cx x_from_coo( a , b , info )
subroutine psb_d_cp_ xyz _from_coo( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_cp_ cx x_from_coo
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_cp_ xyz _from_coo
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
class ( psb_d_coo_sparse_mat ) , intent ( in ) :: b
class ( psb_d_coo_sparse_mat ) , intent ( in ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2693,17 +2693,17 @@ subroutine psb_d_cp_cxx_from_coo(a,b,info)
call tmp % cp_from_coo ( b , info )
call tmp % cp_from_coo ( b , info )
if ( info == psb_success_ ) call a % mv_from_coo ( tmp , info )
if ( info == psb_success_ ) call a % mv_from_coo ( tmp , info )
end subroutine psb_d_cp_ cx x_from_coo
end subroutine psb_d_cp_ xyz _from_coo
subroutine psb_d_cp_ cx x_to_coo( a , b , info )
subroutine psb_d_cp_ xyz _to_coo( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_cp_ cx x_to_coo
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_cp_ xyz _to_coo
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2735,17 +2735,17 @@ subroutine psb_d_cp_cxx_to_coo(a,b,info)
call b % fix ( info )
call b % fix ( info )
end subroutine psb_d_cp_ cx x_to_coo
end subroutine psb_d_cp_ xyz _to_coo
subroutine psb_d_mv_ cx x_to_coo( a , b , info )
subroutine psb_d_mv_ xyz _to_coo( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_mv_ cx x_to_coo
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_mv_ xyz _to_coo
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2778,19 +2778,19 @@ subroutine psb_d_mv_cxx_to_coo(a,b,info)
call b % fix ( info )
call b % fix ( info )
end subroutine psb_d_mv_ cx x_to_coo
end subroutine psb_d_mv_ xyz _to_coo
subroutine psb_d_mv_ cx x_from_coo( a , b , info )
subroutine psb_d_mv_ xyz _from_coo( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_error_mod
use psb_error_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_mv_ cx x_from_coo
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_mv_ xyz _from_coo
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_coo_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2873,16 +2873,16 @@ subroutine psb_d_mv_cxx_from_coo(a,b,info)
endif
endif
end subroutine psb_d_mv_ cx x_from_coo
end subroutine psb_d_mv_ xyz _from_coo
subroutine psb_d_mv_ cx x_to_fmt( a , b , info )
subroutine psb_d_mv_ xyz _to_fmt( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_mv_ cx x_to_fmt
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_mv_ xyz _to_fmt
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
class ( psb_d_base_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_base_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2900,7 +2900,7 @@ subroutine psb_d_mv_cxx_to_fmt(a,b,info)
type is ( psb_d_coo_sparse_mat )
type is ( psb_d_coo_sparse_mat )
call a % mv_to_coo ( b , info )
call a % mv_to_coo ( b , info )
! Need to fix trivial copies !
! Need to fix trivial copies !
type is ( psb_d_ cx x_sparse_mat)
type is ( psb_d_ xyz _sparse_mat)
b % psb_d_base_sparse_mat = a % psb_d_base_sparse_mat
b % psb_d_base_sparse_mat = a % psb_d_base_sparse_mat
call move_alloc ( a % irp , b % irp )
call move_alloc ( a % irp , b % irp )
call move_alloc ( a % ja , b % ja )
call move_alloc ( a % ja , b % ja )
@ -2912,17 +2912,17 @@ subroutine psb_d_mv_cxx_to_fmt(a,b,info)
if ( info == psb_success_ ) call b % mv_from_coo ( tmp , info )
if ( info == psb_success_ ) call b % mv_from_coo ( tmp , info )
end select
end select
end subroutine psb_d_mv_ cx x_to_fmt
end subroutine psb_d_mv_ xyz _to_fmt
subroutine psb_d_cp_ cx x_to_fmt( a , b , info )
subroutine psb_d_cp_ xyz _to_fmt( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_cp_ cx x_to_fmt
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_cp_ xyz _to_fmt
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( in ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( in ) :: a
class ( psb_d_base_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_base_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2941,7 +2941,7 @@ subroutine psb_d_cp_cxx_to_fmt(a,b,info)
type is ( psb_d_coo_sparse_mat )
type is ( psb_d_coo_sparse_mat )
call a % cp_to_coo ( b , info )
call a % cp_to_coo ( b , info )
type is ( psb_d_ cx x_sparse_mat)
type is ( psb_d_ xyz _sparse_mat)
b % psb_d_base_sparse_mat = a % psb_d_base_sparse_mat
b % psb_d_base_sparse_mat = a % psb_d_base_sparse_mat
if ( info == 0 ) call psb_safe_cpy ( a % irp , b % irp , info )
if ( info == 0 ) call psb_safe_cpy ( a % irp , b % irp , info )
if ( info == 0 ) call psb_safe_cpy ( a % ja , b % ja , info )
if ( info == 0 ) call psb_safe_cpy ( a % ja , b % ja , info )
@ -2952,16 +2952,16 @@ subroutine psb_d_cp_cxx_to_fmt(a,b,info)
if ( info == psb_success_ ) call b % mv_from_coo ( tmp , info )
if ( info == psb_success_ ) call b % mv_from_coo ( tmp , info )
end select
end select
end subroutine psb_d_cp_ cx x_to_fmt
end subroutine psb_d_cp_ xyz _to_fmt
subroutine psb_d_mv_ cx x_from_fmt( a , b , info )
subroutine psb_d_mv_ xyz _from_fmt( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_mv_ cx x_from_fmt
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_mv_ xyz _from_fmt
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
class ( psb_d_base_sparse_mat ) , intent ( inout ) :: b
class ( psb_d_base_sparse_mat ) , intent ( inout ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -2979,7 +2979,7 @@ subroutine psb_d_mv_cxx_from_fmt(a,b,info)
type is ( psb_d_coo_sparse_mat )
type is ( psb_d_coo_sparse_mat )
call a % mv_from_coo ( b , info )
call a % mv_from_coo ( b , info )
type is ( psb_d_ cx x_sparse_mat)
type is ( psb_d_ xyz _sparse_mat)
a % psb_d_base_sparse_mat = b % psb_d_base_sparse_mat
a % psb_d_base_sparse_mat = b % psb_d_base_sparse_mat
call move_alloc ( b % irp , a % irp )
call move_alloc ( b % irp , a % irp )
call move_alloc ( b % ja , a % ja )
call move_alloc ( b % ja , a % ja )
@ -2991,18 +2991,18 @@ subroutine psb_d_mv_cxx_from_fmt(a,b,info)
if ( info == psb_success_ ) call a % mv_from_coo ( tmp , info )
if ( info == psb_success_ ) call a % mv_from_coo ( tmp , info )
end select
end select
end subroutine psb_d_mv_ cx x_from_fmt
end subroutine psb_d_mv_ xyz _from_fmt
subroutine psb_d_cp_ cx x_from_fmt( a , b , info )
subroutine psb_d_cp_ xyz _from_fmt( a , b , info )
use psb_const_mod
use psb_const_mod
use psb_d_base_mat_mod
use psb_d_base_mat_mod
use psb_realloc_mod
use psb_realloc_mod
use psb_d_ cx x_mat_mod, psb_protect_name = > psb_d_cp_ cx x_from_fmt
use psb_d_ xyz _mat_mod, psb_protect_name = > psb_d_cp_ xyz _from_fmt
implicit none
implicit none
class ( psb_d_ cx x_sparse_mat) , intent ( inout ) :: a
class ( psb_d_ xyz _sparse_mat) , intent ( inout ) :: a
class ( psb_d_base_sparse_mat ) , intent ( in ) :: b
class ( psb_d_base_sparse_mat ) , intent ( in ) :: b
integer ( psb_ipk_ ) , intent ( out ) :: info
integer ( psb_ipk_ ) , intent ( out ) :: info
@ -3020,7 +3020,7 @@ subroutine psb_d_cp_cxx_from_fmt(a,b,info)
type is ( psb_d_coo_sparse_mat )
type is ( psb_d_coo_sparse_mat )
call a % cp_from_coo ( b , info )
call a % cp_from_coo ( b , info )
type is ( psb_d_ cx x_sparse_mat)
type is ( psb_d_ xyz _sparse_mat)
a % psb_d_base_sparse_mat = b % psb_d_base_sparse_mat
a % psb_d_base_sparse_mat = b % psb_d_base_sparse_mat
if ( info == 0 ) call psb_safe_cpy ( b % irp , a % irp , info )
if ( info == 0 ) call psb_safe_cpy ( b % irp , a % irp , info )
if ( info == 0 ) call psb_safe_cpy ( b % ja , a % ja , info )
if ( info == 0 ) call psb_safe_cpy ( b % ja , a % ja , info )
@ -3030,4 +3030,4 @@ subroutine psb_d_cp_cxx_from_fmt(a,b,info)
call b % cp_to_coo ( tmp , info )
call b % cp_to_coo ( tmp , info )
if ( info == psb_success_ ) call a % mv_from_coo ( tmp , info )
if ( info == psb_success_ ) call a % mv_from_coo ( tmp , info )
end select
end select
end subroutine psb_d_cp_ cx x_from_fmt
end subroutine psb_d_cp_ xyz _from_fmt