(FILECREATED "26-Feb-85 12:15:35" ("compiled on " {ERIS}LIBRARY>FLOATARRAY.;3) "21-Feb-85 12:39:57" recompiled changes: nothing in "INTERLISP-D 21-Feb-85 ..." dated "21-Feb-85 12:54:37") (FILECREATED "26-Feb-85 12:14:56" {ERIS}LIBRARY>FLOATARRAY.;3 16315 changes to: (FNS \NEWMISC5.UFN) (VARS FLOATARRAYCOMS) previous date: "21-Nov-84 16:20:20" {ERIS}LIBRARY>FLOATARRAY.;2) MAPELT D1 (P 32Q ARRAY P 26Q OPERAND P 23Q ELEMENT P 21Q RESULTBASE P 20Q GOODRESULT P 17Q ELEMENTS P 16Q NUMINPUTARRAYS P 15Q INPUTARRAYBASES P 11Q ARGUMENT P 3 ARRAY1 P 2 MAPFN P 1 RESULT P 0 ARGS) *e@ABCHdlIJK lIJKC Hl2 OdOJO O K IK goK O OjO&O$)O a _OOh__Ok_O&_O"O&JOOkCO(/O. _OO NONOO&k_&_4O,O*O4O&нl\dMLM_2O0O2h_0_.O,k_,O(_(O2&_0(305Q \ILLEGAL.ARG 267Q APPLY 175Q ARRAYBASE 146Q ARRAYBASE 136Q ARRAY 133Q ARRAYORIG 120Q ARRAYSIZE 104Q ARRAYSIZE 75Q LENGTH 42Q MAPELT2 26Q MAPELT1) (123Q FLOATP) ( 127Q 0.0) MAPELT1 D1 (P 11Q ELT P 7 RESULTBASE P 6 ARRAYBASE P 5 ARRAYSIZE P 0 GOODRESULT I 2 ARRAY I 1 MAPFN I 0 RESULT) @B goB AB B H AdgNOMDgNOM6AdgNOM&gNOMAgNdB lOMHMkj OOOONOкlYdJIJkALL KLKLOl_(263Q \ILLEGAL.ARG 156Q ARRAYSIZE 43Q ARRAYBASE 37Q ARRAYBASE 33Q ARRAYSIZE 24Q ARRAY 21Q ARRAYORIG 6 ARRAYSIZE) (145Q SEPARATE 127Q COMPLEXIFYFLOATP 111Q FLOAT 71Q MAGNITUDE 53Q EXPONENT 11Q FLOATP) ( 15Q 0.0) MAPELT2 D1 (P 14Q ELT P 4 RESULTBASE P 3 ARRAY2BASE P 2 ARRAY2SIZE P 1 ARRAY1BASE P 0 ARRAY1SIZE I 3 ARRAY2 I 2 ARRAY1 I 1 MAPFN I 0 RESULT) 4  BC&o bC/d#d gBd  gBC o b@B goB bB XB YC ZC [@ \AdgIKLH/gAdgIKLHgIKLHAgIKLH@Hkj OOLOIOоl]dNMNKO_l_dOOOlA__OO OOOOOl_(426Q \ILLEGAL.ARG 172Q ARRAYBASE 165Q ARRAYBASE 160Q ARRAYSIZE 153Q ARRAYBASE 146Q ARRAYSIZE 140Q ARRAY 135Q ARRAYORIG 122Q ARRAYSIZE 107Q HELP 76Q ARRAY 73Q ARRAYORIG 63Q ARRAYSIZE 56Q ARRAY 53Q ARRAYORIG 43Q ARRAYSIZE 23Q HELP) (260Q FDIFF 243Q FPLUS 225Q ELT 216Q PERMUTE 200Q FTIMES 125Q FLOATP 66Q FLOATP 46Q FLOATP) ( 131Q 0.0 104Q "Neither ARRAY1 nor ARRAY2 is an array" 20Q "Neither ARRAY1 nor ARRAY2 is an array") EXPANDMAPELT D1 (P 0 ARRAY2 I 0 ARGS) @H@ @ (22Q EXPANDMAPELT1 15Q EXPANDMAPELT2) NIL () EXPANDMAPELT1 D1 (P 2 ARRAY P 1 MAPFN P 0 RESULT I 0 ARGS) @@@IdggIdgHgJ dgHgJ dgHgJ dgHgJ gygggJhhogggoggoogJhhhhggJhggJhogHhoog(136Q RATIONALIZEMAPELT1 116Q RATIONALIZEMAPELT1 76Q RATIONALIZEMAPELT1 56Q RATIONALIZEMAPELT1) (337Q IGNOREMACRO 307Q ARRAYBASE 272Q ARRAYBASE 267Q \ADDBASE 260Q ARRAYBASE 255Q \BLKSEP 230Q ARRAYORIG 215Q SIZE 212Q ARRAY 203Q OR 200Q RESULT 175Q SETQ 156Q ARRAYSIZE 153Q SIZE 150Q PROG 142Q SEPARATE 132Q \BLKFLOATP2COMP 123Q COMPLEXIFYFLOATP 112Q \BLKSMALLP2FLOAT 103Q FLOATSMALLP 72Q \BLKMAG 63Q MAGNITUDE 52Q \BLKEXPONENT 43Q EXPONENT 27Q FUNCTION 21Q QUOTE) ( 327Q ((RETURN RESULT)) 317Q (SIZE) 302Q ((DOUBLE (IDIFFERENCE SIZE 2))) 225Q 0.0 221Q (QUOTE FLOATP) 207Q (ARRAYP RESULT) 171Q (RESULT)) EXPANDMAPELT2 D1 (P 3 ARRAY2 P 2 ARRAY1 P 1 MAPFN P 0 RESULT I 0 ARGS) p@@@@IdggMIdgHgJK dgdgHgJK dgHgJK gHgJK g(151Q RATIONALIZEMAPELT2 132Q RATIONALIZEMAPELT2 111Q RATIONALIZEMAPELT2 62Q RATIONALIZEMAPELT2) (155Q IGNOREMACRO 144Q \BLKFDIFF 136Q FDIFF 125Q \BLKFPLUS 116Q FPLUS 104Q \BLKPERM 75Q ELT 67Q PERMUTE 55Q \BLKFTIMES 46Q FTIMES 34Q FUNCTION 26Q QUOTE) () RATIONALIZEMAPELT1 D1 (L (2 ACTUALARRAY 1 ACTUALMAPFN 0 ACTUALRESULT)) YgggBhhggg@hggoogBhhhhhAgBhooNIL (105Q ARRAYBASE 55Q ARRAYORIG 42Q SIZE 37Q ARRAY 30Q ARRAYP 25Q OR 22Q RESULT 10Q ARRAYSIZE 5 SIZE 2 LET*) ( 123Q (RESULT) 115Q ((ARRAYBASE RESULT) SIZE) 52Q 0.0 46Q (QUOTE FLOATP)) RATIONALIZEMAPELT2 D1 (L (3 ACTUALARRAY2 2 ACTUALARRAY1 1 ACTUALMAPFN 0 ACTUALRESULT)) agggBhhggg@hggoogBhhhhhAgBhgChooNIL (114Q ARRAYBASE 105Q ARRAYBASE 55Q ARRAYORIG 42Q SIZE 37Q ARRAY 30Q ARRAYP 25Q OR 22Q RESULT 10Q ARRAYSIZE 5 SIZE 2 LET*) ( 133Q (RESULT) 124Q ((ARRAYBASE RESULT) SIZE) 52Q 0.0 46Q (QUOTE FLOATP)) FFTSTEP D1 (I 0 FFTTABLE F 0 \FFTTABLE) P@l P@NIL (11Q FFTTABLE) () \FFTSTEP D1 (P 1 Y P 0 X I 1 COUNTLO I 0 TABLE) @@ Al_O @ZJ OO @[K OO @\L OO @]M @@ AOO HOO I @@ AOO HOO I AjAlb@ j@ jj@@ @ @ lb@^N @_O @_O @_O @l@_O @_O @_O @_O @H W(652Q PutFloat 641Q PutFloat 634Q MAKEFLOATNUMBER 615Q MAKEFLOATNUMBER 575Q MAKEFLOATNUMBER 556Q MAKEFLOATNUMBER 525Q MAKEFLOATNUMBER 506Q MAKEFLOATNUMBER 466Q MAKEFLOATNUMBER 447Q MAKEFLOATNUMBER 370Q SHOULDNT 325Q SETCOMPLEX 320Q MAKEFLOATNUMBER 303Q MAKEFLOATNUMBER 250Q SETCOMPLEX 243Q MAKEFLOATNUMBER 226Q MAKEFLOATNUMBER 171Q MAKEFLOATNUMBER 154Q MAKEFLOATNUMBER 140Q MAKEFLOATNUMBER 123Q MAKEFLOATNUMBER 105Q MAKEFLOATNUMBER 70Q MAKEFLOATNUMBER 54Q MAKEFLOATNUMBER 37Q MAKEFLOATNUMBER) (646Q FFTTABLE 621Q FFTTABLE 602Q FFTTABLE 562Q FFTTABLE 543Q FFTTABLE 534Q FFTTABLE 512Q FFTTABLE 473Q FFTTABLE 453Q FFTTABLE 436Q FFTTABLE 422Q FFTTABLE 410Q FFTTABLE 402Q FFTTABLE 376Q FFTTABLE 360Q FFTTABLE 347Q FFTTABLE 263Q FFTTABLE 255Q FFTTABLE 206Q FFTTABLE 200Q FFTTABLE 160Q FFTTABLE 127Q FFTTABLE 74Q FFTTABLE 43Q FFTTABLE 14Q FFTTABLE 6 FFTTABLE) () \FLOATBLT D1 (P 46Q \NewBaseAddr P 1 I I 4 N I 3 OPERATION I 2 DEST I 1 SOURCE2 I 0 SOURCE1) +Ddj`%IHBIDdj@IлlZdKJK k@Iнl\dMLM wDdl@I&OLOLYlvBI@I_l^dONOj"*OPdkOPlj_ROPn_ROPӏl OP_ROP_TOPli _PONORONOTDdl?@I_l_dOOOAI_l_dOOOl>@I_l_dOOOAI_l_dOOO[Ddl?AI_"l_ dO"O O"@I_&l_$dO&O$O&lD@I_*l_(dO*O(O* AI_.l_,dO.O,O. DdlB@I_2l_0dO2O0O2AI_6l_4dO6O4O6 l @@I_:l_8dO:O8O:AI_>l_O EDl<@I_Bl_@dOBO@OBAI_Fl_DdOFODOF_J_HOJOJ OHOJOHOJIlYh(1335Q \ILLEGAL.ARG 1315Q SHOULDNT 1210Q ABS 1104Q ABS 774Q ABS 735Q ABS 333Q \LISPERROR 126Q FLOATUNWRAP 66Q FLOATWRAP) (164Q FLOATP) () ARRAYBASE D1 (L (0 ARRAY)) @NIL (3 ARRAYP) () (PRETTYCOMPRINT FLOATARRAYCOMS) (RPAQQ FLOATARRAYCOMS ((* * MAPELT fns and macros) (FNS MAPELT MAPELT1 MAPELT2 EXPANDMAPELT EXPANDMAPELT1 EXPANDMAPELT2 RATIONALIZEMAPELT1 RATIONALIZEMAPELT2) (MACROS MAPELT MAPELT1 MAPELT2) (* * FFT stuff) (FNS FFTSTEP \FFTSTEP) (PROP DOPVAL \FFTSTEP) (RECORDS FFTTABLE FFTSOURCE COMPLEX) ( CONSTANTS \FFTTABLESIZE) (* * UFNs) (FNS \FLOATBLT) (PROP DOPVAL \FLOATBLT) (* * For convenience) ( PROP ARGNAMES MAPELT \BLKEXPONENT \BLKFDIFF \BLKFLOATP2COMP \BLKFPLUS \BLKFTIMES \BLKMAG \BLKPERM \BLKSEP \BLKSMALLP2FLOAT \IBLT1 \IBLT2) (MACROS ARRAYHIELT DOUBLE QUADRUPLE) (FNS ARRAYBASE) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA MAPELT))))) (PUTPROPS MAPELT MACRO (ARGS (EXPANDMAPELT ARGS))) (PUTPROPS MAPELT1 MACRO (ARGS (EXPANDMAPELT1 ARGS))) (PUTPROPS MAPELT2 DMACRO (ARGS (EXPANDMAPELT2 ARGS))) (PUTPROPS \FFTSTEP DOPVAL (2 FFTSTEP)) (DATATYPE FFTTABLE ((TWIDDLE FLOATP) (ITWIDDLE FLOATP (* imaginary part of TWIDDLE)) (SOURCE XPOINTER (* virtual address of source array base)) (ABDEST XPOINTER (* virtual address of destination array base)) (CDDEST XPOINTER (* midpoint in destination array)) (TCNT WORD (* count of butterfiles with same twiddle x4)) (HCNT WORD (* (mod cnt tcnt) high portion of count of butterflies remaining x4)) ( NIL 2 FLOATP (* must have floating complex zero here)) (DELTA FLOATP (* packed complex root of unity to change twiddle)) (IDELTA FLOATP (* imaginary part of DELTA)) (LCNT WORD (* (remainder cnt tcnt) low portion of count of butterflies remaining x4)) (PAD 11 WORD (* padding so that FFTTABLE will never cross page boundary.)))) (BLOCKRECORD FFTSOURCE ((A FLOATP) (B FLOATP) (C FLOATP) (D FLOATP))) (BLOCKRECORD COMPLEX ((REAL FLOATP) (IMAG FLOATP))) (/DECLAREDATATYPE (QUOTE FFTTABLE) (QUOTE (FLOATP FLOATP XPOINTER XPOINTER XPOINTER WORD WORD FLOATP FLOATP FLOATP FLOATP WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD))) (RPAQQ \FFTTABLESIZE 32) (CONSTANTS \FFTTABLESIZE) (PUTPROPS \FLOATBLT DOPVAL (5 FLOATBLT)) (PUTPROPS MAPELT ARGNAMES "RESULT MAPFN ARRAY1") (PUTPROPS \BLKEXPONENT ARGNAMES (source destination kount)) (PUTPROPS \BLKFDIFF ARGNAMES (source1 source2 dest kount)) (PUTPROPS \BLKFLOATP2COMP ARGNAMES (source destination kount)) (PUTPROPS \BLKFPLUS ARGNAMES (source1 source2 dest kount)) (PUTPROPS \BLKFTIMES ARGNAMES (source1 source2 dest kount)) (PUTPROPS \BLKMAG ARGNAMES (complexArray magnitudeArray kount)) (PUTPROPS \BLKPERM ARGNAMES (orig permutations destination kount)) (PUTPROPS \BLKSEP ARGNAMES (source1 source2 dest kount)) (PUTPROPS \BLKSMALLP2FLOAT ARGNAMES (source destination kount)) (PUTPROPS \IBLT1 ARGNAMES (ValueArray TextureArray XCoord BitmapAddr BitmapWidth ValHeight ValWidth Kount)) (PUTPROPS \IBLT2 ARGNAMES (ValueArray TextureArray XCoord BitmapAddr BitmapWidth ValHeight ValWidth Kount)) (PUTPROPS ARRAYHIELT MACRO ((ARRAY) (IPLUS (ARRAYSIZE ARRAY) (SUB1 (ARRAYORIG ARRAY))))) (PUTPROPS DOUBLE MACRO ((A) (LLSH A 1))) (PUTPROPS QUADRUPLE MACRO ((A) (LLSH A 2))) (PUTPROPS FLOATARRAY COPYRIGHT ("Xerox Corporation" 1984 1985)) NIL