Skip to content

Commit 087755d

Browse files
committed
f handle zero half life
1 parent b22837d commit 087755d

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

lightning/src/routing/scoring.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1503,14 +1503,16 @@ impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, T: Time> ScoreUpdate for Prob
15031503
T::now().duration_since(liquidity.offset_history_last_updated);
15041504
if elapsed_time > decay_params.historical_no_updates_half_life {
15051505
let half_life = decay_params.historical_no_updates_half_life.as_secs_f64();
1506-
let divisor = powf64(2048.0, elapsed_time.as_secs_f64() / half_life) as u64;
1507-
for bucket in liquidity.min_liquidity_offset_history.buckets.iter_mut() {
1508-
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1509-
}
1510-
for bucket in liquidity.max_liquidity_offset_history.buckets.iter_mut() {
1511-
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1506+
if half_life != 0.0 {
1507+
let divisor = powf64(2048.0, elapsed_time.as_secs_f64() / half_life) as u64;
1508+
for bucket in liquidity.min_liquidity_offset_history.buckets.iter_mut() {
1509+
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1510+
}
1511+
for bucket in liquidity.max_liquidity_offset_history.buckets.iter_mut() {
1512+
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1513+
}
1514+
liquidity.offset_history_last_updated = T::now();
15121515
}
1513-
liquidity.offset_history_last_updated = T::now();
15141516
}
15151517
liquidity.min_liquidity_offset_msat != 0 || liquidity.max_liquidity_offset_msat != 0 ||
15161518
liquidity.min_liquidity_offset_history.buckets != [0; 32] ||

0 commit comments

Comments
 (0)