(FILECREATED " 8-Aug-86 14:50:12" ("compiled on " {ERIS}LIBRARY>MATMULT.;17) " 4-Aug-86 17:43:14" recompiled changes: CREATE1BY3 CREATE1BY4 CREATE3BY1 CREATE3BY3 CREATE4BY1 CREATE4BY4 GET.WCOORD GET.XCOORD GET.YCOORD GET.ZCOORD IDENTITY3BY3 IDENTITY4BY4 MATMULT MATMULT133 MATMULT144 MATMULT331 MATMULT333 MATMULT441 MATMULT444 ROTATE3BY3 ROTATE4BY4.ABOUTX ROTATE4BY4.ABOUTY ROTATE4BY4.ABOUTZ SCALE3BY3 SCALE4BY4 SET.WCOORD SET.XCOORD SET.YCOORD SET.ZCOORD TRANSLATE3BY3 TRANSLATE4BY4 \CHECKVALIDARRAY \MAKEVALIDARRAY \MATRIX.GET.BASE in "Xerox Lisp 4-Aug-86 ..." dated " 4-Aug-86 22:17:52") (FILECREATED " 8-Aug-86 14:48:36" {ERIS}LIBRARY>MATMULT.;17 21919 changes to: (FNS \CHECKVALIDARRAY CREATE4BY4 ARRAYCOLS ARRAYROWS CREATE1BY3 CREATE1BY4 CREATE3BY1 CREATE3BY3 CREATE4BY1 IDENTITY3BY3 \MAKEVALIDARRAY TRANSLATE3BY3 SCALE3BY3 ROTATE3BY3 IDENTITY4BY4 SCALE4BY4 TRANSLATE4BY4 ROTATE4BY4.ABOUTX ROTATE4BY4.ABOUTY ROTATE4BY4.ABOUTZ \MATRIX.GET.BASE MAT.INVERT.3BY3 MATMULT133 MATMULT144 GET.WCOORD GET.XCOORD GET.YCOORD GET.ZCOORD MATMULT331 MATMULT333 MATMULT441 MATMULT444 SET.WCOORD SET.XCOORD SET.YCOORD SET.ZCOORD \GETELT \SETELT MATMULT) (VARS MATMULTCOMS) (MACROS .MATMULT133 .MATMULT144 .MATMULT331 .MATMULT333 .MATMULT441 .MATMULT444 \GETELT \SETELT GET.WCOORD GET.XCOORD GET.YCOORD GET.ZCOORD SET.WCOORD SET.XCOORD SET.YCOORD SET.ZCOORD MATMULT133 MATMULT144 MATMULT331 MATMULT333 MATMULT441 MATMULT444) previous date: "27-Mar-86 15:47:01" {ERIS}LIBRARY>MATMULT.;16) CREATE1BY3 D1 NIL lgg (12Q MAKE-ARRAY) (7 SINGLE-FLOAT 4 :ELEMENT-TYPE) () CREATE1BY4 D1 NIL lgg (12Q MAKE-ARRAY) (7 SINGLE-FLOAT 4 :ELEMENT-TYPE) () CREATE3BY1 D1 NIL lgg (12Q MAKE-ARRAY) (7 SINGLE-FLOAT 4 :ELEMENT-TYPE) () CREATE3BY3 D1 NIL ogg (14Q MAKE-ARRAY) (11Q SINGLE-FLOAT 6 :ELEMENT-TYPE) ( 3 (3 3)) CREATE4BY1 D1 NIL lgg (12Q MAKE-ARRAY) (7 SINGLE-FLOAT 4 :ELEMENT-TYPE) () CREATE4BY4 D1 NIL ogg (14Q MAKE-ARRAY) (11Q SINGLE-FLOAT 6 :ELEMENT-TYPE) ( 3 (4 4)) GET.WCOORD D1 (L (0 VECTOR)) @l¶NIL NIL () GET.XCOORD D1 (L (0 VECTOR)) @j¶NIL NIL () GET.YCOORD D1 (L (0 VECTOR)) @k¶NIL NIL () GET.ZCOORD D1 (L (0 VECTOR)) @l¶NIL NIL () IDENTITY3BY3 D1 (L (0 M)) @@o Alj¼»LKó³*ljº¹JIó³LJð”oƒoHLJï¿JkÔZ°æLkÔ\°ÖH(7 \MAKEVALIDARRAY) NIL ( 53Q 0.0 46Q 1.0 4 (3 3)) IDENTITY4BY4 D1 (L (0 M)) @@o Alj¼»LKó³*ljº¹JIó³LJð”oƒoHLJï¿JkÔZ°æLkÔ\°ÖH(7 \MAKEVALIDARRAY) NIL ( 53Q 0.0 46Q 1.0 4 (4 4)) MATMULT D1 (L (2 MATRIXC 1 MATRIXB 0 MATRIXA)) @j @k Ak @HIh ¿AIJh ¿BHJh b¿HkÙj@ A B jhjd LKó’±ÃIkÙjOjOO󒱘MOÐdÈýÈÑ_¿JkÙjOOO"O ó³\Ojð²OO&ÐONO$ÐdÈýÈÑì°$OO&ÐOO&ÐdÈýÈÑONO$ÐdÈýÈÑììοO"kÔ_"¿O$lÔ_$¿O&lÔ_&¿°¡OkÔ_¿OlÔ_¿OJàÔ_¿±ÿeLkÔ¼OIàÔ_¿OJàÔ_¿±ÿ (1 %, 3)) (.MATMULT133 (\MATRIX.GET.BASE MATRIXA) (\MATRIX.GET.BASE MATRIXB) (\MATRIX.GET.BASE MATRIXC)) MATRIXC)) (PUTPROPS MATMULT331 DMACRO (OPENLAMBDA (MATRIXA MATRIXB MATRIXC) (* * multiply (3 %, 3) * (3 %, 1) => (3 %, 1)) (.MATMULT331 (\MATRIX.GET.BASE MATRIXA) (\MATRIX.GET.BASE MATRIXB) (\MATRIX.GET.BASE MATRIXC)) MATRIXC)) (PUTPROPS MATMULT333 DMACRO (OPENLAMBDA (MATRIXA MATRIXB MATRIXC) (* * multiply two (3 %, 3) matrices in microcode) (.MATMULT333 (\MATRIX.GET.BASE MATRIXA) (\MATRIX.GET.BASE MATRIXB) (\MATRIX.GET.BASE MATRIXC)) MATRIXC)) (PUTPROPS MATMULT144 DMACRO (OPENLAMBDA (MATRIXA MATRIXB MATRIXC) (* * multiply (1 %, 4) * (4 %, 4) => (1 %, 41)) (.MATMULT144 (\MATRIX.GET.BASE MATRIXA) (\MATRIX.GET.BASE MATRIXB) (\MATRIX.GET.BASE MATRIXC)) MATRIXC)) (PUTPROPS MATMULT441 DMACRO (OPENLAMBDA (MATRIXA MATRIXB MATRIXC) (* * multiply (4 %, 4) * (4 %, 1) => (4 %, 1)) (.MATMULT441 (\MATRIX.GET.BASE MATRIXA) (\MATRIX.GET.BASE MATRIXB) (\MATRIX.GET.BASE MATRIXC)) MATRIXC)) (PUTPROPS MATMULT444 DMACRO (OPENLAMBDA (MATRIXA MATRIXB MATRIXC) (* * multiply two (4 %, 4) matrices in microcode) (.MATMULT444 (\MATRIX.GET.BASE MATRIXA) (\MATRIX.GET.BASE MATRIXB) (\MATRIX.GET.BASE MATRIXC)) MATRIXC)) (PUTPROPS .MATMULT133 DMACRO ((MATRIXABASE MATRIXBBASE MATRIXCBASE) (* * multiply (1 %, 3) * (3 %, 3) => (1 %, 3)) ((OPCODES UBFLOAT3 3) MATRIXABASE MATRIXBBASE MATRIXCBASE))) (PUTPROPS .MATMULT331 DMACRO ((MATRIXABASE MATRIXBBASE MATRIXCBASE) (* * multiply (3 %, 3) * (3 %, 1) => (3 %, 1)) ((OPCODES UBFLOAT3 4) MATRIXABASE MATRIXBBASE MATRIXCBASE))) (PUTPROPS .MATMULT333 DMACRO ((MATRIXABASE MATRIXBBASE MATRIXCBASE) (* * multiply two (3 %, 3) matrices in microcode) ((OPCODES UBFLOAT3 1) MATRIXABASE MATRIXBBASE MATRIXCBASE))) (PUTPROPS .MATMULT144 DMACRO ((MATRIXABASE MATRIXBBASE MATRIXCBASE) (* * multiply (1 %, 4) * (4 %, 4) => (1 %, 41)) ((OPCODES UBFLOAT3 5) MATRIXABASE MATRIXBBASE MATRIXCBASE))) (PUTPROPS .MATMULT441 DMACRO ((MATRIXABASE MATRIXBBASE MATRIXCBASE) (* * multiply (4 %, 4) * (4 %, 1) => (4 %, 1)) ((OPCODES UBFLOAT3 6) MATRIXABASE MATRIXBBASE MATRIXCBASE))) (PUTPROPS .MATMULT444 DMACRO ((MATRIXABASE MATRIXBBASE MATRIXCBASE) (* * multiply two (4 %, 4) matrices in microcode) ((OPCODES UBFLOAT3 2) MATRIXABASE MATRIXBBASE MATRIXCBASE))) (PUTPROPS MATMULT COPYRIGHT ("Xerox Corporation" 1985 1986)) NIL