Annotation of researchv10no/cmd/odist/pax/include/hashpart.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * K. P. Vo
        !             3:  * G. S. Fowler
        !             4:  * AT&T Bell Laboratories
        !             5:  *
        !             6:  * ``the best'' combined linear congruent checksum/hash/PRNG
        !             7:  */
        !             8: 
        !             9: #ifndef HASHPART
        !            10: 
        !            11: #define HASH_ADD(h)    (0x9c39c33dL)
        !            12: 
        !            13: #if __sparc__ || sparc
        !            14: 
        !            15: #define HASH_A(h,n)    ((((h) << 2) - (h)) << (n))
        !            16: #define HASH_B(h,n)    ((((h) << 4) - (h)) << (n))
        !            17: #define HASH_C(h,n)    ((HASH_A(h,7) + HASH_B(h,0)) << (n))
        !            18: #define HASH_MPY(h)    (HASH_C(h,22)+HASH_C(h,10)+HASH_A(h,6)+HASH_A(h,3)+(h))
        !            19: 
        !            20: #else
        !            21: 
        !            22: #define HASH_MPY(h)    ((h)*0x63c63cd9L)
        !            23: 
        !            24: #endif
        !            25: 
        !            26: #define HASHPART(h,c)  (h = HASH_MPY(h) + HASH_ADD(h) + (c))
        !            27: 
        !            28: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.