mirror of
https://github.com/cathugger/mkp224o.git
synced 2025-05-25 11:22:22 +00:00
ref10: batch invert maybe
This commit is contained in:
parent
f89c2d778c
commit
5bb3d0f821
3 changed files with 32 additions and 3 deletions
26
ed25519/ref10/fe_batchinvert.c
Normal file
26
ed25519/ref10/fe_batchinvert.c
Normal file
|
@ -0,0 +1,26 @@
|
|||
#include "fe.h"
|
||||
|
||||
// tmp MUST != out
|
||||
// in MAY == out
|
||||
void fe_batchinvert(fe out[],fe tmp[],const fe in[], size_t num)
|
||||
{
|
||||
fe acc;
|
||||
fe tmpacc;
|
||||
size_t i;
|
||||
|
||||
fe_1(acc);
|
||||
|
||||
for (i = 0;i < num;++i) {
|
||||
fe_copy(tmp[i],acc);
|
||||
fe_mul(acc,acc,in[i]);
|
||||
}
|
||||
|
||||
fe_invert(acc,acc);
|
||||
|
||||
i = num;
|
||||
while (i--) {
|
||||
fe_mul(tmpacc,acc,in[i]);
|
||||
fe_mul(out[i],acc,tmp[i]);
|
||||
fe_copy(acc,tmpacc);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue