math/f{25519,goldi}.[ch]: Export the piece type.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 10 May 2017 20:01:03 +0000 (21:01 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 14 May 2017 13:58:41 +0000 (14:58 +0100)
math/f25519.c
math/f25519.h
math/fgoldi.c
math/fgoldi.h

index 6dfc511..a58a68a 100644 (file)
 
 /*----- Basic setup -------------------------------------------------------*/
 
+typedef f25519_piece piece;
+
 #if F25519_IMPL == 26
 /* Elements x of GF(2^255 - 19) are represented by ten signed integers x_i: x
  * = SUM_{0<=i<10} x_i 2^ceil(51i/2), mostly following Bernstein's original
  * paper.
  */
 
-typedef  int32  piece;  typedef  int64  dblpiece;
+                       typedef  int64  dblpiece;
 typedef uint32 upiece;  typedef uint64 udblpiece;
 #define P p26
 #define PIECEWD(i) ((i)%2 ? 25 : 26)
@@ -74,7 +76,7 @@ typedef uint32 upiece;  typedef uint64 udblpiece;
  * except for pieces 5, 10, 15, 20, and 25 which have 9 bits.
  */
 
-typedef  int16  piece;  typedef  int32  dblpiece;
+                       typedef  int32  dblpiece;
 typedef uint16 upiece;  typedef uint32 udblpiece;
 #define P p10
 #define PIECEWD(i)                                                     \
index fc75546..4a2a219 100644 (file)
@@ -55,6 +55,13 @@ typedef union {
 #  define F25519_IMPL 10
 #endif
 
+#if F25519_IMPL == 26
+  typedef int32 f25519_piece;
+#endif
+#if F25519_IMPL == 10
+  typedef int16 f25519_piece;
+#endif
+
 /*----- Functions provided ------------------------------------------------*/
 
 /* --- @f25519_set@ --- *
index 5b2889f..afc4332 100644 (file)
  * (hence the name).
  */
 
+typedef fgoldi_piece piece;
+
 #if FGOLDI_IMPL == 28
 /* We represent an element of GF(p) as 16 28-bit signed integer pieces x_i:
  * x = SUM_{0<=i<16} x_i 2^(28i).
  */
 
-typedef  int32  piece; typedef  int64  dblpiece;
+                      typedef  int64  dblpiece;
 typedef uint32 upiece; typedef uint64 udblpiece;
 #define PIECEWD(i) 28
 #define NPIECE 16
@@ -61,7 +63,7 @@ typedef uint32 upiece; typedef uint64 udblpiece;
  * bits.
  */
 
-typedef  int16  piece; typedef  int32  dblpiece;
+                      typedef  int32  dblpiece;
 typedef uint16 upiece; typedef uint32 udblpiece;
 #define PIECEWD(i) ((i)%5 ? 11 : 12)
 #define NPIECE 40
index b05fd77..4f6c043 100644 (file)
@@ -55,6 +55,13 @@ typedef union {
 #  define FGOLDI_IMPL 12
 #endif
 
+#if FGOLDI_IMPL == 28
+  typedef int32 fgoldi_piece;
+#endif
+#if FGOLDI_IMPL == 12
+  typedef int16 fgoldi_piece;
+#endif
+
 /*----- Functions provided ------------------------------------------------*/
 
 /* --- @fgoldi_load@ --- *