From 9b0a6093cedb1c5125e5be940b6a17b886ca9400 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Fri, 23 Nov 2007 23:54:56 -0500 Subject: [PATCH] New hashcode function --- core/sequences/sequences.factor | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index de10e5c2e4..ae531b5b7f 100755 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -667,7 +667,14 @@ PRIVATE> : infimum ( seq -- n ) dup first [ min ] reduce ; : supremum ( seq -- n ) dup first [ max ] reduce ; +! : sequence-hashcode ( n seq -- x ) +! 0 -rot [ +! hashcode* >fixnum swap 31 fixnum*fast fixnum+fast +! ] curry* each ; inline + : sequence-hashcode ( n seq -- x ) 0 -rot [ - hashcode* >fixnum swap 31 fixnum*fast fixnum+fast + hashcode* >fixnum swap + [ -2 shift fixnum+fast ] keep [ 5 shift fixnum+fast ] keep + bitxor ] curry* each ; inline