$ od -c -N 50000 [eris]<LispCore>SOURCES>CMLHASH.DCOM!3
0000000 ( F I L E C R E A T E D " 1 5
0000020 - O c t - 8 6 1 7 : 0 7 : 5 9
0000040 " ( " c o m p i l e d o n
0000060 " { E R I S } < L I S P C O R
0000100 E > S O U R C E S > C M L H A S
0000120 H . ; 4 ) \r " 1 - O c t - 8
0000140 6 2 0 : 2 3 : 1 5 " " C O M
0000160 P I L E - F I L E d " i n "
0000200 X e r o x L i s p 1 - O c
0000220 t - 8 6 . . . " d a t e d
0000240 " 1 - O c t - 8 6 2 1 : 2 4
0000260 : 4 4 " ) \r ( F I L E C R E A T
0000300 E D " 1 5 - O c t - 8 6 1 7
0000320 : 0 7 : 2 2 " { E R I S } < L
0000340 I S P C O R E > S O U R C E S >
0000360 C M L H A S H . ; 4 6 4 0 7
0000400 c h a n g e s t o : ( F U N
0000420 C T I O N S \r C L : G E T H A
0000440 S H ) ( V A R S C M L H A S
0000460 H C O M S ) p r e v i o u s
0000500 d a t e : " 2 2 - A u g - 8 6
0000520 1 7 : 0 3 : 5 4 " { E R I S
0000540 } < L I S P C O R E > S O U R C
0000560 E S > C M L H A S H . ; 2 ) \r (
0000600 R P A Q Q C M L H A S H C O M
0000620 S ( ( * ; ; " E x t e r n
0000640 a l i n t e r f a c e " ) (
0000660 S E T F S C L : G E T H A S H
0000700 ) ( F U N C T I O N S C L :
0000720 M A P H A S H C L : G E T H A
0000740 S H \r C L : P U T H A S H H
0000760 A S H - T A B L E - C O U N T
0001000 H A S H - T A B L E - P M A K
0001020 E - H A S H - T A B L E S X H
0001040 A S H ) ( * ; ; " I n t e
0001060 r n a l i n t e r f a c e " )
0001100 ( \r V A R I A B L E S S X H
0001120 A S H - M A X ) ( F U N C T I
0001140 O N S S X H A S H - L I S T
0001160 S X H A S H - R O T S X H A S
0001200 H - S T R I N G E Q L H A S H
0001220 B I T S F N \ E Q H A S H I N
0001240 G B I T S ) ( \r P R O P F I
0001260 L E T Y P E C M L H A S H ) )
0001300 ) \r ( R E M P R O P ( Q U O T
0001320 E C L : G E T H A S H ) ( Q
0001340 U O T E S E T F - M E T H O D
0001360 - E X P A N D E R ) ) \r ( P U T
0001400 P R O P S C L : G E T H A S H
0001420 S E T F - I N V E R S E C L
0001440 : P U T H A S H ) \r C L : M A P
0001460 H A S H A 0 0 0 1 D 1 \r ( L
0001500 ( 1 K E Y 0 V A L U E )
0001520 F 0 F U N C T I O N ) \0 \b
0001540 \0 001 \0 002 A @ l 002 P 016 020 \0 N I L \r
0001560 N I L \r ( ) \r C L : M A P H A S
0001600 H D 1 \r ( L ( 1 H A S H -
0001620 T A B L E ) I 0 F U N C T
0001640 I O N ) \0 \n \0 \0 \0 002 A g \0 \0 \n
0001660 \0 \0 h 020 \0 ( 6 M A P H A S H )
0001700 \r ( 3 C L : M A P H A S H A 0
0001720 0 0 1 ) \r ( ) \r ( L E T * ( (
0001740 A 0 3 2 6 ( Q U O T E C L :
0001760 M A P H A S H ) ) ( A 0 3 2 7
0002000 ( Q U O T E C L : F U N C T
0002020 I O N ) ) ( A 0 3 2 8 \r " C
0002040 a l l f u n c t i o n w i t
0002060 h e a c h k e y / v a l u e
0002100 p a i r i n t h e h a s
0002120 h - t a b l e " ) ) ( P R O G
0002140 N ( C O N D ( ( F B O U N D
0002160 P ( Q U O T E \r S E T - D O
0002200 C U M E N T A T I O N ) ) ( S
0002220 E T - D O C U M E N T A T I O N
0002240 A 0 3 2 6 A 0 3 2 7 A 0 3
0002260 2 8 ) ) ) A 0 3 2 8 ) ) \r C L
0002300 : G E T H A S H D 1 \r ( L (
0002320 2 D E F A U L T 1 H A S H
0002340 T A B L E 0 K E Y ) ) \0 \t
0002360 \0 \0 \0 003 @ A B i \f \0 \0 020 \0 ( 6
0002400 G E T H A S H ) \r N I L \r ( ) \r
0002420 C L : P U T H A S H D 1 \r ( L
0002440 ( 3 D E F A U L T 2 V A
0002460 L U E 1 H A S H - T A B L E
0002500 0 K E Y ) ) \0 \t \0 \0 \0 004 @
0002520 B A \v \0 \0 B 020 \0 ( 5 \ H A S H
0002540 A C C E S S ) \r N I L \r ( ) \r H
0002560 A S H - T A B L E - C O U N T
0002600 D 1 \r ( L ( 0 H A S H - T A
0002620 B L E ) ) \0 \t \0 \0 \0 001 @ g \0 \0
0002640 \n \0 \0 020 \0 ( 6 H A R R A Y P R
0002660 O P ) \r ( 3 N U M K E Y S ) \r
0002700 ( ) \r H A S H - T A B L E - P
0002720 D 1 \r ( L ( 0 O B J E C T )
0002740 ) \0 006 \0 \0 \0 001 @ \t \0 \0 020 \0 ( 3
0002760 H A R R A Y P ) \r N I L \r ( )
0003000 \r M A K E - H A S H - T A B L E
0003020 D 1 \r ( L ( 0 - a r g s -
0003040 ) ) 001 017 \v \0 002 \0 e 021 001 \0 H k 021
0003060 002 002 J d I 363 262 B 277 g \0 \0 022 021 221 \n
0003100 H k 273 272 K d J 363 262 C 277 l A 274 H k
0003120 276 275 N d M 363 262 H 277 h _ 016 277 H k _
0003140 022 277 _ 020 277 O 022 d O 020 363 262 F 277 I 004
0003160 l 004 360 262 N h 260 L a g \0 \0 360 225 J k
0003200 330 a 260 272 J l 002 324 Z 260 252 a g \0 \0 360
0003220 225 K k 330 a 260 270 K l 002 324 [ 260 251 a g
0003240 \0 \0 360 225 N k 330 a 260 262 N l 002 324 ^ 260
0003260 244 a g \0 \0 360 263 270 O 022 l 002 324 _ 022 260
0003300 250 i 262 0 I g \0 \0 \t \0 \0 \n \0 \0 224 g
0003320 \0 \0 260 ! I g \0 \0 \t \0 \0 \n \0 \0 223 g
0003340 \0 \0 217 I g \0 \0 \t \0 \0 \n \0 \0 223 g \0
0003360 \0 200 I _ 024 d g \0 \0 360 227 277 L O 016 \n
0003400 \0 \0 020 g \0 \0 360 234 L O 016 g \0 \0 g \0
0003420 \0 \f \0 \0 020 O 024 g \0 \0 360 264 017 L O 016
0003440 g \0 \0 g \0 \0 \f \0 \0 020 g \0 \0 O 024 o
0003460 \0 \0 \0 \f \0 \0 020 \0 ( 4 1 4 Q E C
0003500 A S E - F A I L 3 7 7 Q H A
0003520 S H A R R A Y 3 5 2 Q H A S
0003540 H A R R A Y 3 3 0 Q H A S H
0003560 A R R A Y 3 0 3 Q E Q P 3
0003600 0 0 Q S Y M B O L - F U N C T
0003620 I O N 2 6 4 Q E Q P 2 6 1
0003640 Q S Y M B O L - F U N C T I O
0003660 N 2 4 4 Q E Q P 2 4 1 Q
0003700 S Y M B O L - F U N C T I O N )
0003720 \r ( 4 0 3 Q T E S T 3 7 4 Q
0003740 C L : E Q U A L 3 7 1 Q S
0003760 X H A S H 3 6 0 Q C L : E Q
0004000 U A L 3 4 7 Q E Q L 3 4 4
0004020 Q E Q L H A S H B I T S F N
0004040 3 3 4 Q E Q L 3 1 7 Q E Q
0004060 3 0 7 Q C L : E Q U A L 2
0004100 7 5 Q C L : E Q U A L 2 7 0
0004120 Q E Q L 2 5 6 Q E Q L 2
0004140 5 0 Q E Q 2 3 6 Q E Q 2
0004160 1 3 Q : R E H A S H - T H R E
0004200 S H O L D 1 7 0 Q : R E H A
0004220 S H - S I Z E 1 4 5 Q : S I
0004240 Z E 1 2 2 Q : T E S T 2 2
0004260 Q E Q L ) \r ( 4 1 1 Q ( E
0004300 Q E Q L C L : E Q U A L ) )
0004320 \r ( L E T * ( ( A 0 3 2 9 (
0004340 Q U O T E M A K E - H A S H -
0004360 T A B L E ) ) ( A 0 3 3 0 (
0004400 Q U O T E C L : F U N C T I O
0004420 N ) ) ( A 0 3 3 1 \r " C r e
0004440 a t e s a n d r e t u r n s
0004460 a h a s h t a b l e .
0004500 S e e m a n u a l f o r d
0004520 e t a i l s . " ) ) ( P R O G
0004540 N ( C O N D ( ( F B O U N D
0004560 P ( Q U O T E \r S E T - D O
0004600 C U M E N T A T I O N ) ) ( S
0004620 E T - D O C U M E N T A T I O N
0004640 A 0 3 2 9 A 0 3 3 0 A 0 3
0004660 3 1 ) ) ) A 0 3 3 1 ) ) \r S X
0004700 H A S H D 1 \r ( L ( 0 O B
0004720 J E C T ) ) \0 335 004 \0 \0 001 @ 021 001
0004740 \0 H d 303 \0 \0 230 277 @ \t \0 \0 \t \0 \0 020
0004760 \t \0 \0 262 / j @ \t \0 \0 l \r \n \0 \0 j
0005000 021 003 003 I J \n \0 \0 221 K 020 K @ I 266 006
0005020 \0 \0 323 346 l \a l 020 \v \0 \0 273 I k 324 Y
0005040 260 344 H 227 H d 303 \0 \0 262 1 277 @ j l 002
0005060 021 003 003 I 232 I 3 \b 246 J l \r \n \0 \0 221
0005100 K 020 K I 001 \t \0 \0 346 l \a l 020 \v \0 \0
0005120 273 I 002 J k 324 272 Y 260 334 \t \0 \0 224 @ \t
0005140 \0 \0 020 H d 303 \0 \0 230 277 @ 310 \0 @ 310 001
0005160 346 020 3 225 @ n 377 377 345 020 H d 303 \0 \0
0005200 262 023 277 @ \t \0 \0 \t \0 \0 @ \t \0 \0 \t \0
0005220 \0 346 020 303 \0 \0 237 @ \t \0 \0 \t \0 \0 @ \t
0005240 \0 \0 \t \0 \0 346 020 @ 322 @ 323 n 037 377 345 340
0005260 340 340 @ 323 343 342 346 346 020 \0 ( 3 0 7 Q
0005300 S X H A S H 3 0 4 Q I M A G
0005320 P A R T 3 0 0 Q S X H A S H
0005340 2 7 5 Q R E A L P A R T 2
0005360 6 3 Q S X H A S H 2 6 0 Q
0005400 D E N O M I N A T O R 2 5 4 Q
0005420 S X H A S H 2 5 1 Q N U M
0005440 E R A T O R 2 0 4 Q A R R A
0005460 Y - R A N K 1 7 7 Q C L : A
0005500 R R A Y P 1 6 2 Q R O T 1
0005520 5 2 Q S X H A S H 1 4 1 Q
0005540 % % = 7 5 Q R O T 5 2 Q
0005560 % % = 4 1 Q M I N 3 4 Q
0005600 C L : L E N G T H 2 5 Q C L
0005620 : S T R I N G P 2 1 Q S T R
0005640 I N G H A S H B I T S 1 6 Q
0005660 S Y M B O L - N A M E ) \r ( 2 7
0005700 0 Q C O M P L E X 2 4 2 Q
0005720 R A T I O 2 1 2 Q F L O A T
0005740 P 1 1 3 Q L I S T P 6 4 Q
0005760 C H A R A C T E R 1 0 Q L
0006000 I T A T O M ) \r ( ) \r ( L E T *
0006020 ( ( A 0 3 3 2 ( Q U O T E
0006040 S X H A S H ) ) ( A 0 3 3 3
0006060 ( Q U O T E C L : F U N C T I
0006100 O N ) ) ( A 0 3 3 4 \r " R e
0006120 t u r n s a f i x n u m e
0006140 q u a l h a s h f o r a n
0006160 o b j e c t . " ) ) ( P R O
0006200 G N ( C O N D ( ( F B O U N
0006220 D P ( Q U O T E S E T - D O
0006240 C U M E N T A T I O N ) ) ( \r
0006260 S E T - D O C U M E N T A T I O
0006300 N A 0 3 3 2 A 0 3 3 3 A 0
0006320 3 3 4 ) ) ) A 0 3 3 4 ) ) \r (
0006340 S E T Q S X H A S H - M A X
0006360 1 3 ) \r ( P U T H A S H ( Q U
0006400 O T E S X H A S H - M A X )
0006420 ( Q U O T E ( C O N S T A N T
0006440 S X H A S H - M A X ) ) C O
0006460 M P V A R M A C R O H A S H ) \r
0006500 e x p a n d - S X H A S H - L I
0006520 S T D 1 \r ( L ( 1 $ $ M A
0006540 C R O - E N V I R O N M E N T
0006560 0 $ $ M A C R O - F O R M ) )
0006600 \0 001 \0 \0 002 @ 002 001 021 001 \0 g \0 \0
0006620 g \0 \0 H o \0 \0 \0 032 032 o \0 \0 \0 032 o
0006640 \0 \0 \0 032 032 020 \0 N I L \r ( 1 3 Q
0006660 S E Q U E N C E 1 0 Q C L :
0006700 D O ) \r ( 3 3 Q ( ( ( O R
0006720 ( A T O M S E Q U E N C E )
0006740 ( = I N D E X S X H A S H -
0006760 M A X ) ) H A S H ) ( D E C
0007000 L A R E ( T Y P E F I X N U
0007020 M H A S H ) ) ( S E T Q H
0007040 A S H ( S X H A S H - R O T
0007060 ( L O G X O R H A S H ( S X
0007100 H A S H ( C A R S E Q U E N
0007120 C E ) ) ) 7 ) ) ) \r 2 6 Q
0007140 ( ( I N D E X 0 ( 1 + I N
0007160 D E X ) ) ( H A S H 2 ) )
0007200 2 0 Q ( ( C D R S E Q U E N
0007220 C E ) ) ) \r ( S E T F - M A C R
0007240 O - F U N C T I O N ( Q U O T
0007260 E S X H A S H - L I S T ) (
0007300 Q U O T E e x p a n d - S X H
0007320 A S H - L I S T ) ) \r e x p a n
0007340 d - S X H A S H - R O T D 1 \r
0007360 ( L ( 1 $ $ M A C R O - E N
0007400 V I R O N M E N T 0 $ $ M A
0007420 C R O - F O R M ) ) \0 036 003 \0 \0
0007440 002 @ 002 021 ! 002 H 001 271 H 002 001 272 g \0 \0
0007460 I J n 377 377 \t \0 \0 h 032 032 032 032 020 \0 (
0007500 2 6 Q I N T E G E R L E N G T
0007520 H ) \r ( 1 6 Q R O T ) \r ( ) \r
0007540 ( S E T F - M A C R O - F U N C
0007560 T I O N ( Q U O T E S X H A
0007600 S H - R O T ) ( Q U O T E e
0007620 x p a n d - S X H A S H - R O T
0007640 ) ) \r ( L E T * ( ( A 0 3 3 7
0007660 ( Q U O T E S X H A S H - R
0007700 O T ) ) ( A 0 3 3 8 ( Q U O
0007720 T E C L : F U N C T I O N ) )
0007740 ( A 0 3 3 9 " R o t a t e s
0007760 x l e f t b y n u m b
0010000 i t s . " ) ) ( \r P R O G N
0010020 ( C O N D ( ( F B O U N D P
0010040 ( Q U O T E S E T - D O C U M
0010060 E N T A T I O N ) ) ( S E T -
0010100 D O C U M E N T A T I O N A 0
0010120 3 3 7 A 0 3 3 8 A 0 3 3 9 )
0010140 ) ) A 0 3 3 9 ) ) \r e x p a n
0010160 d - S X H A S H - S T R I N G
0010200 D 1 \r ( L ( 1 $ $ M A C R O
0010220 - E N V I R O N M E N T 0 $
0010240 $ M A C R O - F O R M ) ) \0 f
0010260 001 \0 \0 002 @ 002 001 021 001 \0 g \0 \0 o \0 \0
0010300 \0 g \0 \0 g \0 \0 g \0 \0 H h 032 032 o \0
0010320 \0 \0 032 032 h 032 032 o \0 \0 \0 032 032 o \0 \0
0010340 \0 o \0 \0 \0 g \0 \0 g \0 \0 g \0 \0 g \0
0010360 \0 g \0 \0 g \0 \0 g \0 \0 H o \0 \0 \0 032
0010400 032 h 032 032 h 032 032 032 o \0 \0 \0 032 032 h 032
0010420 032 032 h 032 032 032 032 032 020 \0 N I L \r ( 1
0010440 0 5 Q A R E F 1 0 2 Q C H
0010460 A R - I N T 7 7 Q H A S H
0010500 7 4 Q L O G X O R 7 1 Q S
0010520 X H A S H - R O T 6 6 Q H A
0010540 S H 6 3 Q S E T Q 2 5 Q
0010560 C L : L E N G T H 2 2 Q M I
0010600 N 1 7 Q L E N G T H 1 0 Q
0010620 C L : D O ) \r ( 1 2 7 Q (
0010640 7 ) 1 1 2 Q ( I ) 6 0 Q
0010660 ( D E C L A R E ( T Y P E F
0010700 I X N U M I L E N G T H H
0010720 A S H ) ) 5 4 Q ( ( = I
0010740 L E N G T H ) H A S H ) 4 6
0010760 Q ( ( H A S H 0 ) ) 3 5 Q
0011000 \r ( S X H A S H - M A X ) 1
0011020 4 Q ( I 0 ( 1 + I ) ) )
0011040 \r ( S E T F - M A C R O - F U N
0011060 C T I O N ( Q U O T E S X H
0011100 A S H - S T R I N G ) ( Q U O
0011120 T E e x p a n d - S X H A S H
0011140 - S T R I N G ) ) \r ( L E T *
0011160 ( ( A 0 3 4 1 ( Q U O T E S
0011200 X H A S H - S T R I N G ) ) (
0011220 A 0 3 4 2 ( Q U O T E C L :
0011240 F U N C T I O N ) ) ( A 0 3 4
0011260 3 \r " R e t u r n s h a s h
0011300 v a l u e f o r a n o n
0011320 - s i m p l e s t r i n g . "
0011340 ) ) ( P R O G N ( C O N D
0011360 ( ( F B O U N D P ( Q U O T E
0011400 S E T - D O C U M E N T A T I
0011420 O N ) ) ( \r S E T - D O C U M
0011440 E N T A T I O N A 0 3 4 1 A
0011460 0 3 4 2 A 0 3 4 3 ) ) ) A 0
0011500 3 4 3 ) ) \r E Q L H A S H B I T
0011520 S F N D 1 \r ( L ( 0 O B J
0011540 ) ) \0 ` 001 \0 \0 001 @ 021 001 \0 H d 303
0011560 \0 \0 221 i 020 3 225 @ n 377 377 345 020 H d
0011600 303 \0 \0 230 277 @ 310 \0 @ 310 001 346 020 303 \0 \0
0011620 237 @ \t \0 \0 \t \0 \0 @ \t \0 \0 \t \0 \0 346
0011640 020 H 303 \0 \0 237 @ \t \0 \0 \t \0 \0 @ \t \0
0011660 \0 \t \0 \0 346 020 @ 322 @ 323 n 037 377 345 340 340
0011700 340 @ 323 343 342 346 346 020 \0 ( 1 1 2 Q E
0011720 Q L H A S H B I T S F N 1 0 7
0011740 Q I M A G P A R T 1 0 3 Q
0011760 E Q L H A S H B I T S F N 1 0
0012000 0 Q R E A L P A R T 6 5 Q
0012020 E Q L H A S H B I T S F N 6 2
0012040 Q D E N O M I N A T O R 5 6
0012060 Q E Q L H A S H B I T S F N
0012100 5 3 Q N U M E R A T O R ) \r (
0012120 7 3 Q C O M P L E X 4 6 Q
0012140 R A T I O 3 1 Q F L O A T P
0012160 1 0 Q C H A R A C T E R ) \r
0012200 ( ) \r e x p a n d - \ E Q H A S
0012220 H I N G B I T S D 1 \r ( L (
0012240 1 $ $ M A C R O - E N V I R O
0012260 N M E N T 0 $ $ M A C R O -
0012300 F O R M ) ) \0 F 001 \0 \0 002 @ 002 001
0012320 021 001 \0 g \0 \0 g \0 \0 H h 032 032 g \0 \0
0012340 g \0 \0 g \0 \0 g \0 \0 H h 032 032 o \0 \0
0012360 \0 032 032 o \0 \0 \0 032 032 g \0 \0 g \0 \0 H
0012400 h 032 032 o \0 \0 \0 032 032 h 032 032 032 h 032 032
0012420 032 020 \0 N I L \r ( 6 1 Q \ L O L
0012440 O C 5 6 Q L R S H 3 3 Q
0012460 \ L O L O C 3 0 Q L O G A N
0012500 D 2 5 Q L L S H 2 2 Q L
0012520 O G X O R 1 3 Q \ H I L O C
0012540 1 0 Q L O G X O R ) \r ( 7
0012560 1 Q ( 1 1 Q ) 5 1 Q ( 3 )
0012600 4 3 Q ( 1 7 7 7 7 Q ) ) \r (
0012620 S E T F - M A C R O - F U N C T
0012640 I O N ( Q U O T E \ E Q H A
0012660 S H I N G B I T S ) ( Q U O T
0012700 E e x p a n d - \ E Q H A S H
0012720 I N G B I T S ) ) \r ( P U T P R
0012740 O P S C M L H A S H F I L E
0012760 T Y P E C O M P I L E - F I L
0013000 E ) \r ( P U T P R O P S C M L
0013020 H A S H C O P Y R I G H T (
0013040 " X e r o x C o r p o r a t i
0013060 o n " 1 9 8 5 1 9 8 6 ) ) \r
0013100 N I L \r
0013104