Author(s): F. Antonelli | Library: MATHLIB |
Submitter: F. Carminati | Submitted: 29.05.1989 |
Language: Fortran (IBM: Assembler) | Revised: |
Performs logical search and data movement operations on sparse vectors. On Cray systems these routines are part of the default libraries (scilib). An optimized Assembler version is provided for IBM 3090 with Vector Facilities. Fortran code is used on the other systems.
Structure:
SUBROUTINE and FUNCTION subprograms
User Entry Names:
IILZ, | ILSUM, | SCATTER, | GATHER, | WHENEQ, | WHENNE, | WHENFLT, |
WHENFGT, | WHENFLE, | WHENFGE, | WHENILT, | WHENIGT, | WHENILE, | WHENIGE |
Usage:
The arguments in the calling sequences below are defined as follows:
IILZ(NW,A,INC)represents the INTEGER number of leading zero elements in
ILSUM(NW,LA,INC)represents the INTEGER number of .TRUE. elements in
CALL SCATTER(NW,A,INDX,B) CALL GATHER(NW,A,B,INDX)set and , respectively.
CALL WHENFxx(NW,A,INC,TARG,INDX,NFOUND)searches for elements which satisfy the relation A(.).xx.TARG where . On exit, will contain the indices of the NFOUND elements which satisfy the relation specified.
CALL WHENIxx(NW,IA,INC,ITARG,INDX,NFOUND)performes the same task as WHENFxx but for INTEGER draw and target.
CALL WHENEQ(NW,a,INC,targ,INDX,NFOUND) CALL WHENNE(NW,a,INC,targ,INDX,NFOUND)performs the same task as WHENFxx or WHENIxx, but for , and REAL draw a and REAL target targ, or INTEGER draw a and INTEGER target targ, respectively.