scal.f90 Source File


Source Code

module f77_blas_scal
    use iso_fortran_env
    use iso_c_binding
    implicit none

!> Generic old style interface for SCAL.
!> Supports s, d, c, z, cs, zd.
!> See also: [[mfi_scal]], [[sscal]], [[dscal]], [[cscal]], [[zscal]], [[csscal]], [[zdscal]].
interface f77_scal
!> Original interface for SSCAL
!> See also: [[mfi_scal]], [[scal]].
!> SSCAL scales a vector by a constant.
pure subroutine sscal(n, a, x, incx)
    import :: REAL32
    real(REAL32), intent(inout) :: x(*)
    real(REAL32), intent(in) :: a
    integer, intent(in) :: n
    integer, intent(in) :: incx
end subroutine
!> Original interface for DSCAL
!> See also: [[mfi_scal]], [[scal]].
!> DSCAL scales a vector by a constant.
pure subroutine dscal(n, a, x, incx)
    import :: REAL64
    real(REAL64), intent(inout) :: x(*)
    real(REAL64), intent(in) :: a
    integer, intent(in) :: n
    integer, intent(in) :: incx
end subroutine
!> Original interface for CSCAL
!> See also: [[mfi_scal]], [[scal]].
!> CSCAL scales a vector by a constant.
pure subroutine cscal(n, a, x, incx)
    import :: REAL32
    complex(REAL32), intent(inout) :: x(*)
    complex(REAL32), intent(in) :: a
    integer, intent(in) :: n
    integer, intent(in) :: incx
end subroutine
!> Original interface for ZSCAL
!> See also: [[mfi_scal]], [[scal]].
!> ZSCAL scales a vector by a constant.
pure subroutine zscal(n, a, x, incx)
    import :: REAL64
    complex(REAL64), intent(inout) :: x(*)
    complex(REAL64), intent(in) :: a
    integer, intent(in) :: n
    integer, intent(in) :: incx
end subroutine
!> Original interface for CSSCAL
!> See also: [[mfi_scal]], [[scal]].
!> CSSCAL scales a vector by a constant.
pure subroutine csscal(n, a, x, incx)
    import :: REAL32
    complex(REAL32), intent(inout) :: x(*)
    real(REAL32), intent(in) :: a
    integer, intent(in) :: n
    integer, intent(in) :: incx
end subroutine
!> Original interface for ZDSCAL
!> See also: [[mfi_scal]], [[scal]].
!> ZDSCAL scales a vector by a constant.
pure subroutine zdscal(n, a, x, incx)
    import :: REAL64
    complex(REAL64), intent(inout) :: x(*)
    real(REAL64), intent(in) :: a
    integer, intent(in) :: n
    integer, intent(in) :: incx
end subroutine
end interface
end module