哈希值的简单计算方法
来源:互联网 发布:pca主成分分析 知乎 编辑:程序博客网 时间:2024/04/29 17:26
// 1.
// Hopefully, this loop can be unrolled.
for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits)
{
seed ^= (std::size_t) (val >> i) + (seed<<6) + (seed>>2);
}
seed ^= (std::size_t) val + (seed<<6) + (seed>>2);
// 2.
const uint32_t c1 = 0xcc9e2d51;
const uint32_t c2 = 0x1b873593;
k1 *= c1;
k1 = BOOST_FUNCTIONAL_HASH_ROTL32(k1,15); // (x << r) | (x >> (32 - r))
k1 *= c2;
h1 ^= k1;
h1 = BOOST_FUNCTIONAL_HASH_ROTL32(h1,13); // (x << r) | (x >> (32 - r))
h1 = h1*5+0xe6546b64;
// 3.
seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2);
// 4.
const uint64_t m = UINT64_C(0xc6a4a7935bd1e995);
const int r = 47;
k *= m;
k ^= k >> r;
k *= m;
h ^= k;
h *= m;
- 哈希值的简单计算方法
- 公历闰年的简单计算方法
- 公历闰年的简单计算方法
- 关于网站用户粘度的简单计算方法
- 几个简单的字符串和数组计算方法
- 编程中公历闰年的简单计算方法
- 一种简单的图像白平衡计算方法
- 海明码简单计算方法
- 一种简单的位姿估计(PoseEstimation)计算方法
- 圆周率的计算方法
- 折线平行线的计算方法
- 总线带宽的计算方法
- 恒星时的计算方法
- 宽带速度的计算方法
- 闰年的计算方法
- 圆周率的计算方法
- java日期的计算方法
- 子网掩码的计算方法
- MySQL数据同步
- 【贪婪算法、动态规划】Jump Game II
- 严重: Error initializing endpoint
- android:versionCode和android:versionName说明
- Android中Scroller类的详细分析
- 哈希值的简单计算方法
- 链式队列(c),插入排序仅供参考
- MySql数据库连接池
- (***leetcode_Math)Palindrome Number
- 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)
- oracle启动与关闭命令
- android 事件分发机制
- POSIX 线程详解
- GCD 深入理解:第一部分