FastDivide:比硬件更快地划分64位整数。 或针对给定的标称进行预计算并快速重复除法-源码

上传者: 42097967 | 上传时间: 2021-02-09 22:04:52 | 文件大小: 4KB | 文件类型: ZIP
C++
快速分割 在x86上分割两个64位无符号整数的时间可能不应该比硬件div指令快,但是确实如此。 快约30%。 从技术上讲,硬件div指令将128位分子除以64位分母,但是没有理由它无法检查空的高位或具有64位版本。 更糟糕的是,很少使用128位功能,因为如果结果不适合64位,则会因硬件异常而爆炸! (而不是像大多数算术指令一样,返回截断的结果并设置一些标志)。 因为对于给定的分母/除数,许多工作是可预计算的,所以还提供了一个类,使您可以执行此预计算,然后将不同的分子重复除以同一分母。 由于该实现完全没有任何分支或内存访问,因此它也不会泄漏有关其自变量的任何边信道信息(至少不通过计时或内存!),因此对于加密应用程序在实际改进的同时可能很有用性能。 理论: 首先,在计算出floor(2^64/D)要格外小心。 第一个正确的结果位是通过前导零计数获得的,第二个正确的位是通过移位获得的,然

文件下载

资源详情

[{"title":"( 3 个子文件 4KB ) FastDivide:比硬件更快地划分64位整数。 或针对给定的标称进行预计算并快速重复除法-源码","children":[{"title":"FastDivide-master","children":[{"title":"fast-divide.h <span style='color:#111;'> 6.04KB </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明