mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
[consensus] change PID output to clipped values
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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() +
|
||||
|
||||
Reference in New Issue
Block a user