(DEFINE-FILE-INFO §PACKAGE "INTERLISP" §READTABLE "INTERLISP" §BASE 10)(FILECREATED " 5-Dec-86 18:23:44" {QV}<PEDERSEN>LISP>FLOAT-ARRAY-SUPPORT.;4 9218         changes to%:  (VARS FLOAT-ARRAY-SUPPORTCOMS)                    (FUNCTIONS SINGLE-FLOAT-VECTOR-P SINGLE-FLOAT-ARRAY-P MAKE-FLOAT-VECTOR                            MAKE-FLOAT-ARRAY %%BLKFDIFF)                    (PROPS (%%BLKFDIFF DOPVAL))      previous date%: "21-Oct-86 13:28:23" {QV}<PEDERSEN>LISP>FLOAT-ARRAY-SUPPPORT.;1)(* "Copyright (c) 1986 by Xerox Corporation.  All rights reserved.")(PRETTYCOMPRINT FLOAT-ARRAY-SUPPORTCOMS)(RPAQQ FLOAT-ARRAY-SUPPORTCOMS        ((FILES (SYSLOAD FROM VALUEOF DIRECTORIES)               UNBOXEDOPS)        (FUNCTIONS %%BLKEXPONENT %%BLKFABSMAX %%BLKFABSMIN %%BLKFMAX %%BLKFMIN %%BLKFPLUS %%BLKFDIFF                %%BLKFTIMES %%BLKPERM %%BLKSMALLP2FLOAT %%FLOATTOBYTE %%GET-FLOAT-ARRAY-BASE                %%INSURE-ARRAY %%MATMULT-133 %%MATMULT-144 %%MATMULT-331 %%MATMULT-333 %%MATMULT-441                %%MATMULT-444 %%MUL2 %%POLY-EVAL %%TEST-ARRAY MAKE-FLOAT-ARRAY MAKE-FLOAT-VECTOR                SINGLE-FLOAT-ARRAY-P SINGLE-FLOAT-VECTOR-P)        (OPTIMIZERS %%POLY-EVAL %%MATMULT-133 %%MATMULT-144 %%MATMULT-331 %%MATMULT-333 %%MATMULT-441                %%MATMULT-444)        (PROP DOPVAL %%BLKEXPONENT %%BLKFABSMAX %%BLKFABSMIN %%BLKFDIFF %%BLKFMAX %%BLKFMIN               %%BLKFPLUS %%BLKFTIMES %%BLKPERM %%BLKSMALLP2FLOAT %%FLOATTOBYTE)        (PROP FILETYPE FLOAT-ARRAY-SUPPORT)        (DECLARE%: DONTCOPY DOEVAL@COMPILE DONTEVAL@LOAD (LOCALVARS . T))))(FILESLOAD (SYSLOAD FROM VALUEOF DIRECTORIES)       UNBOXEDOPS)(CL:DEFUN %%BLKEXPONENT (SOURCE DEST SIZE) (\MISC3.UFN SOURCE DEST SIZE 0))(CL:DEFUN %%BLKFABSMAX (BASE ZERO SIZE) (\MISC3.UFN BASE ZERO SIZE 6))(CL:DEFUN %%BLKFABSMIN (BASE ZERO SIZE) (\MISC3.UFN BASE ZERO SIZE 7))(CL:DEFUN %%BLKFMAX (BASE ZERO SIZE) (\MISC3.UFN BASE ZERO SIZE 4))(CL:DEFUN %%BLKFMIN (BASE ZERO SIZE) (\MISC3.UFN BASE ZERO SIZE 5))(CL:DEFUN %%BLKFPLUS (SOURCE1 SOURCE2 DEST SIZE) (\MISC4.UFN SOURCE1 SOURCE2 DEST SIZE 2))(CL:DEFUN %%BLKFDIFF (SOURCE1 SOURCE2 DEST SIZE) (\MISC4.UFN SOURCE1 SOURCE2 DEST SIZE 3))(CL:DEFUN %%BLKFTIMES (SOURCE1 SOURCE2 DEST SIZE) (\MISC4.UFN SOURCE1 SOURCE2 DEST SIZE 0))(CL:DEFUN %%BLKPERM (SOURCE PERMUTATION DEST SIZE) (\MISC4.UFN SOURCE PERMUTATION DEST SIZE 1))(CL:DEFUN %%BLKSMALLP2FLOAT (SOURCE DEST SIZE) (\MISC3.UFN SOURCE DEST SIZE 2))(CL:DEFUN %%FLOATTOBYTE (SOURCE DEST SIZE) (\MISC3.UFN SOURCE DEST SIZE 8))(DEFMACRO %%GET-FLOAT-ARRAY-BASE (FLOAT-ARRAY) `(\ADDBASE (%%ARRAY-BASE ,FLOAT-ARRAY)                                                       (LLSH (%%ARRAY-OFFSET ,FLOAT-ARRAY)                                                             1)))(DEFMACRO %%INSURE-ARRAY (RESULT TEST-DIMS &OPTIONAL (MAKE-DIMS (LIST 'QUOTE TEST-DIMS)))   `(CL:IF ,RESULT (%%TEST-ARRAY ,RESULT ,TEST-DIMS)           (CL:MAKE-ARRAY ,MAKE-DIMS :ELEMENT-TYPE 'CL:SINGLE-FLOAT)))(CL:DEFUN %%MATMULT-133 (MATRIXABASE MATRIXBBASE MATRIXCBASE) (\UNBOXFLOAT3 MATRIXABASE MATRIXBBASE                                                                      MATRIXCBASE 3))(CL:DEFUN %%MATMULT-144 (MATRIXABASE MATRIXBBASE MATRIXCBASE) (\UNBOXFLOAT3 MATRIXABASE MATRIXBBASE                                                                      MATRIXCBASE 5))(CL:DEFUN %%MATMULT-331 (MATRIXABASE MATRIXBBASE MATRIXCBASE) (\UNBOXFLOAT3 MATRIXABASE MATRIXBBASE                                                                      MATRIXCBASE 4))(CL:DEFUN %%MATMULT-333 (MATRIXABASE MATRIXBBASE MATRIXCBASE) (\UNBOXFLOAT3 MATRIXABASE MATRIXBBASE                                                                      MATRIXCBASE 1))(CL:DEFUN %%MATMULT-441 (MATRIXABASE MATRIXBBASE MATRIXCBASE) (\UNBOXFLOAT3 MATRIXABASE MATRIXBBASE                                                                      MATRIXCBASE 6))(CL:DEFUN %%MATMULT-444 (MATRIXABASE MATRIXBBASE MATRIXCBASE) (\UNBOXFLOAT3 MATRIXABASE MATRIXBBASE                                                                      MATRIXCBASE 2))(DEFMACRO %%MUL2 (X) `(LLSH ,X 1))(CL:DEFUN %%POLY-EVAL (X BASE SIZE) (\FLOATBOX (\UNBOXFLOAT3 (\FLOATUNBOX X)                                                      BASE SIZE 0)))(DEFMACRO %%TEST-ARRAY (ARRAY DIMS) `(CL:IF [TYPEP ,ARRAY '(CL:ARRAY CL:SINGLE-FLOAT ,DIMS]                                            ,ARRAY                                            (CL:ERROR "Array of incorrect type: ~S" ,ARRAY)))(DEFMACRO MAKE-FLOAT-ARRAY (DIMS &KEY INITIAL-ELEMENT) [CL:IF INITIAL-ELEMENT                                                              `(CL:MAKE-ARRAY ,DIMS :ELEMENT-TYPE                                                                      'CL:SINGLE-FLOAT                                                                       :INITIAL-ELEMENT ,                                                                      INITIAL-ELEMENT)                                                              `(CL:MAKE-ARRAY ,DIMS :ELEMENT-TYPE                                                                      'CL:SINGLE-FLOAT])(DEFMACRO MAKE-FLOAT-VECTOR (SIZE &KEY INITIAL-ELEMENT) [CL:IF INITIAL-ELEMENT                                                               `(MAKE-VECTOR ,SIZE :ELEMENT-TYPE                                                                       'CL:SINGLE-FLOAT                                                                        :INITIAL-ELEMENT ,                                                                       INITIAL-ELEMENT)                                                               `(MAKE-VECTOR ,SIZE :ELEMENT-TYPE                                                                       'CL:SINGLE-FLOAT])(DEFMACRO SINGLE-FLOAT-ARRAY-P (ARRAY) `(TYPEP ,ARRAY '(CL:ARRAY CL:SINGLE-FLOAT)))(DEFMACRO SINGLE-FLOAT-VECTOR-P (ARRAY) `[TYPEP ,ARRAY '(CL:ARRAY CL:SINGLE-FLOAT (CL:*])(DEFOPTIMIZER %%POLY-EVAL (X BASE SIZE) `(\FLOATBOX ((OPCODES UBFLOAT3 0)                                                     (\FLOATUNBOX ,X)                                                     ,BASE                                                     ,SIZE)))(DEFOPTIMIZER %%MATMULT-133 (MATRIXABASE MATRIXBBASE MATRIXCBASE) `((OPCODES UBFLOAT3 3)                                                                    ,MATRIXABASE                                                                    ,MATRIXBBASE                                                                    ,MATRIXCBASE))(DEFOPTIMIZER %%MATMULT-144 (MATRIXABASE MATRIXBBASE MATRIXCBASE) `((OPCODES UBFLOAT3 5)                                                                    ,MATRIXABASE                                                                    ,MATRIXBBASE                                                                    ,MATRIXCBASE))(DEFOPTIMIZER %%MATMULT-331 (MATRIXABASE MATRIXBBASE MATRIXCBASE) `((OPCODES UBFLOAT3 4)                                                                    ,MATRIXABASE                                                                    ,MATRIXBBASE                                                                    ,MATRIXCBASE))(DEFOPTIMIZER %%MATMULT-333 (MATRIXABASE MATRIXBBASE MATRIXCBASE) `((OPCODES UBFLOAT3 1)                                                                    ,MATRIXABASE                                                                    ,MATRIXBBASE                                                                    ,MATRIXCBASE))(DEFOPTIMIZER %%MATMULT-441 (MATRIXABASE MATRIXBBASE MATRIXCBASE) `((OPCODES UBFLOAT3 6)                                                                    ,MATRIXABASE                                                                    ,MATRIXBBASE                                                                    ,MATRIXCBASE))(DEFOPTIMIZER %%MATMULT-444 (MATRIXABASE MATRIXBBASE MATRIXCBASE) `((OPCODES UBFLOAT3 2)                                                                    ,MATRIXABASE                                                                    ,MATRIXBBASE                                                                    ,MATRIXCBASE))(PUTPROPS %%BLKEXPONENT DOPVAL (3 MISC3 0))(PUTPROPS %%BLKFABSMAX DOPVAL (3 MISC3 6))(PUTPROPS %%BLKFABSMIN DOPVAL (3 MISC3 7))(PUTPROPS %%BLKFDIFF DOPVAL (4 MISC4 3))(PUTPROPS %%BLKFMAX DOPVAL (3 MISC3 4))(PUTPROPS %%BLKFMIN DOPVAL (3 MISC3 5))(PUTPROPS %%BLKFPLUS DOPVAL (4 MISC4 2))(PUTPROPS %%BLKFTIMES DOPVAL (4 MISC4 0))(PUTPROPS %%BLKPERM DOPVAL (4 MISC4 1))(PUTPROPS %%BLKSMALLP2FLOAT DOPVAL (3 MISC3 2))(PUTPROPS %%FLOATTOBYTE DOPVAL (3 MISC3 8))(PUTPROPS FLOAT-ARRAY-SUPPORT FILETYPE CL:COMPILE-FILE)(DECLARE%: DONTCOPY DOEVAL@COMPILE DONTEVAL@LOAD (DECLARE%: DOEVAL@COMPILE DONTCOPY(LOCALVARS . T)))(PUTPROPS FLOAT-ARRAY-SUPPORT COPYRIGHT ("Xerox Corporation" 1986))(DECLARE%: DONTCOPY  (FILEMAP (NIL)))STOP