i start reading source code of moosefs, @ beginning of main function (mfscommon/main.c), calls strerr_init
, in there's segment contains 2 big numbers, , can't understande for. here part of code:
for (n=0 ; errtab[n].str ; n++) { hash = errtab[n].num; disp = ((hash * 760092119) & (errhsize-1)) | 1; // number 1 hash = ((hash * 1905886897) & (errhsize-1)); // number 2 while (errhash[hash].str!=null && errhash[hash].num != errtab[n].num) { hash+=disp; hash&=(errhsize-1); } if (errhash[hash].str==null) { errhash[hash] = errtab[n]; } }
the numbers bother me 760092119 , 1905886897. there bitwise opration involved, i've changed them binary format understand, still can't see through.
760 092 119 = 0b0101101010011100001010111010111 1 905 886 897 = 0b1110001100110011000011010110001
Comments
Post a Comment