Hash Jenkins散列函数在Mathematica中的实现

Hash Jenkins散列函数在Mathematica中的实现,hash,wolfram-mathematica,Hash,Wolfram Mathematica,我想要一个内射函数h(),它接收一个自然数并返回一个由64个等概率位组成的序列 例如h[1234567890]={1,1,0,1,…,0} java中的一个可能实现是 \\ Jenkins hash function public static final long jenkins(final int x) { long a, b, c; /* Set up the internal state */ a = 1000 + x; b = 100

我想要一个内射函数h(),它接收一个自然数并返回一个由64个等概率位组成的序列

例如h[1234567890]={1,1,0,1,…,0}

java中的一个可能实现是

   \\ Jenkins hash function

    public static final long jenkins(final int x) {

    long a, b, c;

    /* Set up the internal state */
    a = 1000 + x;
    b = 1000;
    c = 0x9e3779b97f4a7c13L; /* the golden ratio; an arbitrary value */

    a -= b; a -= c; a ^= (c >>> 43);
    b -= c; b -= a; b ^= (a << 9);
    c -= a; c -= b; c ^= (b >>> 8);
    a -= b; a -= c; a ^= (c >>> 38);
    b -= c; b -= a; b ^= (a << 23);
    c -= a; c -= b; c ^= (b >>> 5);
    a -= b; a -= c; a ^= (c >>> 35);
    b -= c; b -= a; b ^= (a << 49);
    c -= a; c -= b; c ^= (b >>> 11);
    a -= b; a -= c; a ^= (c >>> 12);
    b -= c; b -= a; b ^= (a << 18);
    c -= a; c -= b; c ^= (b >>> 22);
    
    return c;
}
\\Jenkins散列函数
公共静态最终long jenkins(最终整数x){
长a,b,c;
/*设置内部状态*/
a=1000+x;
b=1000;
c=0x9e3779b97f4a7c13L;/*黄金比例;任意值*/
a-=b;a-=c;a^=(c>>43);
b-=c;b-=a;b^=(a>>8);
a-=b;a-=c;a^=(c>>38);
b-=c;b-=a;b^=(a>>5);
a-=b;a-=c;a^=(c>>35);
b-=c;b-=a;b^=(a>>11);
a-=b;a-=c;a^=(c>>12);
b-=c;b-=a;b^=(a>>22);
返回c;
}
我如何在Mathematica中实现这一点