Skip to content

[eurydice] fix cloop! macro step_by implementation#191

Open
robinhundt wants to merge 2 commits into
mainfrom
robin/eurydice-fix-cloop-step-by
Open

[eurydice] fix cloop! macro step_by implementation#191
robinhundt wants to merge 2 commits into
mainfrom
robin/eurydice-fix-cloop-step-by

Conversation

@robinhundt

@robinhundt robinhundt commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

The cloop macro contained a bug in the step_by variant when extracting
with eurydice. The macro assumed that $start == 0. While this is the case
in all current uses, a future use of the macro with a non-zero start
could have caused a misextraction to C.

This new version also guards against other possible issues with the
step_by eurydice version, such as integer overflow and continue inside
the loops body.

It also fixes a bug in the ml-kem version of the macro when $end is not divided by $step.

One thing I noticed is that the C extraction is a bit less nice. Eurydice seems to duplicate the loop for the two first_iter cases.

The cloop macro contained a bug in the step_by variant when extracting
with eurydice. The macro assumed that $start == 0. While this is the case
in all current uses, a future use of the macro with a non-zero start
could have caused a misextraction to C.

This new version also guards against other possible issues with the
step_by eurydice version, such as integer overflow and continue inside
the loops body.
@robinhundt
robinhundt marked this pull request as ready for review July 7, 2026 15:02
@robinhundt

Copy link
Copy Markdown
Contributor Author

Ah, it seems the extraction is not compiling. This doesn't have high priority, as the existing uses of cloop don't run into these problematic edge cases.

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