Implement iter::Sum for FeeRate
The `FeeRate` implements `ops::Add`, no reason not to enable summing an iterator of fee rates.
This commit is contained in:
parent
3a73a480c8
commit
31f883ac00
|
@ -267,6 +267,24 @@ impl SubAssign<&FeeRate> for FeeRate {
|
||||||
fn sub_assign(&mut self, rhs: &FeeRate) { self.0 -= rhs.0 }
|
fn sub_assign(&mut self, rhs: &FeeRate) { self.0 -= rhs.0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl core::iter::Sum for FeeRate {
|
||||||
|
fn sum<I>(iter: I) -> Self
|
||||||
|
where
|
||||||
|
I: Iterator<Item = Self>,
|
||||||
|
{
|
||||||
|
FeeRate::from_sat_per_kwu(iter.map(FeeRate::to_sat_per_kwu).sum())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> core::iter::Sum<&'a FeeRate> for FeeRate {
|
||||||
|
fn sum<I>(iter: I) -> Self
|
||||||
|
where
|
||||||
|
I: Iterator<Item = &'a FeeRate>,
|
||||||
|
{
|
||||||
|
FeeRate::from_sat_per_kwu(iter.map(|f| FeeRate::to_sat_per_kwu(*f)).sum())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
crate::impl_parse_str_from_int_infallible!(FeeRate, u64, from_sat_per_kwu);
|
crate::impl_parse_str_from_int_infallible!(FeeRate, u64, from_sat_per_kwu);
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
Loading…
Reference in New Issue