Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fiat-constify: initial crate #768

Merged
merged 1 commit into from
Jun 2, 2022
Merged

fiat-constify: initial crate #768

merged 1 commit into from
Jun 2, 2022

Conversation

tarcieri
Copy link
Member

@tarcieri tarcieri commented Jun 2, 2022

This crate is a tool for transforming fiat-crypto-generated field arithmetic into const fn form.

It performs mechanical translation to the parsed AST of the code, making some assumptions about how it's structured and rewriting the usages of mutable references into a functional form.

Manual tests confirm the output from the p386 base field compiles.

@tarcieri
Copy link
Member Author

tarcieri commented Jun 2, 2022

Still need to actually integrate the generated code into a crate (e.g. p384) and test what performance impact it has, if any.

FWIW here's an upstream issue about adding const fn support to fiat-crypto proper: mit-plv/fiat-crypto#1086

This crate is a tool for transforming `fiat-crypto`-generated field
arithmetic into `const fn` form.

It performs mechanical translation to the parsed AST of the code, making
some assumptions about how it's structured and rewriting the usages of
mutable references into a functional form.

Manual tests confirm the output from the p386 base field compiles.
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