[consensus] change PID output to clipped values

This commit is contained in:
mohab metwally
2022-11-27 00:41:16 +02:00
parent c6594676e2
commit bc267003e5
2 changed files with 7 additions and 6 deletions

View File

@@ -44,6 +44,8 @@ lazy_static! {
// Consensus parameters
pub static ref TI: Float10 = FLOAT10_ONE.clone() / FLOAT10_TEN.clone();
pub static ref TD: Float10 = FLOAT10_ONE.clone() / FLOAT10_TEN.clone();
pub static ref PID_OUT_STEP: Float10 = Float10::from_str_native("0.1").unwrap().with_precision(RADIX_BITS).value();
}
/// Block version number
@@ -69,6 +71,7 @@ pub const LEADER_PROOF_K: u32 = 13;
// TODO: Describe these constants
pub const RADIX_BITS: usize = 76;
pub const P: &str = "28948022309329048855892746252171976963363056481941560715954676764349967630337";
pub const LOTTERY_HEAD_START: u64 = 1;
pub const PRF_NULLIFIER_PREFIX: u64 = 0;

View File

@@ -617,12 +617,10 @@ impl ValidatorState {
constants::TD.clone() * d.clone());
while f <= zero.clone() || f >= one.clone() {
let mut clipped_f = f;
while clipped_f <= zero.clone() || clipped_f >= one.clone() {
if clipped_f >= one.clone() {
clipped_f -= one.clone();
} else if clipped_f <= zero.clone() {
clipped_f += one.clone();
}
if clipped_f >=one {
clipped_f = one - constants::PID_OUT_STEP;
} else if clipped_f<=zero {
clipped_f = zero + constants::PID_OUT_STEP;
}
let clipped_kp = clipped_f /
(p.clone() +