(DEFINE-FILE-INFO §READTABLE "INTERLISP" §PACKAGE "INTERLISP") (FILECREATED " 3-Nov-86 15:54:58" ("compiled on " {ERIS}SOURCES>CMLARRAY.;12) " 3-Nov-86 15:43:00" "COMPILE-FILEd" in "Xerox Lisp 31-Oct-86 ..." dated "31-Oct-86 17:48:39") (FILECREATED " 3-Nov-86 12:49:36" {ERIS}SOURCES>CMLARRAY.;12 126425 previous date%: "18-Oct-86 17:37:00" {ERIS}SOURCES>CMLARRAY.;11) (RPAQQ CMLARRAYCOMS ((* ;; "Contains table driven macros") (DECLARE%: DONTCOPY EVAL@COMPILE (EXPORT ( FILES (SYSLOAD FROM VALUEOF DIRECTORIES) CMLARRAY-SUPPORT))) (* ;; "User entry points") (FUNCTIONS CL:ADJUST-ARRAY CL:ADJUSTABLE-ARRAY-P CL:ARRAY-DIMENSION CL:ARRAY-DIMENSIONS CL:ARRAY-ELEMENT-TYPE CL:ARRAY-HAS-FILL-POINTER-P ARRAY-NEEDS-INDIRECTION-P CL:ARRAY-RANK CL:ARRAY-TOTAL-SIZE BIT CL:BIT-AND CL:BIT-ANDC1 CL:BIT-ANDC2 BIT-ARRAY-P CL:BIT-EQV CL:BIT-IOR CL:BIT-NAND CL:BIT-NOR CL:BIT-NOT CL:BIT-ORC1 CL:BIT-ORC2 CL:BIT-VECTOR-P CL:BIT-XOR CHAR CL:ARRAYP CL:STRINGP COPY-ARRAY DISPLACED-ARRAY-P EQUAL-DIMENSIONS-P EXTENDABLE-ARRAY-P FILL-ARRAY CL:FILL-POINTER FILL-VECTOR CL:MAKE-ARRAY MAKE-VECTOR READ-ONLY-ARRAY-P CL:SBIT CL:SCHAR SET-FILL-POINTER SIMPLE-ARRAY-P CL:SIMPLE-BIT-VECTOR-P CL:SIMPLE-STRING-P CL:SIMPLE-VECTOR-P STRING-ARRAY-P CL:SVREF VECTOR-LENGTH CL:VECTOR-POP CL:VECTOR-PUSH CL:VECTOR-PUSH-EXTEND CL:VECTORP) (FNS %%COPY-TO-NEW-ARRAY CL:AREF CL:ARRAY-IN-BOUNDS-P CL:ARRAY-ROW-MAJOR-INDEX ASET CL:VECTOR) (* ;; "Obsolete but retained to avoid recompilation") (FNS SCHARSET) (* ;; "Vars etc") (* ; "*PRINT-ARRAY* is defined in APRINT") (VARIABLES CL:ARRAY-RANK-LIMIT CL:ARRAY-TOTAL-SIZE-LIMIT CL:ARRAY-DIMENSION-LIMIT *DEFAULT-PUSH-EXTENSION-SIZE*) (* ;; "Internal stuff") (FNS %%ALTER-AS-DISPLACED-ARRAY %%ALTER-AS-DISPLACED-TO-BASE-ARRAY %%AREF0 %%AREF1 %%AREF2 %%ARRAY-BASE %%ARRAY-CONTENT-INITIALIZE %%ARRAY-ELEMENT-INITIALIZE %%ARRAY-OFFSET %%ARRAY-TYPE-NUMBER %%ASET0 %%ASET1 %%ASET2 %%CHECK-SEQUENCE-DIMENSIONS %%DO-LOGICAL-OP %%EXTEND-ARRAY %%FAST-COPY-BASE %%FAT-STRING-ARRAY-P %%FILL-ARRAY-FROM-SEQUENCE %%FLATTEN-ARRAY %%MAKE-ARRAY-WRITEABLE %%MAKE-DISPLACED-ARRAY %%MAKE-GENERAL-ARRAY %%MAKE-ONED-ARRAY %%MAKE-STRING-ARRAY-FAT %%MAKE-TWOD-ARRAY %%TOTAL-SIZE SHRINK-VECTOR) (* ; "For Interlisp string hack") (FNS %%SET-ARRAY-OFFSET %%SET-ARRAY-TYPE-NUMBER) (* ; "Faster predicates not including IL:STRINGP's") (FNS %%ARRAYP %%SIMPLE-ARRAY-P %%SIMPLE-STRING-P %%STRINGP %%VECTORP) (* ; "Low level predicates") (FNS %%GENERAL-ARRAY-P %%ONED-ARRAY-P %%THIN-STRING-ARRAY-P %%TWOD-ARRAY-P) (* ; "Record def's") (DECLARE%: DONTCOPY DOEVAL@COMPILE (EXPORT (RECORDS ARRAY-HEADER GENERAL-ARRAY ONED-ARRAY TWOD-ARRAY))) ( INITRECORDS GENERAL-ARRAY ONED-ARRAY TWOD-ARRAY) (SYSRECORDS GENERAL-ARRAY ONED-ARRAY TWOD-ARRAY) ( PROP DOPVAL %%AREF1 %%AREF2 %%ASET1 %%ASET2) (* ;; "I/O") (FNS %%DEFPRINT-ARRAY %%DEFPRINT-BITVECTOR %%DEFPRINT-GENERIC-ARRAY %%DEFPRINT-VECTOR %%DEFPRINT-STRING %%PRINT-ARRAY-CONTENTS) (P (DEFPRINT ( QUOTE ONED-ARRAY) (QUOTE %%DEFPRINT-VECTOR)) (DEFPRINT (QUOTE TWOD-ARRAY) (QUOTE %%DEFPRINT-ARRAY)) ( DEFPRINT (QUOTE GENERAL-ARRAY) (QUOTE %%DEFPRINT-ARRAY))) (* ;; "Needed at run time. low level functions for accessing, setting, and allocating raw storage. also includes cml type to typenumber converters" ) (FNS %%ARRAY-READ %%ARRAY-WRITE %%CML-TYPE-TO-TYPENUMBER %%GET-CANONICAL-CML-TYPE %%GET-ENCLOSING-SIGNED-BYTE %%GET-ENCLOSING-UNSIGNED-BYTE %%MAKE-ARRAY-STORAGE %%REDUCE-INTEGER %%REDUCE-MOD %%SLOW-ARRAY-READ %%SLOW-ARRAY-WRITE) (* ;; "Compiler options") (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (LOCALVARS . T)) (PROP FILETYPE CMLARRAY) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA CL:VECTOR ASET CL:ARRAY-ROW-MAJOR-INDEX CL:ARRAY-IN-BOUNDS-P CL:AREF))))) CL:ADJUST-ARRAY D1 (L (0 -args-)) Ç)ekañðP$laºi»Hl½¼MdLó¢±ó¿h[¾i_¿Hl_¿_¿OdOó¢±í¿h__¿i_¿Hl_¿_¿OdOó¢±ç¿h__¿i_¿Hl_"¿_ ¿O"dO ó¢±á¿h__$¿i_&¿Hl_*¿_(¿O*dO(ó¢±Û¿h_&_,¿i_.¿Hl_2¿_0¿O2dO0ó¢±Õ¿h_.¿j_4¿i_6¿Hl_:¿_8¿O:dO8ó¢±Í¿h_6_<¿Hl_@¿_>¿O@dO>ó¢±Ë¿h_B¿I §o ¿Jd´‚±Íd¢±Ã±Ãagð–MkØa±ÿ MlÔ]±þ÷agð—OkØa±ÿOlÔ_±þùagð—OkØa±ÿOlÔ_±þÿagð—O"kØa±ÿO"lÔ_"±ÿagð—O*kØa±ÿ!O*lÔ_*±ÿ agð—O2kØa±ÿ)O2lÔ_2±ÿagð—O:kØa±ÿ/O:lÔ_:±ÿagð—O@kØa±ÿ/O@lÔ_@±ÿhZh_F¿_Dd²_F¿jOFó§nÿþOFó³fi˜oJ ¿I J J I hð(l€ONó©oON ¿nÿþOLó©oOL ¿ONI :¨oJ ¿K²NOJô³oN ‡OD°ƒOJ^¿O6ŸO<¬I —o ¿O›O³3O³/O&³+O&›O³$O³ O³O6—O<”ONk:žO.•O¢O&•OšO—o ¿O²=O$d²¿OJO$ ô³o°!³îO$³èoO4OLÔO$ ó—o ¿O<µI ²-I OL _<°ið•OL_<°jO<ó¥O¿O@dO>󢱿h_B¿Hl_F¿_D¿OFdOD󢱿h_H¿Hl_L¿_J¿OLdOJ󢱿h_N¿Id´‚±d¢± ± agð–KkØa±þÚKlÔ[±þÉagð—OkØa±þÚOlÔ_±þÆagð—OkØa±þàOlÔ_±þÊagð—OkØa±þæOlÔ_±þÐagð—O&kØa±þìO&lÔ_&±þÖagð—O.kØa±þôO.lÔ_.±þÜagð—O4kØa±þôO4lÔ_4±þàagð—O:kØa±þôO:lÔ_:±þàagð—O@kØa±þôO@lÔ_@±þàagð—OFkØa±þôOFlÔ_F±þàagð—OLkØa±þôOLlÔ_L±þàhYh_R¿_Pd²_R¿jORó©nÿþORó’±£i˜oI ¿I I ,l€OTó©oOT ¿nÿþOVó©oOV ¿OšM³?O³;O"³7O"šM³1O³-O³)O6•OTk:² O*–O£O"²M’O®O<’OB¨ONOB¢O<—o ¿O²EO d²¿L O ô³o°'OP±ÿE³æO ³àoO0OVÔO ó—o ¿O6µO²;OVILO O0O6ONO 221 #\Space 212 #\@ 203 #\Space 182 #\Space 161 #\Space 152 "ARRAY" 143 #\< 101 #\Space) %%DEFPRINT-VECTOR D1 (L (1 STREAM 0 CL:VECTOR) P 12 *PRINT-LEVEL* F 13 \THISFILELINELENGTH F 14 *PRINT-LEVEL* F 15 *PRINT-LENGTH* F 16 *PRINT-ARRAY* F 17 *READTABLE* F 18 *PRINT-CIRCLE-HASHTABLE*) y @ •@A W ¥@A Wµ @ Ÿ@A jó³óA iW"ÊH´ jHóhð´lHÑ@ ¢ IkÕZh__¿W$²@ ^_¿N_¿O²MW²O AÈØWñ”A ¿OA ¿O² W²AÈkØWñ”A ¿oA ¿O•O¢±‡Ij:³"JkÕ@J¶_¿_¿jOó®@O¶O:–OZkÕ°ëWµkJ»IkÕJ:¤I ½W²MµRjlÔAÈØWñ”A ¿HA ¿Mµ.oA ¿Wd‘kÕ j_dKó²,L”A ¿oA iA ¿°Ï °®Jó³•i¼WkÕ°Žjó˜oA ¿@O¶A ¿OkÔ°¶(368 \PRINDATUM 359 CL:WRITE-CHAR 334 VECTOR-LENGTH 328 CL:WRITE-STRING 322 CL:WRITE-CHAR 313 \ELIDE.PRINT.TAIL 288 CL:WRITE-CHAR 276 CL:WRITE-CHAR 270 FRESHLINE 243 CL:PRINC-TO-STRING 180 CL:WRITE-CHAR 171 FRESHLINE 146 CL:WRITE-STRING 139 FRESHLINE 124 VECTOR-LENGTH 100 \MVLIST 97 PRINT-CIRCLE-LOOKUP 76 VECTOR-LENGTH 42 \ELIDE.PRINT.ELEMENT 33 %%DEFPRINT-BITVECTOR 27 CL:BIT-VECTOR-P 18 %%DEFPRINT-GENERIC-ARRAY 9 %%DEFPRINT-STRING 3 CL:STRINGP) (259 STREAM 159 STREAM 128 STREAM 49 READTABLEP) ( 355 #\Space 318 #\) 284 #\( 176 #\Space) %%DEFPRINT-STRING D1 (L (1 STREAM 0 STRING) F 12 \THISFILELINELENGTH F 13 *PRINT-ESCAPE* F 14 *READTABLE* F 15 *PRINT-CIRCLE-HASHTABLE*)  WÊWÊ jðhð@ “ W²@ [_¿K_¿O²MW²O AÈØWñ”A ¿OA ¿O² W²AÈkØWñ”A ¿oA ¿O•O¢±W²I’lƒJlÔAÈØWñ”A ¿WžAÉ ¼Al"lL¿j_J:³A@O Ó_¿W²Ol"ð¤OHðAÉ ½AHlM¿AÉ ¾AOlN¿OkÔ°½W²AÉ _¿Al"lOi(187 CHAR 155 FRESHLINE 117 CL:WRITE-CHAR 108 FRESHLINE 83 CL:WRITE-STRING 76 FRESHLINE 61 VECTOR-LENGTH 37 \MVLIST 34 PRINT-CIRCLE-LOOKUP 23 VECTOR-LENGTH) (252 STREAM 227 STREAM 213 STREAM 190 CHARACTER 163 STREAM 144 STREAM 96 STREAM 65 STREAM 12 READTABLEP 4 READTABLEP) ( 113 #\Space) %%PRINT-ARRAY-CONTENTS D1 (L (3 STREAM 2 DIMENSIONS 1 OFFSET 0 FLAT-ARRAY) P 7 *PRINT-LEVEL* F 8 *PRINT-LENGTH* F 9 *PRINT-LEVEL*) ³BaW›HdWó–¿iºW€HkÕ¹oC B³(AdIÔ¼[dLó’¿°SAó˜oC ¿@K¶C ¿KkÔ°áWdkð²"¿j]dIó’¿°)Aó˜oC ¿C ¿MkÔ°ä´WkÕj^dIó²J”C ¿oC jó˜oC ¿@BANÔÖBC ¿NkÔ°Ë(171 %%PRINT-ARRAY-CONTENTS 156 CL:WRITE-CHAR 144 CL:WRITE-CHAR 135 \ELIDE.PRINT.TAIL 106 \ELIDE.PRINT.ELEMENT 101 CL:WRITE-CHAR 67 \PRINDATUM 59 CL:WRITE-CHAR 31 CL:WRITE-CHAR) NIL ( 152 #\Space 140 #\) 97 #\Space 55 #\Space 27 #\() (DEFPRINT (QUOTE ONED-ARRAY) (QUOTE %%DEFPRINT-VECTOR)) (DEFPRINT (QUOTE TWOD-ARRAY) (QUOTE %%DEFPRINT-ARRAY)) (DEFPRINT (QUOTE GENERAL-ARRAY) (QUOTE %%DEFPRINT-ARRAY)) %%ARRAY-READ D1 (L (2 INDEX 1 TYPE-NUMBER 0 BASE)) @AB (5 %%SLOW-ARRAY-READ) NIL () %%ARRAY-WRITE D1 (L (3 INDEX 2 TYPE-NUMBER 1 BASE 0 NEWVALUE)) @ABC (6 %%SLOW-ARRAY-WRITE) NIL () %%CML-TYPE-TO-TYPENUMBER D1 (L (1 FATP 0 ELEMENT-TYPE)) ´@ AA™Hdgð“lDHið’l&Hd²gYdgð²*¿HZdk:‘jl:’lJl:´loJo gð´#H[dl:’ll :´loKo oIo \dgð’lCgð³ùLdgð’lVgð´l6gLo (177 ECASE-FAIL 130 ECASE-FAIL 117 ECASE-FAIL 78 ECASE-FAIL 3 %%GET-CANONICAL-CML-TYPE) (169 CANONICAL-TYPE 160 CL:SINGLE-FLOAT 152 XPOINTER 144 CL:STRING-CHAR 136 CL:STRING-CHAR 82 CL:SIGNED-BYTE 36 CL:UNSIGNED-BYTE 13 CL:STRING-CHAR) ( 174 (CL:STRING-CHAR CL:STRING-CHAR XPOINTER CL:SINGLE-FLOAT) 127 (CL:UNSIGNED-BYTE CL:SIGNED-BYTE) 122 (CAR CANONICAL-TYPE) 114 (16 32) 109 (CADR CANONICAL-TYPE) 75 (1 8 16) 70 (CADR CANONICAL-TYPE)) %%GET-CANONICAL-CML-TYPE D1 (L (0 ELEMENT-TYPE)) Ã@d²THdgð•¿@ gð”@ Hgð§Hdgð•¿@ gð”@ Hgð´@ Y™@I b°­iið³@dgð¬dgð¦dgð‘@gð³á@dgð“ggð”o@gð¦@dgð“ggð”o@gð´«@ H² @H b±ÿA(187 TYPE-EXPAND 176 TYPE-EXPANDER 79 TYPE-EXPAND 72 TYPE-EXPANDER 59 %%REDUCE-INTEGER 49 %%REDUCE-MOD 30 %%GET-ENCLOSING-SIGNED-BYTE 20 %%GET-ENCLOSING-UNSIGNED-BYTE) (169 CL:OTHERWISE 158 BIT 154 CL:STRING-CHAR 149 CL:CHARACTER 142 CHARACTER 131 CL:FIXNUM 127 CL:SINGLE-FLOAT 122 FLOAT 114 POINTER 107 CL:STRING-CHAR 101 CL:SINGLE-FLOAT 95 XPOINTER 64 CL:OTHERWISE 53 INTEGER 42 CL:MOD 35 MOD 24 CL:SIGNED-BYTE 13 CL:UNSIGNED-BYTE) ( 164 (CL:UNSIGNED-BYTE 1) 137 (CL:SIGNED-BYTE 32)) %%GET-ENCLOSING-SIGNED-BYTE D1 (L (0 ELEMENT-TYPE)) @dló¤ol ó¤oiNIL NIL ( 20 (CL:SIGNED-BYTE 32) 11 (CL:SIGNED-BYTE 16)) %%GET-ENCLOSING-UNSIGNED-BYTE D1 (L (0 ELEMENT-TYPE)) &@Hdkó¤oló¤oHló¤oiNIL NIL ( 33 (CL:UNSIGNED-BYTE 16) 23 (CL:UNSIGNED-BYTE 8) 14 (CL:UNSIGNED-BYTE 1)) %%MAKE-ARRAY-STORAGE D1 (L (3 ALIGNMENT 2 INIT-ON-PAGE 1 TYPENUMBER 0 NELTS)) çAHdlC:”¿l°_lD:“l°WHdl&:”¿l °LlV:“l °DHdl6:”¿l °9j:’k°3Hdl:”¿l°(l:“l° Hdl:”¿l°l:´l ŠgHo AHdlC:“¿j°WlD:’j°PHdl&:“¿k°FlV:’j°?Hdl6:“¿j°5j:’j°/Hdl:“¿j°%l:’j°Hdl:“¿j°l:´jŠgHo @HÖlØâââââIBC (228 \ALLOCBLOCK 207 ECASE-FAIL 107 ECASE-FAIL) (199 TYPENUMBER 99 TYPENUMBER) ( 204 (67 68 38 86 54 0 3 4 20 22) 104 (67 68 38 86 54 0 3 4 20 22)) %%REDUCE-INTEGER D1 (L (0 ELEMENT-TYPE)) j@@HµId“kÕYHó´/jHó³+lIóšokÔ¸°ánIó”ooIó”oiH I ºn€Jó”oJoó³äo(79 MAX 75 ABS) NIL ( 103 (CL:SIGNED-BYTE 32) 96 2147483647 90 (CL:SIGNED-BYTE 16) 68 (CL:UNSIGNED-BYTE 16) 61 65536 56 (CL:UNSIGNED-BYTE 8) 39 (CL:UNSIGNED-BYTE 1)) %%REDUCE-MOD D1 (L (0 ELEMENT-TYPE)) *@Hdló¤onó¤oHoó¤oiNIL NIL ( 37 (CL:UNSIGNED-BYTE 16) 31 65536 25 (CL:UNSIGNED-BYTE 8) 15 (CL:UNSIGNED-BYTE 1)) %%SLOW-ARRAY-READ D1 (L (2 ROW-MAJOR-INDEX 1 TYPENUMBER 0 BASE)) ½A1HdlC:²¿@BÂY´‚±šjIóhð´‚±lIÑlD:²@BÐÈZ´zjJóhð´slJÑHdl&:—¿@BàÐÉlV:³öHdl6:ž¿@BàÐdÈýÈÑíj:•@B Hdl:”¿@BÂl:•@BÐÈHdl:²¿@BÐÈ[dnÿó²¿lKÑl:´ @Bà gHo (186 ECASE-FAIL 174 \GETBASEFIXP 114 \GETBASEBIT) (178 TYPENUMBER) ( 183 (67 68 38 86 54 0 3 4 20 22)) %%SLOW-ARRAY-WRITE D1 (L (3 ROW-MAJOR-INDEX 2 TYPENUMBER 1 BASE 0 NEWVALUE)) sBQHdlC:¿@Ólÿóhð±¬lD:–@±¡Hdl&:”¿i±–lV:“i±ŽHdl6:–¿@±j:Ÿ@¹jIóhð´tIkóhð°mHdl:²¿@ºjJóhð´\nJó°Ul:œ@[´KjKñhð°DHdl:²¿@¼oLóhð´0Lnÿóhð°'l:´@½oMóhð´MoóhðŠgHo «o@ ¿±¤BHdlC:›¿AC@ÓDZŽlD:›ACÐ@ÓÍ°}Hdl&:™¿ACàÐ@°mlV:˜ACàÐ@ΰ`Hdl6:›¿ACàÐ@íΰNj:—AC@ °CHdl:–¿AC@Ç°6l:—ACÐ@Í°*Hdl:™¿ACÐ@ÓÍ°l:´ ACà@ ŠgHo @(367 ECASE-FAIL 355 \PUTBASEFIXP 300 \PUTBASEBIT 202 CL:ERROR 192 ECASE-FAIL) (359 TYPENUMBER 239 CHARACTER 223 CHARACTER 184 TYPENUMBER 31 CHARACTER 14 CHARACTER) ( 364 (67 68 38 86 54 0 3 4 20 22) 198 "Illegal value: ~S" 189 (67 68 38 86 54 0 3 4 20 22) 177 2147483647 166 -2147483648 140 -32768) (PUTPROPS CMLARRAY FILETYPE CL:COMPILE-FILE) (PUTPROPS CMLARRAY COPYRIGHT ("Xerox Corporation" 1986)) NIL