base/modules/psb_c_base_vect_mod.f90
 base/modules/psb_c_vect_mod.F90
 base/modules/psb_d_base_vect_mod.f90
 base/modules/psb_d_vect_mod.F90
 base/modules/psb_s_base_vect_mod.f90
 base/modules/psb_s_vect_mod.F90
 base/modules/psb_z_base_vect_mod.f90
 base/modules/psb_z_vect_mod.F90

Added absval method.
psblas3-accel
Salvatore Filippone 10 years ago
parent 3f5ee754bd
commit c143117ae1

@ -135,6 +135,7 @@ module psb_c_base_vect_mod
! Scaling and norms
!
procedure, pass(x) :: scal => c_base_scal
procedure, pass(x) :: absval => c_base_absval
procedure, pass(x) :: nrm2 => c_base_nrm2
procedure, pass(x) :: amax => c_base_amax
procedure, pass(x) :: asum => c_base_asum
@ -640,6 +641,22 @@ contains
end subroutine c_base_set_scal
!
! Overwrite with absolute value
!
!
!> Function base_set_scal
!! \memberof psb_c_base_vect_type
!! \brief Set all entries to their respective absolute values.
!!
subroutine c_base_absval(x)
class(psb_c_base_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& x%v = abs(x%v)
end subroutine c_base_absval
!
!> Function base_set_vect
!! \memberof psb_c_base_vect_type

@ -63,6 +63,7 @@ module psb_c_vect_mod
generic, public :: mlt => mlt_v, mlt_a, mlt_a_2,&
& mlt_v_2, mlt_av, mlt_va
procedure, pass(x) :: scal => c_vect_scal
procedure, pass(x) :: absval => c_vect_absval
procedure, pass(x) :: nrm2 => c_vect_nrm2
procedure, pass(x) :: amax => c_vect_amax
procedure, pass(x) :: asum => c_vect_asum
@ -457,6 +458,13 @@ contains
end subroutine c_vect_scal
subroutine c_vect_absval(x)
class(psb_c_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& call x%v%absval()
end subroutine c_vect_absval
function c_vect_nrm2(n,x) result(res)
implicit none

@ -135,6 +135,7 @@ module psb_d_base_vect_mod
! Scaling and norms
!
procedure, pass(x) :: scal => d_base_scal
procedure, pass(x) :: absval => d_base_absval
procedure, pass(x) :: nrm2 => d_base_nrm2
procedure, pass(x) :: amax => d_base_amax
procedure, pass(x) :: asum => d_base_asum
@ -640,6 +641,22 @@ contains
end subroutine d_base_set_scal
!
! Overwrite with absolute value
!
!
!> Function base_set_scal
!! \memberof psb_d_base_vect_type
!! \brief Set all entries to their respective absolute values.
!!
subroutine d_base_absval(x)
class(psb_d_base_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& x%v = abs(x%v)
end subroutine d_base_absval
!
!> Function base_set_vect
!! \memberof psb_d_base_vect_type

@ -63,6 +63,7 @@ module psb_d_vect_mod
generic, public :: mlt => mlt_v, mlt_a, mlt_a_2,&
& mlt_v_2, mlt_av, mlt_va
procedure, pass(x) :: scal => d_vect_scal
procedure, pass(x) :: absval => d_vect_absval
procedure, pass(x) :: nrm2 => d_vect_nrm2
procedure, pass(x) :: amax => d_vect_amax
procedure, pass(x) :: asum => d_vect_asum
@ -457,6 +458,13 @@ contains
end subroutine d_vect_scal
subroutine d_vect_absval(x)
class(psb_d_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& call x%v%absval()
end subroutine d_vect_absval
function d_vect_nrm2(n,x) result(res)
implicit none

@ -135,6 +135,7 @@ module psb_s_base_vect_mod
! Scaling and norms
!
procedure, pass(x) :: scal => s_base_scal
procedure, pass(x) :: absval => s_base_absval
procedure, pass(x) :: nrm2 => s_base_nrm2
procedure, pass(x) :: amax => s_base_amax
procedure, pass(x) :: asum => s_base_asum
@ -640,6 +641,22 @@ contains
end subroutine s_base_set_scal
!
! Overwrite with absolute value
!
!
!> Function base_set_scal
!! \memberof psb_s_base_vect_type
!! \brief Set all entries to their respective absolute values.
!!
subroutine s_base_absval(x)
class(psb_s_base_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& x%v = abs(x%v)
end subroutine s_base_absval
!
!> Function base_set_vect
!! \memberof psb_s_base_vect_type

@ -63,6 +63,7 @@ module psb_s_vect_mod
generic, public :: mlt => mlt_v, mlt_a, mlt_a_2,&
& mlt_v_2, mlt_av, mlt_va
procedure, pass(x) :: scal => s_vect_scal
procedure, pass(x) :: absval => s_vect_absval
procedure, pass(x) :: nrm2 => s_vect_nrm2
procedure, pass(x) :: amax => s_vect_amax
procedure, pass(x) :: asum => s_vect_asum
@ -457,6 +458,13 @@ contains
end subroutine s_vect_scal
subroutine s_vect_absval(x)
class(psb_s_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& call x%v%absval()
end subroutine s_vect_absval
function s_vect_nrm2(n,x) result(res)
implicit none

@ -135,6 +135,7 @@ module psb_z_base_vect_mod
! Scaling and norms
!
procedure, pass(x) :: scal => z_base_scal
procedure, pass(x) :: absval => z_base_absval
procedure, pass(x) :: nrm2 => z_base_nrm2
procedure, pass(x) :: amax => z_base_amax
procedure, pass(x) :: asum => z_base_asum
@ -640,6 +641,22 @@ contains
end subroutine z_base_set_scal
!
! Overwrite with absolute value
!
!
!> Function base_set_scal
!! \memberof psb_z_base_vect_type
!! \brief Set all entries to their respective absolute values.
!!
subroutine z_base_absval(x)
class(psb_z_base_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& x%v = abs(x%v)
end subroutine z_base_absval
!
!> Function base_set_vect
!! \memberof psb_z_base_vect_type

@ -63,6 +63,7 @@ module psb_z_vect_mod
generic, public :: mlt => mlt_v, mlt_a, mlt_a_2,&
& mlt_v_2, mlt_av, mlt_va
procedure, pass(x) :: scal => z_vect_scal
procedure, pass(x) :: absval => z_vect_absval
procedure, pass(x) :: nrm2 => z_vect_nrm2
procedure, pass(x) :: amax => z_vect_amax
procedure, pass(x) :: asum => z_vect_asum
@ -457,6 +458,13 @@ contains
end subroutine z_vect_scal
subroutine z_vect_absval(x)
class(psb_z_vect_type), intent(inout) :: x
if (allocated(x%v)) &
& call x%v%absval()
end subroutine z_vect_absval
function z_vect_nrm2(n,x) result(res)
implicit none

Loading…
Cancel
Save