File tree 1 file changed +12
-5
lines changed
1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change 22
22
#endif
23
23
24
24
/** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F,
25
- * represented as 5 uint64_t's in base 2^52. The values are allowed to contain >52 each. In particular,
26
- * each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element
27
- * is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations
28
- * accept any input with magnitude at most M, and have different rules for propagating magnitude to their
29
- * output.
25
+ * represented as 5 uint64_t's in base 2^52, least significant first. Note that the limbs are allowed to
26
+ * contain >52 bits each.
27
+ *
28
+ * Each field element has a 'magnitude' associated with it. Internally, a magnitude M means:
29
+ * - 2*M*(2^48-1) is the max (inclusive) of the most significant limb
30
+ * - 2*M*(2^52-1) is the max (inclusive) of the remaining limbs
31
+ *
32
+ * Operations have different rules for propagating magnitude to their outputs. If an operation takes a
33
+ * magnitude M as a parameter, that means the magnitude of input field elements can be at most M (inclusive).
34
+ *
35
+ * Each field element also has a 'normalized' flag. A field element is normalized if its magnitude is either
36
+ * 0 or 1, and its value is already reduced modulo the order of the field.
30
37
*/
31
38
32
39
#ifdef VERIFY
You can’t perform that action at this time.
0 commit comments