Skip to content

Commit 0cb7e77

Browse files
committed
f handle zero half life
1 parent 161d46f commit 0cb7e77

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
@@ -1509,14 +1509,16 @@ impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, T: Time> ScoreUpdate for Prob
15091509
T::now().duration_since(liquidity.offset_history_last_updated);
15101510
if elapsed_time > decay_params.historical_no_updates_half_life {
15111511
let half_life = decay_params.historical_no_updates_half_life.as_secs_f64();
1512-
let divisor = powf64(2048.0, elapsed_time.as_secs_f64() / half_life) as u64;
1513-
for bucket in liquidity.min_liquidity_offset_history.buckets.iter_mut() {
1514-
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1515-
}
1516-
for bucket in liquidity.max_liquidity_offset_history.buckets.iter_mut() {
1517-
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1512+
if half_life != 0.0 {
1513+
let divisor = powf64(2048.0, elapsed_time.as_secs_f64() / half_life) as u64;
1514+
for bucket in liquidity.min_liquidity_offset_history.buckets.iter_mut() {
1515+
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1516+
}
1517+
for bucket in liquidity.max_liquidity_offset_history.buckets.iter_mut() {
1518+
*bucket = ((*bucket as u64) * 1024 / divisor) as u16;
1519+
}
1520+
liquidity.offset_history_last_updated = T::now();
15181521
}
1519-
liquidity.offset_history_last_updated = T::now();
15201522
}
15211523
liquidity.min_liquidity_offset_msat != 0 || liquidity.max_liquidity_offset_msat != 0 ||
15221524
liquidity.min_liquidity_offset_history.buckets != [0; 32] ||

0 commit comments

Comments
 (0)