|
|
@@ -959,33 +959,26 @@ mod tests {
|
|
|
#[test]
|
|
|
fn calc_sigmas_test() {
|
|
|
let giga_epsilon =
|
|
|
- Float10::try_from("10000000000000000000000000000000000000000000000000000000000")
|
|
|
+ Float10::try_from("1000000000000000000000000000000000000000000000000000000000000000000000000")
|
|
|
.unwrap();
|
|
|
let giga_epsilon_base = fbig2base(giga_epsilon);
|
|
|
- let f = Float10::try_from("0.5").unwrap();
|
|
|
- let total_stake = Float10::try_from("1000").unwrap();
|
|
|
+ let f = Float10::try_from("0.01").unwrap();
|
|
|
+ let total_stake = Float10::try_from("100").unwrap();
|
|
|
let (sigma1, sigma2) = ConsensusState::calc_sigmas(f, total_stake);
|
|
|
let sigma1_rhs = Float10::try_from(
|
|
|
- "20065240046497827749443820209808913616958821867408735207193448041041362944",
|
|
|
+ "2909373465034095801035568917399197865646520818579502832252119592405565440",
|
|
|
)
|
|
|
.unwrap();
|
|
|
let sigma1_rhs_base = fbig2base(sigma1_rhs);
|
|
|
let sigma2_rhs = Float10::try_from(
|
|
|
- "6954082282744237239883318512759812991231744634473746668074299461468160",
|
|
|
+ "9137556389643100714432609642916129738741963230846798778430644027392",
|
|
|
)
|
|
|
.unwrap();
|
|
|
let sigma2_rhs_base = fbig2base(sigma2_rhs);
|
|
|
- let sigma1_delta = if sigma1_rhs_base > sigma1 {
|
|
|
- sigma1_rhs_base - sigma1
|
|
|
- } else {
|
|
|
- sigma1 - sigma1_rhs_base
|
|
|
- };
|
|
|
- let sigma2_delta = if sigma2_rhs_base > sigma2 {
|
|
|
- sigma2_rhs_base - sigma2
|
|
|
- } else {
|
|
|
- sigma2 - sigma2_rhs_base
|
|
|
- };
|
|
|
- //note! test cases were generated by low precision scripts.
|
|
|
+ let sigma1_delta = sigma1_rhs_base - sigma1;
|
|
|
+ let sigma2_delta = sigma2_rhs_base - sigma2;
|
|
|
+ //note! test cases were generated by low precision python scripts.
|
|
|
+ //https://github.com/ertosns/lotterysim/blob/master/pallas_unittests.csv
|
|
|
assert!(sigma1_delta < giga_epsilon_base);
|
|
|
assert!(sigma2_delta < giga_epsilon_base);
|
|
|
}
|