发布:kimwalisch/primecount
素数-7.14
修复 利比迪尔。 小时 GCC 15问题 #76 . 从中移动x86 cpuid代码 cpuid.马力 到 src/x86/cpuid.cpp . 移动 生成.hpp 代码到 src/generate_primes.cpp . 移动 generate_phi.hpp(发电_菲律宾.hpp) 代码到 src/phi_vector.cpp . 整数128_t.hpp :将命名空间端口重命名为pstd(可移植的std命名空间)。 筛子.hpp :调整AVX512和ARM SVE simd代码。 筛子.hpp :无分支位掩码计算。 cpu支持popcnt.hpp :简化,将预处理器检查移到新的 多架构_x86_popcnt.cmake . 多架构avx512_vpopcnt.cmake :调整AVX512代码。 多架构_x86_popcnt.cmake :检测x86 POPCNT。 CMakeLists.txt文件 :对所有编译时定义使用CMake列表。
素数-7.13
CMakeLists.txt文件 :新建 带MULTIARCH 选项(默认为ON)。 筛子.hpp :用于x86 CPU的新AVX512 popcount算法。 筛子.hpp :新的ARM SVE popcount算法。 int128.制造 :改进对Windows的int128_t支持。 OpenMP.cmake(OpenMP.cmake) :改进LLVM/Clang OpenMP检测。 添加初步MSVC 128位支持。 删除 ci-sage.yml公司 ,3年内未更新。
素数-7.12
对数积分.cpp :修复Linux i386上的无限循环 #66 . 黎曼R.cpp :修复Linux i386上的无限循环 #66 . CMakeLists.txt文件 :删除 WITH_POPCT=关闭 用于构建可移植primecount二进制文件的选项。 primecount现在默认是可移植的(在x86 CPU上,primecoount现在使用CPUID检查CPU是否支持POPCNT指令,然后再使用它)。 流行音乐 :在x86和x64 CPU上,默认情况下启用CPUID POPCNT运行时检查(除非用户使用 -mpopcnt公司 ). 负载平衡AC.cpp :新的动态自适应负载平衡 #67 . 黎曼R.cpp :更快更简单 黎曼R_反向(x) . 测试/Li.cpp :添加更多测试。 测试/黎曼_R.cpp :添加更多测试。 快速div.hpp :摆脱 make_smaller<T>::类型 乱劈。
素数-7.11
CMakeLists.txt文件 :在构建时检测Apple Silicon CPU(仅在Apples OS上)并禁用libdivide,因为Apple Siricon CPU具有非常快的整数除法指令,通常比libdivider更快。 这加快了简单特殊叶算法的计算速度( --S2-容易 & --交流 )高达10%。 更快 黎曼R(x) 和 黎曼R_反向(x) 实现: kimwalisch/primesiew#144 . 测试/iroot.cpp :修复musl-libc问题: kimwalisch/primesiew#147 . 测试/Li.cpp :加速测试。 命令选项.cpp :检测不兼容的选项。 数据表.cpp :将缓存大小增加到2 KiB。 重命名的命令行选项 --Ri公司 到 -R(右) 或 --黎曼R . 重命名的命令行选项 --Ri逆 到 --黎曼R逆 . 改进Windows上的状态输出。 更新至最新的primesieve-12.1库。
素数-7.10
cmake/OPMP.cmake :改进libatomic检测: kimwalisch/141号筛 .github/工作流/ci.yml :将AppVeyor CI测试移植到GitHub操作。 黎曼R.cpp :修复中潜在的整数溢出 横向(x)(_I) & 反向(x)(_I) . 第n个prime.cpp :使用新 第n素数近似值(n) . 矢量.hpp :重命名 吊舱(_V) 到 矢量 和 播客阵列(_A) 到 阵列 . 自述.md :添加C&C++API徽章。 更新至最新的primesieve-11.2库。
素数-7.9
测试/README.md :添加调试模式+GCC/Clang消毒剂文档。 doc/BUILD.md文件 :添加详细测试信息的链接。 测试/pi_lehmer.cpp :添加新测试。 测试/pi_*.cpp :添加大型pi(x)计算测试。 test/gourdon/AC.cpp测试 :添加新测试。 test/gourdon/B.cpp测试 :添加新测试。 test/gourdon/D.cpp测试 :添加新测试。 test/gourdon/Phi0.cpp测试 :添加新测试。 test/gourdon/Siga.cpp测试 :添加新测试。 测试/葫芦/字母y.cpp :添加128位测试。 test/gourdon/alpha_z.cpp :添加128位测试。 测试/deleglise-rivat/S2_trivial.cpp :添加大型计算测试。 测试/deleglise-rivat/S2_easy.cpp :添加大型计算测试。 测试/删除rivat/S2_hard.cpp :添加大型计算测试。 测试/删除rivat/alpha_deleglise_rivat.cpp :添加128位测试。 测试/lmo/alpha.cpp :添加更多测试。 测试/api/nth_prime.cpp :添加大型计算测试。
素数-7.8
api.cpp应用程序 :在中添加缺少的负数检查 π(整数128_t x) , pi_deleglise_rivat(整数128_t x) , pi_gourdon(内部128_t x) . 测试/api.cpp :添加更多pi(-n)测试。 测试/api_ccpp :添加更多primecount_pi(-n)测试。 测试/pi_cache.cpp :添加新测试。 测试/pi_deleglise_rivat.cpp :添加新测试。 测试/pi_ourdon.cpp :添加新测试。 测试/pi_legendre.cpp :添加新测试。 测试/pi_lmo5.cpp :添加新测试。 测试/pi_lmo_parallel.cpp :添加新测试。 测试/pi_meisel.cpp :添加新测试。 CMakeLists.txt文件 :禁用生成libprimesieve示例。
素数-7.7
素数-7.6
素数-7.5
更改日志
更新至最新的libprimesieve-11.0。 phi.cpp公司 :10%phi(x,a)加速。 馅饼.cpp :将上下文切换和cpu迁移最多减少2倍。 负载平衡P2.cpp :改进高CPU核心数服务器的负载平衡。 S2_硬.cpp :改进高CPU核心数服务器的负载平衡。 S2_轻松.cpp :改进高CPU核心数服务器的负载平衡。 AC.cpp公司 :改进高CPU核心数服务器的负载平衡。 D.cpp公司 :改进高CPU核心数服务器的负载平衡。 P3.cpp页 :改进高CPU核心数服务器的负载平衡。 筛.cpp :简化 COUNT_UNSET_BIT() 宏。 吊舱_推进器.hpp :添加了对带析构函数的类型的支持。 CMakeLists.txt文件 :使用 WITH_DIV32=关闭 使用Clang编译器时。 硬特产.md :将公式转换为MathJax。 Easy-Special-Lowes.md简易特制屋檐 :将公式转换为MathJax。 部分筛功能.md :将公式转换为MathJax。