| Author(s): H. Lipps | Library: KERNLIB |
| Submitter: | Submitted: 18.12.1979 |
| Language: Fortran or Assembler or COMPASS | Revised: 27.05.1987 |
These subprograms perform elementary vector operations.
Structure:
SUBROUTINE and FUNCTION subprograms
User Entry Names:
| RVADD, | RVCPY, | RVDIV, | RVMPA, | RVMPY, | RVMUL, | RVMULA, | RVMUNA, |
| RVRAN, | RVSCA, | RVSCL, | RVSCS, | RVSET, | RVSUB, | RVSUM, | RVXCH, |
| DVADD, | DVCPY, | DVDIV, | DVMPA, | DVMPY, | DVMUL, | DVMULA, | DVMUNA, |
| DVRAN, | DVSCA, | DVSCL, | DVSCS, | DVSET, | DVSUB, | DVSUM, | DVXCH, |
| CVADD, | CVCPY, | CVDIV, | CVMPA, | CVMPY, | CVMUL, | CVMULA, | CVMUNA, |
| CVRAN, | CVSCA, | CVSCL, | CVSCS, | CVSET, | CVSUB, | CVSUM, | CVXCH, |
| CVMPYC, | CVMPAC |
Usage:
For
(type REAL),
(type
DOUBLE PRECISION),
(type COMPLEX):
| CALL tVSET (N,S,Z1,Z2) | | |
| CALL tVRAN (N,A,B,Z1,Z2) | | |
| CALL tVCPY (N,X1,X2,Z1,Z2) | | |
| CALL tVXCH (N,X1,X2,Y1,Y2) | interchanges | |
| CALL tVADD (N,X1,X2,Y1,Y2,Z1,Z2) | | |
| CALL tVSUB (N,X1,X2,Y1,Y2,Z1,Z2) | | |
| CALL tVMUL (N,X1,X2,Y1,Y2,Z1,Z2) | | |
| CALL tVMULA(N,X1,X2,Y1,Y2,Z1,Z2) | | |
| CALL tVMUNA(N,X1,X2,Y1,Y2,Z1,Z2) | | |
| CALL tVDIV (N,X1,X2,Y1,Y2,Z1,Z2,IFAIL) | | |
| CALL tVSCL (N,S,X1,X2,Z1,Z2) | | |
| CALL tVSCA (N,S,X1,X2,Y1,Y2,Z1,Z2) | | |
| CALL tVSCS (N,S,X1,X2,Y1,Y2,Z1,Z2) | | |
| F = tVSUM (N,X1,X2) | | |
| F = tVMPY (N,X1,X2,Y1,Y2) | | |
| F = tVMPA (N,X1,X2,Y1,Y2,S) | | |
| F = CVMPYC(N,X1,X2,Y1,Y2) |
| |
| F = CVMPAC(N,X1,X2,Y1,Y2,S) |
|
Restrictions:
If vector
overlaps with vector
or
, results will
be correct provided each element
coincides with an element
or
, where k<j.
Accuracy:
On computers with IBM 370 architecture, RVMPY, RVMPA, CVMPY and CVMPA accumulate the inner product using double-precision arithmetic internally; the final result is then rounded to single precision.
Notes: