core/Array.carp: fix minimum and maximum for non-primitive types

This commit is contained in:
Joel Kaasinen 2019-03-28 16:11:44 +02:00
parent e3b72d4179
commit 4cf918f71a
2 changed files with 10 additions and 2 deletions

View File

@ -116,7 +116,7 @@ Returns `Nothing` if the array is empty.")
(do
(for [i 1 n]
(let [x @(nth xs i)]
(if (< result x)
(if (< &result &x)
(set! result x)
())))
result)))
@ -129,7 +129,7 @@ Returns `Nothing` if the array is empty.")
(do
(for [i 1 n]
(let [x @(nth xs i)]
(if (> result x)
(if (> &result &x)
(set! result x)
())))
result)))

View File

@ -83,6 +83,14 @@
1
(minimum &(range 1 10 1))
"minimum works as expected")
(assert-equal test
&(Pair.init 2 1)
&(maximum &[(Pair.init 1 3) (Pair.init 2 1) (Pair.init 2 0)])
"maximum works on pairs")
(assert-equal test
&(Pair.init 1 3)
&(minimum &[(Pair.init 1 3) (Pair.init 2 1) (Pair.init 2 0)])
"minimum works on pairs")
(assert-equal test
55
(sum &(range 1 10 1))