math.big: fix comparison and add tests (#11449)
parent
4a2728e1bf
commit
96d4a0777f
|
@ -149,6 +149,24 @@ fn test_divmod() {
|
||||||
assert h.str() == '2900204736088469'
|
assert h.str() == '2900204736088469'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_comparison() {
|
||||||
|
values := [-3, 13, 52, 6, 41]
|
||||||
|
for value in values {
|
||||||
|
x := big.integer_from_int(value)
|
||||||
|
assert x == x
|
||||||
|
assert x <= x
|
||||||
|
assert x >= x
|
||||||
|
}
|
||||||
|
|
||||||
|
a := big.integer_from_int(-45)
|
||||||
|
b := big.integer_from_int(35)
|
||||||
|
|
||||||
|
assert a < b
|
||||||
|
assert a <= b
|
||||||
|
assert b > a
|
||||||
|
assert b >= a
|
||||||
|
}
|
||||||
|
|
||||||
fn test_conversion() {
|
fn test_conversion() {
|
||||||
ten := big.integer_from_int(10)
|
ten := big.integer_from_int(10)
|
||||||
|
|
||||||
|
|
|
@ -454,7 +454,7 @@ pub fn (a Integer) < (b Integer) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
// If they are negative, the one with the larger absolute value is smaller
|
// If they are negative, the one with the larger absolute value is smaller
|
||||||
cmp := a.abs_cmp()
|
cmp := a.abs_cmp(b)
|
||||||
return if signum < 0 { cmp > 0 } else { cmp < 0 }
|
return if signum < 0 { cmp > 0 } else { cmp < 0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue