mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 16:57:16 +01:00
46 lines
855 B
C
46 lines
855 B
C
#include "fe.h"
|
|
|
|
/*
|
|
h = -f
|
|
|
|
Preconditions:
|
|
|f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
|
|
|
|
Postconditions:
|
|
|h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
|
|
*/
|
|
|
|
void fe_neg(fe h,const fe f)
|
|
{
|
|
crypto_int32 f0 = f[0];
|
|
crypto_int32 f1 = f[1];
|
|
crypto_int32 f2 = f[2];
|
|
crypto_int32 f3 = f[3];
|
|
crypto_int32 f4 = f[4];
|
|
crypto_int32 f5 = f[5];
|
|
crypto_int32 f6 = f[6];
|
|
crypto_int32 f7 = f[7];
|
|
crypto_int32 f8 = f[8];
|
|
crypto_int32 f9 = f[9];
|
|
crypto_int32 h0 = -f0;
|
|
crypto_int32 h1 = -f1;
|
|
crypto_int32 h2 = -f2;
|
|
crypto_int32 h3 = -f3;
|
|
crypto_int32 h4 = -f4;
|
|
crypto_int32 h5 = -f5;
|
|
crypto_int32 h6 = -f6;
|
|
crypto_int32 h7 = -f7;
|
|
crypto_int32 h8 = -f8;
|
|
crypto_int32 h9 = -f9;
|
|
h[0] = h0;
|
|
h[1] = h1;
|
|
h[2] = h2;
|
|
h[3] = h3;
|
|
h[4] = h4;
|
|
h[5] = h5;
|
|
h[6] = h6;
|
|
h[7] = h7;
|
|
h[8] = h8;
|
|
h[9] = h9;
|
|
}
|