GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • [Python-Dev] Re: The Dictionary Gem is polished!
  • [Python-Dev] RE: The Dictionary Gem is polished!
  • [ date ]
  • [ thread ]
  • [ subject ]
  • [ author ]

This view

  • Original page
  • New address

GeezerVison is showing mail.python.org — [Python-Dev] Re: The Dictionary Gem is polished!

[Python-Dev] Re: The Dictionary Gem is polished!

Christian Tismer [email protected]
Wed, 20 Dec 2000 18:31:00 +0200

  • Previous message: [Python-Dev] Re: The Dictionary Gem is polished!
  • Next message: [Python-Dev] RE: The Dictionary Gem is polished!
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

Christian Tismer wrote:
...
When talking about left rotation, an error crept in. Sorry!

> We would then have:
> 
>                 incr = ROTATE_LEFT(incr, 1)
>                 if (incr > mask):
>                     incr = incr ^ mp.ma_poly

If incr contains the high bits of the hash, then the
above must be replaced by

                incr = ROTATE_LEFT(incr, 1)
                if (incr & (mask+1)):
                    incr = incr ^ mp.ma_poly

or the multiplicative group is not guaranteed to be
generated, obviously.

This doesn't change my results, rotating right is still my choice.

ciao - chris

D:\crml_doc\platf\py>python dictest.py
N=1000
trips for strings old=293/9 new=302/7 new2=221/7 rot=272/8
trips for bad integers old=499500/999 new=13187/31 new2=999/1 rot=16982/27
trips for random integers old=339/9 new=337/7 new2=343/10 rot=342/8
trips for windows names old=230/5 new=207/7 new2=200/5 rot=225/6
N=2000
trips for strings old=1093/11 new=1109/10 new2=786/6 rot=1090/9
trips for bad integers old=0/0 new=26455/32 new2=1999/1 rot=33985/31
trips for random integers old=747/10 new=733/7 new2=734/7 rot=728/8
trips for windows names old=503/8 new=542/9 new2=564/6 rot=521/11
N=3000
trips for strings old=810/5 new=839/6 new2=609/5 rot=820/6
trips for bad integers old=0/0 new=38681/36 new2=2999/1 rot=50985/26
trips for random integers old=709/4 new=728/5 new2=767/5 rot=711/6
trips for windows names old=712/6 new=711/5 new2=691/5 rot=727/7
N=4000
trips for strings old=1850/9 new=1843/8 new2=1375/11 rot=1861/9
trips for bad integers old=0/0 new=52994/39 new2=3999/1 rot=67986/26
trips for random integers old=1584/9 new=1606/8 new2=1505/9 rot=1579/8
trips for windows names old=1449/8 new=1434/8 new2=1457/11 rot=1476/7
-- 
Christian Tismer             :^)   <mailto:[email protected]>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Kaunstr. 26                  :    *Starship* http://starship.python.net
14163 Berlin                 :     PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint       E182 71C7 1A9D 66E9 9D15  D3CC D4D7 93E2 1FAE F6DF
     where do you want to jump today?   http://www.stackless.com



  • Previous message: [Python-Dev] Re: The Dictionary Gem is polished!
  • Next message: [Python-Dev] RE: The Dictionary Gem is polished!
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.