Skip to content

补 shift 随机对照测试与 scalar CI job - #4

Merged
LessUp merged 1 commit into
masterfrom
test/shift-random-scalar-ci
Jul 28, 2026
Merged

补 shift 随机对照测试与 scalar CI job#4
LessUp merged 1 commit into
masterfrom
test/shift-random-scalar-ci

Conversation

@LessUp

@LessUp LessUp commented Jul 28, 2026

Copy link
Copy Markdown
Owner

变更

补 shift 操作的随机对照测试,并新增 scalar CI job 覆盖 BITCAL_HAS_AVX2 == 0 编译分支。

测试

  • shift_left / shift_right 新增 256 位随机对照测试(各 64 组,count ∈ [0, Bits]),对照逐 bit 参考模型 reference_shift_left / reference_shift_right
  • random_cases.hpp 新增 random_shift_case 生成器;reference_model.hpp 新增逐 bit 参考实现

CI

  • 新增 build-and-test-scalar job(GCC + -mno-avx2 + BITCAL_NATIVE_ARCH=OFF),覆盖 scalar 分支
  • 此前 GCC / Clang 两个 job 均走 AVX2 路径(-march=native),scalar 分支从未被编译/测试

文档

  • README / AGENTS §4.3 / CHANGELOG 同步描述

验证

  • AVX2 build(-march=native)+ scalar build(-mno-avx2):均 45 passed / 0 failed
  • clang-format dry-run 通过
  • mutation 验证测试有效性:故意改坏 shift_left_array(丢跨 word carry),test_random_shift_left_256 如预期失败;128 位手工用例在 mutation 下仍 PASS,印证随机测试覆盖了手工用例未碰的中间 shift 值

- shift_left/right 新增 256 位随机对照测试(64 组,count∈[0,Bits]),逐 bit 参考模型对照,覆盖手工用例未碰的中间 shift 值
- reference_model.hpp 新增 reference_shift_left/right 逐 bit 参考实现
- random_cases.hpp 新增 random_shift_case 生成器
- CI 新增 scalar build/test job(-mno-avx2 + BITCAL_NATIVE_ARCH=OFF),覆盖 BITCAL_HAS_AVX2==0 分支;此前 CI 两 job 均走 AVX2 路径
- README/AGENTS/CHANGELOG 同步描述
@LessUp
LessUp merged commit b136bdd into master Jul 28, 2026
4 checks passed
@LessUp
LessUp deleted the test/shift-random-scalar-ci branch July 28, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant