FXdiv
仅标头库,用于通过定点乘以逆除法
在现代CPU和GPU上,整数除法比乘法要慢几倍。 FXdiv实现了一种算法,用乘法和两次移位替换整数除法。 当应用程序执行相同除数的重复除法时,此算法可提高性能。
产品特点
uint32_t , uint64_t和size_t整数除法
仅标头的库,无需安装或构建
与C99,C ++,OpenCL和CUDA兼容
使用特定于平台的编译器内部函数以获得最佳性能
包含单元测试和微基准测试
例
# include
/* Division of array by a constant: reference implementation */
void divide_array_c ( size_t length, uint32_t array[], uint32_t divisor) {
for ( size_t i = 0 ; i < length; i++) {
array[i] /= divisor;
}
}
/* Division of array by a constant: implementati
1