math.digits: add a convenience reverse parameter too
parent
96ee0efc12
commit
9f22fbafee
|
|
@ -44,7 +44,8 @@ pub fn degrees(radians f64) f64 {
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
pub struct DigitParams {
|
pub struct DigitParams {
|
||||||
base int = 10
|
base int = 10
|
||||||
|
reverse bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// digits returns an array of the digits of n in the given base b.
|
// digits returns an array of the digits of n in the given base b.
|
||||||
|
|
@ -74,6 +75,10 @@ pub fn digits(num i64, params DigitParams) []int {
|
||||||
n /= b
|
n /= b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if params.reverse {
|
||||||
|
res = res.reverse()
|
||||||
|
}
|
||||||
|
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -914,9 +914,11 @@ fn test_lcm() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test_digits() {
|
fn test_digits() {
|
||||||
palindrom_digits_in_10th_base := digits(i64(1234432112344321)).reverse()
|
palindrom_digits_in_10th_base := digits(i64(1234432112344321))
|
||||||
assert palindrom_digits_in_10th_base == [1, 2, 3, 4, 4, 3, 2, 1, 1, 2, 3, 4, 4, 3, 2, 1]
|
assert palindrom_digits_in_10th_base == [1, 2, 3, 4, 4, 3, 2, 1, 1, 2, 3, 4, 4, 3, 2, 1]
|
||||||
|
|
||||||
|
assert digits(125, base: 10, reverse: true) == [1, 2, 5]
|
||||||
|
|
||||||
digits_in_10th_base := digits(125, base: 10).reverse()
|
digits_in_10th_base := digits(125, base: 10).reverse()
|
||||||
assert digits_in_10th_base == [1, 2, 5]
|
assert digits_in_10th_base == [1, 2, 5]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue