|
|
|
@ -185,7 +185,6 @@
|
|
|
|
|
(procedure? (non-empty-listof any/c) . -> . any/c)
|
|
|
|
|
(let* ([xs (sort xs < #:key proc)]
|
|
|
|
|
[xs (takef xs (λ (x) (= (proc (car xs)) (proc x))))]
|
|
|
|
|
;; don't shuffle short lists, not worth it
|
|
|
|
|
[xs ((if (current-shuffle) shuffle values) xs)])
|
|
|
|
|
(first xs)))
|
|
|
|
|
|
|
|
|
@ -197,7 +196,6 @@
|
|
|
|
|
|
|
|
|
|
(define mrv minimum-remaining-values)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define/contract (var-degree csp var)
|
|
|
|
|
(csp? $var? . -> . exact-nonnegative-integer?)
|
|
|
|
|
(for/sum ([constraint (in-constraints csp)]
|
|
|
|
|