Frank Denis
Frank Denis
Hi Jason, I was referring to the [file header](https://github.com/mit-plv/fiat-crypto/blob/5e9d9a2b4879147016141d831ca94b1f2dc3e4ff/src/Stringification/C.v#L590). I'd like to be able to define a constant representing the field size here (`m`, not the word size).
Hi Jason, That information is necessary to reject non-canonical encodings, for checking if an element is a square and for computing square roots. For languages supporting arbitrary bit-width integers, it...
Hi Jason, Yes, an msat function would suffice. It doesn't actually have to be present in the header.
That structure must be stored at a 16 bytes aligned location. The same thing applies to `crypto_onetimeauth_poly1305_state`.
This seems to explain how to deal with alignment constraints: http://www.tapirgames.com/blog/golang-memory-alignment
Make it a round number: 256 lines.
The [code](https://github.com/jedisct1/rust-ed25519-compact/blob/master/src/curve25519.rs) for field arithmetic is generated with [fiat-crypto](https://github.com/mit-plv/fiat-crypto).
As long as this is optional, and not part of the default features set, sure. But why only these specific types? `Signature` could also be part of the game :)
Hi! `Generator::generate()` is called for each module, so you can use this to create each namespace. See how it's done for the Zig backend, which is probably the best starting...
This is how functions then get in namespaces: https://github.com/jedisct1/witx-codegen/blob/4ee1bb22f8f800ccb1c0ca17978db1be59b19edb/example-output/zig.zig#L315