From 6a31cc882f6e65bb0f34474e68a6716116164c46 Mon Sep 17 00:00:00 2001 From: Max New Date: Fri, 10 Oct 2014 13:09:20 -0400 Subject: [PATCH] Git rid of internal contracts in enumerator for speed --- .../redex-lib/redex/private/enumerator.rkt | 28 ++++--------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/pkgs/redex-pkgs/redex-lib/redex/private/enumerator.rkt b/pkgs/redex-pkgs/redex-lib/redex/private/enumerator.rkt index 48e6146c8c..07da877ab7 100644 --- a/pkgs/redex-pkgs/redex-lib/redex/private/enumerator.rkt +++ b/pkgs/redex-pkgs/redex-lib/redex/private/enumerator.rkt @@ -294,8 +294,7 @@ ) #:transparent) -(define/contract (mk-fin-layers es) - ((listof enum?) . -> . (listof fin-layer?)) +(define (mk-fin-layers es) (define (loop eis prev) (define non-emptys (filter (negate (compose empty/e? car)) eis)) (match non-emptys @@ -321,13 +320,9 @@ (loop eis (fin-layer 0 eis))) ;; layers : Listof Enum -> Listof Upper-Bound -(define/contract (disj-sum-layers es) - ((listof enum?) . -> . (vectorof upper-bound?)) +(define (disj-sum-layers es) (define fin-layers (mk-fin-layers es)) - (define/contract (loop fin-layers prev) - (-> (listof fin-layer?) - upper-bound? - (listof upper-bound?)) + (define (loop fin-layers prev) (match fin-layers ['() '()] [(cons (fin-layer cur-bound eis) rest-fin-layers) @@ -358,10 +353,7 @@ (for/list [(i (in-naturals)) (e (in-list es))] (cons e i))) - (define/contract (loop fin-layers prev-layer) - (-> (listof fin-layer?) - list-layer? - (listof list-layer?)) + (define (loop fin-layers prev-layer) (match fin-layers ['() '()] [(cons (fin-layer cur-bound vec-cur-inexhausteds) rest-fins) @@ -436,12 +428,7 @@ cur (find-e-index cur e-i))) -(define/contract (find-layer-by-size i get-size zeroth ls) - (-> (or/c infinite? exact-nonnegative-integer?) - (any/c . -> . (or/c infinite? exact-nonnegative-integer?)) - any/c - (vectorof any/c) - (values any/c any/c)) +(define (find-layer-by-size i get-size zeroth ls) ;; Find the lowest indexed elt that is still greater than i (define (loop lo hi) (define mid (quotient (lo . + . hi) 2)) @@ -1167,10 +1154,7 @@ dec enc)])])) -(define/contract (inf-slots infs fins) - (-> (listof number?) - (listof number?) - any/c) +(define (inf-slots infs fins) (define sorted-infs (sort infs <)) (define sorted-fins (sort fins <)) (reverse