Gregory Maxwell
4be8d6fc42
Centralize the definition of uint128_t and use it uniformly.
...
This needs to be renamed along with the other _t types, because _t
is reserved. But that will be done later.
2015-01-25 05:10:40 +00:00
Gregory Maxwell
25b35c7ecb
Convert field code to strict C89 (+ long long, +__int128)
...
This makes the software more portable to embedded systems
and static analysis tools.
Sadly, it can't result in identical binaries because C99 mixed
declarations seem to make GCC emit superfluous stack-pointer
updates. The compiler is also somewhat dependent on the
declaration order.
2015-01-23 05:48:27 +00:00
Pieter Wuille
b2c9681c6f
Make {mul,sqr}_inner use the same argument order as {mul,sqr}
2014-12-04 13:54:36 +01:00
Pieter Wuille
82f9254cc0
Fix typo
2014-12-02 18:35:33 +01:00
Pieter Wuille
35399e08c4
Bugfix: b is restricted, not r
2014-12-02 17:43:42 +01:00
Pieter Wuille
4d4eeea4ac
Make secp256k1_fe_mul_inner use the r != property
...
Suggested by Peter Dettman.
2014-12-01 13:40:36 +01:00
Pieter Wuille
be82e92fc4
Require that r and b are different for field multiplication.
...
Suggested by Peter Dettman, this prepares for slightly faster muitiplication
which writes results immediately to r before finishing reading b.
2014-12-01 13:40:34 +01:00
Gregory Maxwell
71712b27e5
Switch to C89 comments in prep for making the whole codebase C89 compatible.
...
This should be whitespace/comment only changes and should produce the same
object code.
2014-11-15 07:33:07 -08:00
Pieter Wuille
a51859871a
Add overflow analysis to field_5x52_int128_impl.h
2014-11-13 07:47:40 -08:00
Pieter Wuille
fa0d620668
Add equalities relating input and output variables
2014-11-13 07:00:44 -08:00
Peter Dettman
5dd421bab5
Rewrite mul/sqr for 32bit/64bit
...
- interleave calculation of the lower and upper partial product ranges, and reduction
- less registers needed, more opportunities for parallel ops
2014-11-13 04:46:17 -08:00
Gregory Maxwell
a4a43d7543
Reorder static to comply with C99 and switch to the inline macro.
2014-11-12 13:07:55 -08:00
Pieter Wuille
11ab562203
Move implementations from impl/*.h to *_impl.h
2014-03-12 18:40:02 +01:00