mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 19:17:58 +00:00
FixedPointNumber: zero is not positive. (#6385)
This commit is contained in:
@@ -214,12 +214,12 @@ pub trait FixedPointNumber:
|
||||
self.into_inner() == Self::Inner::one()
|
||||
}
|
||||
|
||||
/// Checks if the number is positive.
|
||||
/// Returns `true` if `self` is positive and `false` if the number is zero or negative.
|
||||
fn is_positive(self) -> bool {
|
||||
self.into_inner() >= Self::Inner::zero()
|
||||
self.into_inner() > Self::Inner::zero()
|
||||
}
|
||||
|
||||
/// Checks if the number is negative.
|
||||
/// Returns `true` if `self` is negative and `false` if the number is zero or positive.
|
||||
fn is_negative(self) -> bool {
|
||||
self.into_inner() < Self::Inner::zero()
|
||||
}
|
||||
@@ -1393,6 +1393,23 @@ macro_rules! implement_fixed {
|
||||
assert_eq!(d.checked_div(&$name::zero()), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn is_positive_negative_works() {
|
||||
let one = $name::one();
|
||||
assert!(one.is_positive());
|
||||
assert!(!one.is_negative());
|
||||
|
||||
let zero = $name::zero();
|
||||
assert!(!zero.is_positive());
|
||||
assert!(!zero.is_negative());
|
||||
|
||||
if $signed {
|
||||
let minus_one = $name::saturating_from_integer(-1);
|
||||
assert!(minus_one.is_negative());
|
||||
assert!(!minus_one.is_positive());
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn trunc_works() {
|
||||
let n = $name::saturating_from_rational(5, 2).trunc();
|
||||
|
||||
Reference in New Issue
Block a user