(FILECREATED " 5-Aug-86 21:03:48" ("compiled on " {ERIS}LIBRARY>CMLARRAY.;96) " 4-Aug-86 17:43:14" "COMPILE-FILEd" in "Xerox Lisp 4-Aug-86 ..." dated " 4-Aug-86 22:17:52") (FILECREATED " 5-Aug-86 21:00:29" {ERIS}LIBRARY>CMLARRAY.;96 130515 changes to: (FNS \DEFPRINT-BITVECTOR \DEFPRINT-STRING \DEFPRINT-VECTOR SHRINK-VECTOR) (VARS CMLARRAYCOMS) previous date: "29-Jul-86 04:04:40" {ERIS}LIBRARY>CMLARRAY.;94) (RPAQQ CMLARRAYCOMS ((* * User entry points) (FUNCTIONS ADJUST-ARRAY MAKE-ARRAY VECTOR-PUSH-EXTEND) ( FNS ADJUSTABLE-ARRAY-P AREF ARRAY-DIMENSION ARRAY-DIMENSIONS ARRAY-DISPLACED-P ARRAY-ELEMENT-TYPE ARRAY-HAS-FILL-POINTER-P ARRAY-IN-BOUNDS-P ARRAY-RANK ARRAY-ROW-MAJOR-INDEX ARRAY-TOTAL-SIZE ASET BIT-AND BIT-ANDC1 BIT-ANDC2 BIT-EQV BIT-IOR BIT-NAND BIT-NOR BIT-NOT BIT-ORC1 BIT-ORC2 BIT-VECTOR-P BIT-XOR CL:ARRAYP CL:STRINGP FILL-POINTER SCHAR CHAR SCHARSET SET-FILL-POINTER SIMPLE-ARRAY-P SIMPLE-BIT-VECTOR-P SIMPLE-STRING-P SIMPLE-VECTOR-P VECTOR VECTOR-POP VECTOR-PUSH VECTORP) (SETFS AREF BIT FILL-POINTER SBIT SCHAR SVREF CHAR) (* These need to be functions) (DECLARE: DONTEVAL@LOAD DOCOPY (P (MOVD (FUNCTION AREF) (FUNCTION BIT)) (MOVD (FUNCTION AREF) (FUNCTION SBIT)) (MOVD (FUNCTION AREF) (FUNCTION SVREF)))) (* * Vars, etc.) (VARIABLES ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT ARRAY-DIMENSION-LIMIT *DEFAULT-PUSH-EXTENSION-SIZE* *PRINT-ARRAY*) (* * Internal stuff) (FNS SHRINK-VECTOR \ALTER-AS-DISPLACED-ARRAY \ALTER-AS-DISPLACED-TO-BASE-ARRAY \AREF0 \AREF1 \AREF2 \ARRAY-BASE \ARRAY-CONTENT-INITIALIZE \ARRAY-ELEMENT-INITIALIZE \ARRAY-OFFSET \ASET0 \ASET1 \ASET2 \COPY-ARRAY-TO-ARRAY \COPY-LIST-TO-ARRAY \DO-LOGICAL-OP \EQUAL-LIST-DIMENSIONS \FAT-STRING-ARRAY-P \FILL-NEW-ARRAY \FLATTEN-ARRAY \GET-ARRAY-OFFSET \MAKE-DISPLACED-ARRAY \MAKE-DISPLACED-TO-BASE-ARRAY \MAKE-GENERAL-ARRAY \MAKE-NON-SIMPLE-ARRAY \MAKE-ONED-ARRAY \MAKE-SIMPLE-ARRAY \MAKE-STRING-FAT \MAKE-TWOD-ARRAY \TOTAL-SIZE) (FUNCTIONS ASET-MACRO) (* Faster predicates not including IL:STRINGP's) (FNS \ARRAYP \SIMPLE-ARRAY-P \SIMPLE-STRING-P \SIMPLE-VECTOR-P \STRING-ARRAY-P \STRINGP \VECTORP) (* Low level predicates) (FNS \GENERAL-ARRAY-P \ONED-ARRAY-P \THIN-STRING-ARRAY-P \TWOD-ARRAY-P) (* Record def's) (INITRECORDS GENERAL-ARRAY ONED-ARRAY TWOD-ARRAY) (* * Don't need this stuff at run time ) (DECLARE: DONTCOPY EVAL@COMPILE (RECORDS ARRAY-HEADER GENERAL-ARRAY ONED-ARRAY TWOD-ARRAY) ( FUNCTIONS \CHECK-INDICES \GENERAL-ARRAY-ADJUST-BASE \EXPAND-BIT-OP) (CONSTANTS \GENERAL-ARRAY \ONED-ARRAY \TWOD-ARRAY)) (* * Optimizers) (FNS \AREF-EXPANDER \ASET-EXPANDER) (MACROS AREF ASET BIT SBIT SCHAR SVREF \ARRAYP) (PROP DOPVAL \AREF1 \AREF2 \ASET1 \ASET2 \GENERAL-ARRAY-P \ONED-ARRAY-P \TWOD-ARRAY-P) (* * I/O) (FNS \DEFPRINT-ARRAY \DEFPRINT-BITVECTOR \DEFPRINT-VECTOR \DEFPRINT-STRING \PRINT-ARRAY-CONTENTS) (P (DEFPRINT (QUOTE ONED-ARRAY) (FUNCTION \DEFPRINT-VECTOR)) (DEFPRINT (QUOTE TWOD-ARRAY) (FUNCTION \DEFPRINT-ARRAY)) (DEFPRINT (QUOTE GENERAL-ARRAY) (FUNCTION \DEFPRINT-ARRAY))) ( * * Needed ar run time. Lowel level functions for accessing, setting, and allocating raw storage. Also includes CML type to TYPENUMBER converters) (FNS \CML-TYPE-TO-TYPENUMBER \GET-CANONICAL-CML-TYPE \GET-ENCLOSING-SIGNED-BYTE \GET-ENCLOSING-UNSIGNED-BYTE \LLARRAY-READ \LLARRAY-WRITE \REDUCE-INTEGER \REDUCE-MOD \LLARRAY-MAKE-STORAGE \SMALLFIXP-SMALLPOSP \SMALLPOSP-SMALLFIXP) (* * Optimizers, not yet used, since not backed by micro-code) (MACROS \ARRAY-READ \ARRAY-WRITE) (* * Support Fns) (FNS \GET-TYPE-TABLE-ENTRY \GET-TYPE-TABLE-ENTRY-FIELD \LIT-SIZE-TO-SIZE \LIT-TYPE-TO-TYPE \LLARRAY-MAKE-ACCESSOR-EXPR \LLARRAY-MAKE-SETTOR-EXPR \MAKE-ARRAY-TYPE-TABLE \MAKE-CML-TYPE-TABLE \TYPE-SIZE-TO-TYPENUMBER) (* * These aren't needed at run-time) (DECLARE: DONTCOPY EVAL@COMPILE (* *) (FUNCTIONS \CML-TYPE-TO-TYPENUMBER-EXPANDER \CHAR-TYPE-P \FAT-CHAR-TYPE-P \FAT-STRING-CHAR-P \GETBASESMALL-FIXP \GETBASESTRING-CHAR \GETBASETHINSTRING-CHAR \LLARRAY-TYPED-GET \LLARRAY-TYPED-PUT \LLARRAY-TYPEP \PACK-TYPENUMBER \PUTBASESMALL-FIXP \PUTBASESTRING-CHAR \PUTBASETHINSTRING-CHAR \THIN-CHAR-TYPE-P \THIN-STRING-CHAR-P \TYPENUMBER-TO-BITS-PER-ELEMENT \TYPENUMBER-TO-CML-TYPE \TYPENUMBER-TO-DEFAULT-VALUE \TYPENUMBER-TO-GC-TYPE \TYPENUMBER-TO-NEEDS-INIT-P \TYPENUMBER-TO-SIZE \TYPENUMBER-TO-TYPE) (* * These vars contain all the necessary information for typed arrays) (VARS \LIT-ARRAY-SIZES \LIT-ARRAY-TABLE \LIT-ARRAY-TYPES) (* * These are generated below) (GLOBALVARS \ARRAY-TYPE-TABLE \CANONICAL-CML-TYPES) (* * Describes each entry of \ARRAY-TYPE-TABLE) (RECORDS ARRAY-TYPE-TABLE-ENTRY) (* * Make table that drives various macros) (P (SETQ \ARRAY-TYPE-TABLE ( \MAKE-ARRAY-TYPE-TABLE \LIT-ARRAY-TABLE \LIT-ARRAY-TYPES \LIT-ARRAY-SIZES)) (SETQ \CANONICAL-CML-TYPES (\MAKE-CML-TYPE-TABLE \ARRAY-TYPE-TABLE))) (* * Constants for (SIGNED-BYTE 16)) (CONSTANTS MAX.SMALLFIXP MIN.SMALLFIXP) (* * Constants for STRING-CHARS) (CONSTANTS (\CHAR-TYPE ( \LIT-TYPE-TO-TYPE (QUOTE STRING-CHAR))) (\THIN-CHAR-TYPENUMBER (\TYPE-SIZE-TO-TYPENUMBER (QUOTE STRING-CHAR) (QUOTE 8BIT))) (\FAT-CHAR-TYPENUMBER (\TYPE-SIZE-TO-TYPENUMBER (QUOTE STRING-CHAR) (QUOTE 16BIT))) \MAXTHINCHAR)) (* * Compiler options) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY ( LOCALVARS . T)) (PROP FILETYPE CMLARRAY) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA VECTOR ASET ARRAY-ROW-MAJOR-INDEX ARRAY-IN-BOUNDS-P AREF))))) ADJUST-ARRAY D1 (L (0 -args-)) *eka`%laiHlMdLh[i_Hl__OdOh__i_Hl__OdOh__i_Hl_"_ O"dO  h__$i_&Hl_*_(O*dO(h_&_,i_.Hl_2_0O2dO0h_.j_4i_6Hl_:_8O:dO8h_6_O@dO>h_BJddhZdh_F_DioJ Id oI I I J J )JagMkaMl]agOkaOl_agOkaOl_agO"kaO"l_"agO*kaO*l_*agO2kaO2l_2agO:kaO:l_:agO@kaO@l_@_F3 jOFhODd_HnoOH OPnoOP ORdloOR ORON:oI KNI oN I ^O6OO@dO>h_Bh_D_FI_R_Pd3 _HjOHIhYagKkaKl[agOkaOl_agOkaOl_agOkaOl_agO&ka O&l_&agO.kaO.l_.agO4kaO4l_4agO:kaO:l_:agO@kaO@l_@OPoOPl,OP_Ni_LON_JOLOL OJkg_Lh OJgORo nI _DlI _FO< O6OO"hh_V_TOM.O*O"&O"M OOO6OFkO*OO"MOo OAO O O o L O o O0ODO o O6OT>ODILOB ndiOD_6oI $3 jO6O6ODo OODILO O0O6O< 'O(ODILO(O0O6O@gH0`dYIhKJh\J&Lo (71Q \APPEND2) (17Q \ARRAY-TYPE-TABLE 10Q SELECTQ) ( 66Q ((SHOULDNT))) (SETF-MACRO-FUNCTION (QUOTE \TYPENUMBER-TO-GC-TYPE) (QUOTE expand-\TYPENUMBER-TO-GC-TYPE)) expand-\TYPENUMBER-TO-NEEDS-INIT-P D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) A@gH0`!dYIhKJh\J&Lo (74Q \APPEND2) (17Q \ARRAY-TYPE-TABLE 10Q SELECTQ) ( 71Q ((SHOULDNT))) (SETF-MACRO-FUNCTION (QUOTE \TYPENUMBER-TO-NEEDS-INIT-P) (QUOTE expand-\TYPENUMBER-TO-NEEDS-INIT-P)) expand-\TYPENUMBER-TO-SIZE D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @gHoNIL (10Q LOGAND) ( 15Q (17Q)) (SETF-MACRO-FUNCTION (QUOTE \TYPENUMBER-TO-SIZE) (QUOTE expand-\TYPENUMBER-TO-SIZE)) expand-\TYPENUMBER-TO-TYPE D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @gHoNIL (10Q LRSH) ( 15Q (4)) (SETF-MACRO-FUNCTION (QUOTE \TYPENUMBER-TO-TYPE) (QUOTE expand-\TYPENUMBER-TO-TYPE)) (PUTPROPS CMLARRAY FILETYPE COMPILE-FILE) (PUTPROPS CMLARRAY COPYRIGHT ("Xerox Corporation" 1986)) STOP