aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDusan Klinec <dusan.klinec@gmail.com>2022-04-26 13:37:11 +0200
committerDusan Klinec <dusan.klinec@gmail.com>2022-04-26 13:37:11 +0200
commit4f08bcd80059339d14adf199d07c040a42fb4761 (patch)
treeebe62a4adaa612204ea179304288dfd938b50879 /src
parentMerge pull request #8275 (diff)
downloadmonero-4f08bcd80059339d14adf199d07c040a42fb4761.tar.xz
refactor(bp+): save one inversion, use sc_muladd
Diffstat (limited to 'src')
-rw-r--r--src/ringct/bulletproofs_plus.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ringct/bulletproofs_plus.cc b/src/ringct/bulletproofs_plus.cc
index 3d27849c1..231a88180 100644
--- a/src/ringct/bulletproofs_plus.cc
+++ b/src/ringct/bulletproofs_plus.cc
@@ -644,8 +644,7 @@ try_again:
{
sc_mul(temp.bytes, temp.bytes, z_squared.bytes);
sc_mul(temp2.bytes, y_powers[MN+1].bytes, temp.bytes);
- sc_mul(temp2.bytes, temp2.bytes, gamma[j].bytes);
- sc_add(alpha1.bytes, alpha1.bytes, temp2.bytes);
+ sc_muladd(alpha1.bytes, temp2.bytes, gamma[j].bytes, alpha1.bytes);
}
// These are used in the inner product rounds
@@ -706,7 +705,8 @@ try_again:
rct::key challenge_squared;
sc_mul(challenge_squared.bytes, challenge.bytes, challenge.bytes);
- rct::key challenge_squared_inv = invert(challenge_squared);
+ rct::key challenge_squared_inv;
+ sc_mul(challenge_squared_inv.bytes, challenge_inv.bytes, challenge_inv.bytes);
sc_muladd(alpha1.bytes, dL.bytes, challenge_squared.bytes, alpha1.bytes);
sc_muladd(alpha1.bytes, dR.bytes, challenge_squared_inv.bytes, alpha1.bytes);