Git Product home page Git Product logo

Comments (3)

tarcieri avatar tarcieri commented on August 24, 2024

Note that the code in those backends is autogenerated by fiat-crypto. An ideal fix would go into their Rust code generation backend: https://github.com/mit-plv/fiat-crypto

We do also have a tool for applying automated transformations to their output where you could also potentially apply a fix: https://github.com/RustCrypto/utils/tree/master/fiat-constify

I would definitely suggest against any hand edits to these files, as a big part of their value is formal verification.

from elliptic-curves.

coder0xff avatar coder0xff commented on August 24, 2024

Looking at https://github.com/mit-plv/fiat-crypto/blob/master/fiat-rust/src/p384_32.rs#L167 , since it's not a const fn and uses the mutable variables it declares, I don't think that warrants change, unless of course they would be changed to const fn. That would be an improvement, but probably harder to justify. I'll take a pass at modifying updating fiat-constify to strip the unused variables.

from elliptic-curves.

tarcieri avatar tarcieri commented on August 24, 2024

Sounds good!

Yeah, fiat-crypto itself should probably wait for const_mut_refs to add const fn support, since it does incur a small performance penalty.

from elliptic-curves.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.