mirror of
https://github.com/jedisct1/libsodium.git
synced 2024-12-20 02:25:14 -07:00
Reorder functions to help with inlining
This commit is contained in:
parent
b81f9cd436
commit
6872237df9
@ -257,71 +257,6 @@ void fe_frombytes(fe h,const unsigned char *s)
|
||||
h[9] = (crypto_int32) h9;
|
||||
}
|
||||
|
||||
void fe_invert(fe out,const fe z)
|
||||
{
|
||||
fe t0;
|
||||
fe t1;
|
||||
fe t2;
|
||||
fe t3;
|
||||
int i;
|
||||
|
||||
fe_sq(t0, z);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 2; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, z, t1);
|
||||
fe_mul(t0, t0, t1);
|
||||
fe_sq(t2, t0);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t1, t2);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 5; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t2, t2, t1);
|
||||
fe_sq(t3, t2);
|
||||
for (i = 1; i < 20; ++i) {
|
||||
fe_sq(t3, t3);
|
||||
}
|
||||
fe_mul(t2, t3, t2);
|
||||
fe_sq(t2, t2);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t2, t2, t1);
|
||||
fe_sq(t3, t2);
|
||||
for (i = 1; i < 100; ++i) {
|
||||
fe_sq(t3, t3);
|
||||
}
|
||||
fe_mul(t2, t3, t2);
|
||||
fe_sq(t2, t2);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t1, t1);
|
||||
for (i = 1; i < 5; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(out, t1, t0);
|
||||
}
|
||||
|
||||
/*
|
||||
return 1 if f is in {1,3,5,...,q-2}
|
||||
return 0 if f is in {0,2,4,...,q-1}
|
||||
@ -649,70 +584,6 @@ void fe_neg(fe h,const fe f)
|
||||
h[9] = h9;
|
||||
}
|
||||
|
||||
void fe_pow22523(fe out,const fe z)
|
||||
{
|
||||
fe t0;
|
||||
fe t1;
|
||||
fe t2;
|
||||
int i;
|
||||
|
||||
fe_sq(t0, z);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 2; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, z, t1);
|
||||
fe_mul(t0, t0, t1);
|
||||
fe_sq(t0, t0);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 5; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, t1, t0);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 20; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t1, t1);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, t1, t0);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 100; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t1, t1);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t0, t0);
|
||||
for (i = 1; i < 2; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_mul(out, t0, z);
|
||||
}
|
||||
|
||||
/*
|
||||
h = f * f
|
||||
Can overlap h with f.
|
||||
@ -1018,6 +889,135 @@ void fe_sq2(fe h,const fe f)
|
||||
h[9] = (crypto_int32) h9;
|
||||
}
|
||||
|
||||
void fe_invert(fe out,const fe z)
|
||||
{
|
||||
fe t0;
|
||||
fe t1;
|
||||
fe t2;
|
||||
fe t3;
|
||||
int i;
|
||||
|
||||
fe_sq(t0, z);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 2; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, z, t1);
|
||||
fe_mul(t0, t0, t1);
|
||||
fe_sq(t2, t0);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t1, t2);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 5; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t2, t2, t1);
|
||||
fe_sq(t3, t2);
|
||||
for (i = 1; i < 20; ++i) {
|
||||
fe_sq(t3, t3);
|
||||
}
|
||||
fe_mul(t2, t3, t2);
|
||||
fe_sq(t2, t2);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t2, t2, t1);
|
||||
fe_sq(t3, t2);
|
||||
for (i = 1; i < 100; ++i) {
|
||||
fe_sq(t3, t3);
|
||||
}
|
||||
fe_mul(t2, t3, t2);
|
||||
fe_sq(t2, t2);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t1, t1);
|
||||
for (i = 1; i < 5; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(out, t1, t0);
|
||||
}
|
||||
|
||||
void fe_pow22523(fe out,const fe z)
|
||||
{
|
||||
fe t0;
|
||||
fe t1;
|
||||
fe t2;
|
||||
int i;
|
||||
|
||||
fe_sq(t0, z);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 2; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, z, t1);
|
||||
fe_mul(t0, t0, t1);
|
||||
fe_sq(t0, t0);
|
||||
for (i = 1; i < 1; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 5; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, t1, t0);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 20; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t1, t1);
|
||||
for (i = 1; i < 10; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t1, t0);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t1, t1, t0);
|
||||
fe_sq(t2, t1);
|
||||
for (i = 1; i < 100; ++i) {
|
||||
fe_sq(t2, t2);
|
||||
}
|
||||
fe_mul(t1, t2, t1);
|
||||
fe_sq(t1, t1);
|
||||
for (i = 1; i < 50; ++i) {
|
||||
fe_sq(t1, t1);
|
||||
}
|
||||
fe_mul(t0, t1, t0);
|
||||
fe_sq(t0, t0);
|
||||
for (i = 1; i < 2; ++i) {
|
||||
fe_sq(t0, t0);
|
||||
}
|
||||
fe_mul(out, t0, z);
|
||||
}
|
||||
|
||||
/*
|
||||
h = f - g
|
||||
Can overlap h with f or g.
|
||||
|
Loading…
Reference in New Issue
Block a user