1#include "fe.h"
2
3/*
4h = -f
5
6Preconditions:
7 |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
8
9Postconditions:
10 |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
11*/
12
13void fe_neg(fe h,const fe f)
14{
15 crypto_int32 f0 = f[0];
16 crypto_int32 f1 = f[1];
17 crypto_int32 f2 = f[2];
18 crypto_int32 f3 = f[3];
19 crypto_int32 f4 = f[4];
20 crypto_int32 f5 = f[5];
21 crypto_int32 f6 = f[6];
22 crypto_int32 f7 = f[7];
23 crypto_int32 f8 = f[8];
24 crypto_int32 f9 = f[9];
25 crypto_int32 h0 = -f0;
26 crypto_int32 h1 = -f1;
27 crypto_int32 h2 = -f2;
28 crypto_int32 h3 = -f3;
29 crypto_int32 h4 = -f4;
30 crypto_int32 h5 = -f5;
31 crypto_int32 h6 = -f6;
32 crypto_int32 h7 = -f7;
33 crypto_int32 h8 = -f8;
34 crypto_int32 h9 = -f9;
35 h[0] = h0;
36 h[1] = h1;
37 h[2] = h2;
38 h[3] = h3;
39 h[4] = h4;
40 h[5] = h5;
41 h[6] = h6;
42 h[7] = h7;
43 h[8] = h8;
44 h[9] = h9;
45}
46