XEROX BLAS 2 4 1 BLAS 1 4 By: Jan Pedersen (Pedersen.PA @ Xerox.com) used in conjunction with UNBOXEDOPS and CMLFLOATARRY BLAS implements a version of the Basic Linear Algebra Subroutine library as laid out in the "LINPACK Users' Guide" by Dongarra et al. (SIAM 1979). BLAS contains a collection of functions, such as dot-product and array-copy, that operate on cmlarrays of element type single-float. These functions view an array as a collection of floating point numbers in memory storage order (in row major order), although an offset from the beginning of an array and an incremental skip is always provided. Conformability of arguments is always checked. Although reasonable results are returned, these functions usually side-effect argument arrays. This package employs floating point declarations, so on machines with unboxed opcodes (principally 1109's), few if any floating point boxes are generated. For the following functions, the offset arguments default to zero and the skip arguments default to one. (BLAS.ADD scalar x xoffset xskip cnt) [Function] Given a scalar and a float array X, computes X = scalar + X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns X (BLAS.SCAL scalar x xoffset xskip cnt) [Function] Given a scalar and a float array X, computes X = scalar * X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns X (BLAS.AXPY scalar x xoffset xskip y yoffset yskip cnt) [Function] Given a scalar and two float arrays X and Y, computes Y = Y + scalar * X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns Y (BLAS.DOTPROD x xoffset xskip y yoffset yskip cnt) [Function] Given two float arrays X and Y, computes the inner product . Cnt defaults to largest value commensurate with xoffset and xskip. Returns the inner product. (BLAS.NRM2 x xoffset xskip cnt) [Function] Given a float array X, computes the Euclidean (L2) norm of X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns the Euclidean norm of X. (BLAS.ROTG a b c s) [Macro] Given scalars A and B, sets up the Givens rotation defined by A and B by setting C and S to be the appropriate constants. Returns a value which can later be used to reconstruct A and B (BLAS.ROT c s x xoffset xskip y yoffset yskipcnt) [Function] Given two scalars, C and S. and two float arrays X and Y, computes the rotation defined by C and S, side-effecting both X and Y in the process. Cnt defaults to largest value commensurate with xoffset and xskip. Returns Y. (BLAS.SUM x xoffset xskip cnt) [Function] Given a float array X, computes the sum of the elements of X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns the sum. (BLAS.ASUM x xoffset xskip cnt) [Function] Given a float array X, computes the sum of the absolute values of the elements of X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns the sum. (BLAS.MAX x xoffset xskip cnt) [Function] Given a float array X, computes the (zero origin] index of the largest element of X in absolute value. Cnt defaults to largest value commensurate with xoffset and xskip. Returns the index. (BLAS.COPY x xoffset xskip y yoffset yskip cnt) [Function] Given two float arrays X and Y, computes Y = X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns Y (BLAS.SWAP x xoffset xskip y yoffset yskip cnt) [Function] Given two float arrays X and Y, swaps Y with X. Cnt defaults to largest value commensurate with xoffset and xskip. Returns Y (BLAS.ARRAYBLT source sourceoffset sourceskip dest destoffset destskip cnt ) [Function] Given two float arrays SOURCE and DEST, copies elements of SOURCE to DEST. Cnt defaults to largest value commensurate with SOURCEOFFSET and SOURCESKIP. Returns DEST (BLAS.ARRAYFILL scalar dest destoffset destskip cnt ) [Function] Given a scalar and a float array DEST, fills every element of DEST with that scalar. Cnt defaults to largest value commensurate with DESTOFFSET and DESTSKIP. Returns DEST (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))((8(8D PAGEHEADING RUNNINGHEAD1 1$MODERN MODERN MODERNLOGOMODERN MODERN GACHA  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN ,5i     *  $      $        $ ~ $ ~<  z