From 528331204486f6bc815bf37b04447c03052a596d Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Mon, 24 Feb 2014 12:24:10 -0600 Subject: [PATCH] adjust enumeration-based generator to make terms that are less likely to consume all available memory --- .../redex/examples/benchmark/rbtrees/rbtrees-1.rkt | 2 +- .../redex/examples/benchmark/rbtrees/rbtrees-2.rkt | 2 +- .../redex/examples/benchmark/rbtrees/rbtrees-3.rkt | 2 +- .../redex/examples/benchmark/rbtrees/rbtrees-base.rkt | 2 +- pkgs/redex-pkgs/redex-lib/redex/private/generate-term.rkt | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-1.rkt b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-1.rkt index bc56894d39..ab5c7f85eb 100644 --- a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-1.rkt +++ b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-1.rkt @@ -290,4 +290,4 @@ (ins-preserves-rb-tree t))) (define (generate-enum-term) - (generate-term rbtrees t #:i-th (pick-an-index))) + (generate-term rbtrees t #:i-th (pick-an-index 0.2))) diff --git a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-2.rkt b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-2.rkt index 9efe31f832..40f25671c5 100644 --- a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-2.rkt +++ b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-2.rkt @@ -288,4 +288,4 @@ (ins-preserves-rb-tree t))) (define (generate-enum-term) - (generate-term rbtrees t #:i-th (pick-an-index))) + (generate-term rbtrees t #:i-th (pick-an-index 0.2))) diff --git a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-3.rkt b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-3.rkt index ae26468d7e..3c319bbe53 100644 --- a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-3.rkt +++ b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-3.rkt @@ -290,4 +290,4 @@ (ins-preserves-rb-tree t))) (define (generate-enum-term) - (generate-term rbtrees t #:i-th (pick-an-index))) + (generate-term rbtrees t #:i-th (pick-an-index 0.2))) diff --git a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-base.rkt b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-base.rkt index 9cbbce763a..aaa4491840 100644 --- a/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-base.rkt +++ b/pkgs/redex-pkgs/redex-examples/redex/examples/benchmark/rbtrees/rbtrees-base.rkt @@ -290,4 +290,4 @@ (ins-preserves-rb-tree t))) (define (generate-enum-term) - (generate-term rbtrees t #:i-th (pick-an-index))) + (generate-term rbtrees t #:i-th (pick-an-index 0.2))) diff --git a/pkgs/redex-pkgs/redex-lib/redex/private/generate-term.rkt b/pkgs/redex-pkgs/redex-lib/redex/private/generate-term.rkt index 3787ef9fb0..4e10b6e22d 100644 --- a/pkgs/redex-pkgs/redex-lib/redex/private/generate-term.rkt +++ b/pkgs/redex-pkgs/redex-lib/redex/private/generate-term.rkt @@ -287,10 +287,10 @@ (values (enum-ith enum (random-natural the-size)) 'ignored))])) -(define (pick-an-index) - (max (random-natural/no-mean 0.01) - (random-natural/no-mean 0.01) - (random-natural/no-mean 0.01))) +(define (pick-an-index [prob-of-zero 0.01]) + (max (random-natural/no-mean prob-of-zero) + (random-natural/no-mean prob-of-zero) + (random-natural/no-mean prob-of-zero))) ;; (: random-natural/no-mean (-> Real Natural)) (define (random-natural/no-mean prob-zero)