Skip to content

test: the consumer check expects Bragg single precision on every detector size - #69

Merged
Paullo9 merged 1 commit into
mainfrom
issue-consumer-check-bragg-single
Nov 1, 2026
Merged

Paullo9 merged 1 commit into
mainfrom
issue-consumer-check-bragg-single

Conversation

@Paullo9

@Paullo9 Paullo9 commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Requested by Paul · project thread

The Release PR #42 fails "Consumer checks and iOS build (after merge)" on 1 of 152 consumer checks: BraggPrecision.single refuses an unsupported size. main fails the same check, and only that one.

Cause. #61 made Bragg .single run on every detector size (FloatFFT2D(anyRows:columns:), Bluestein where vDSP DFT cannot go). The consumer check still expected a 40 x 56 .single run to throw invalidOption.

Change (tools/consumer-check only):

  • The refusal case becomes BraggPrecision.single accepts a non-vDSP size (22 x 21): one planted disk on a 22 x 21 detector (FloatFFT2D.supports is false there). .single and .double each find one peak near the disk, and they agree within 1e-3 px. Measured gap: about 4e-8 px.
  • BraggDetector.supportsSinglePrecision now also checks 22 x 21 (true) and a negative column count (false), next to the existing zero-row refusal.

No kit source changes. No numbers move.

Tests

  • tools/consumer-check/run.sh on origin/main (620646f): 152 checks, 1 failure (this one).
  • Same command on this branch: 152 checks, 0 failures, Debug build, no warnings.
  • Fast gate swift test -c release --parallel --skip CuboKitParityTests: green.

🤖 Generated with Claude Code

…ctor size

Since #61 the Float32 Bragg path builds FloatFFT2D(anyRows:columns:), so .single runs on every positive detector size and supportsSinglePrecision is true for all of them. The consumer check still expected a 40 x 56 .single run to throw invalidOption, so it failed 1 of 152 on main and on the Release PR.

The check now runs .single and .double on a 22 x 21 detector (a size vDSP DFT cannot take, FloatFFT2D.supports is false) with one planted disk: both find one peak near it and agree within 1e-3 px. supportsSinglePrecision also covers 22 x 21 (true) and a negative column count (false), next to the existing zero-row case.

No kit source or number changes. consumer-check: 152 of 152 pass; the fast gate is green.

Done: the consumer check matches the #61 behaviour. Next: the Release PR CI goes green after this merges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Paullo9 Paullo9 self-assigned this Nov 1, 2026
@Paullo9
Paullo9 enabled auto-merge (squash) November 1, 2026 17:27
@Paullo9
Paullo9 merged commit ff2e77f into main Nov 1, 2026
6 checks passed
@Paullo9
Paullo9 deleted the issue-consumer-check-bragg-single branch November 1, 2026 17:52
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