use euclidean division to match the rust implementation (the difference is negligible as it would make you lose 1 block every 10^16 blocks that you should have win

This commit is contained in:
thomaslavaur 2025-09-02 10:33:02 +02:00
parent 748009d0a0
commit 3f12e9c279
2 changed files with 4 additions and 4 deletions

View File

@ -242,8 +242,8 @@ total_stake = F(5000)
t0_constant = F(0x27b6fe27507ca57ca369280400c79b5d2f58ff94d87cb0fbfc8294eb69eb1ea)
t1_constant = F(0x104bfd09ebdd0a57772289d0973489b62662a4dc6f09da8b4af3c5cfb1dcdd)
t0 = F(int(t0_constant) / total_stake)
t1 = F(p- (int(t1_constant) / total_stake**2))
t0 = F(int(t0_constant) // total_stake)
t1 = F(p- (int(t1_constant) // total_stake**2))
value = F(total_stake / 100)
threshold = (t0 + t1 * value) * value

View File

@ -222,8 +222,8 @@ if total_stake >= p:
t0_constant = F(0x27b6fe27507ca57ca369280400c79b5d2f58ff94d87cb0fbfc8294eb69eb1ea)
t1_constant = F(0x104bfd09ebdd0a57772289d0973489b62662a4dc6f09da8b4af3c5cfb1dcdd)
t0 = F(int(t0_constant) / total_stake)
t1 = F(p- (int(t1_constant) / total_stake**2))
t0 = F(int(t0_constant) // total_stake)
t1 = F(p- (int(t1_constant) // total_stake**2))
value = F(total_stake / 100)