F122: Search Operations on Sparse Vectors

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:

A,B
(REAL) One-dimensional arrays.
IA,INDX
(INTEGER) One-dimensional arrays.
LA
(LOGICAL) One-dimensional array.
NW,INC
(INTEGER) Variables or expressions.
TARG
(REAL) Variable or expression.
ITARG,NFOUND
(INTEGER) Variables.
In any arithmetic expression,
    IILZ(NW,A,INC)
represents the INTEGER number of leading zero elements in
tex2html_wrap_inline97 ;
    ILSUM(NW,LA,INC)
represents the INTEGER number of .TRUE. elements in
tex2html_wrap_inline99 .
    CALL SCATTER(NW,A,INDX,B)
    CALL GATHER(NW,A,B,INDX)
set tex2html_wrap_inline101 and tex2html_wrap_inline103 , respectively.
    CALL WHENFxx(NW,A,INC,TARG,INDX,NFOUND)
searches tex2html_wrap_inline105 for elements which satisfy the relation A(.).xx.TARG where tex2html_wrap_inline107 . On exit, tex2html_wrap_inline109 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 tex2html_wrap_inline111 , and REAL draw a and REAL target targ, or INTEGER draw a and INTEGER target targ, respectively.
tex2html_wrap_inline113

Michel Goossens Wed Jun 5 05:31:25 METDST 1996