zvmul


NAME

zvmul - compute the scaled product of complex vectors


SYNOPSIS

  SUBROUTINE ZVMUL( N, ALPHA, X, INCX, Y, INCY, BETA, Z, INCZ)
  DOUBLE COMPLEX ALPHA, BETA
  DOUBLE COMPLEX X(*), Y(*), Z(*)
  INTEGER N, INCX, INCY, INCZ
 
  SUBROUTINE ZVMUL_64( N, ALPHA, X, INCX, Y, INCY, BETA, Z, INCZ)
  DOUBLE COMPLEX ALPHA, BETA
  DOUBLE COMPLEX X(*), Y(*), Z(*)
  INTEGER*8 N, INCX, INCY, INCZ
 

F95 INTERFACE

  SUBROUTINE VMUL( [N], ALPHA, X, [INCX], Y, [INCY], BETA, Z, [INCZ])
  COMPLEX(8) :: ALPHA, BETA
  COMPLEX(8), DIMENSION(:) :: X, Y, Z
  INTEGER :: N, INCX, INCY, INCZ
 
  SUBROUTINE VMUL_64( [N], ALPHA, X, [INCX], Y, [INCY], BETA, Z, [INCZ])
  COMPLEX(8) :: ALPHA, BETA
  COMPLEX(8), DIMENSION(:) :: X, Y, Z
  INTEGER(8) :: N, INCX, INCY, INCZ
 

C INTERFACE

#include <sunperf.h>

void zvmul(int n, doublecomplex alpha, doublecomplex *x, int incx, doublecomplex *y, int incy, doublecomplex beta, doublecomplex *z, int incz);

void zvmul_64(long n, doublecomplex alpha, doublecomplex *x, long incx, doublecomplex *y, long incy, doublecomplex beta, doublecomplex *z, long incz);


PURPOSE

zvmul computes the scaled product of complex vectors:

  z(i) = ALPHA * x(i) * y(i) + BETA * z(i)

for 1 <= i <= N.


ARGUMENTS

* N (input)
Length of the vectors. N >= 0. ZVMUL will return immediately if N = 0.

* ALPHA (input)
Scale factor on the multiplicand vectors.

* X (input)
 dimension(*)

Multiplicand vector.

* INCX (input)
Stride between elements of the multiplicand vector X. INCX > 0.

* Y (input)
 dimension(*)

Multiplicand vector.

* INCY (input)
Stride between elements of the multiplicand vector Y. INCY > 0.

* BETA (input)
Scale factor on the product vector.

* Z (input/output)
 dimension(*)

Product vector. On exit, z(i) = ALPHA * x(i) * y(i) + BETA * z(i).

* INCZ (input)
Stride between elements of Z. INCZ > 0.