aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/complexity
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-03-27 15:57:02 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-03-27 15:57:02 +0000
commitbe76b6af359ea61bc71e59efb4802ff01cce728c (patch)
tree22e894bedaac5f5d8fc29c498042e2ff9bf7767c /test-suite/complexity
parenteab11e537905472fdcc3257bc9913df82c82b3e4 (diff)
Fixing bug #2279 (printing nested let-in was in exponential time)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12887 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'test-suite/complexity')
-rw-r--r--test-suite/complexity/lettuple.v29
-rw-r--r--test-suite/complexity/ring2.v2
2 files changed, 30 insertions, 1 deletions
diff --git a/test-suite/complexity/lettuple.v b/test-suite/complexity/lettuple.v
new file mode 100644
index 000000000..f97decf0a
--- /dev/null
+++ b/test-suite/complexity/lettuple.v
@@ -0,0 +1,29 @@
+(* This example checks if printing nested let-in's stays in linear time *)
+(* Expected time < 1.00s *)
+
+Definition f (x : nat * nat) :=
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ let (a,b) := x in
+ 0.
+
+Timeout 5 Print f.
diff --git a/test-suite/complexity/ring2.v b/test-suite/complexity/ring2.v
index af678a2e1..ab57afdbb 100644
--- a/test-suite/complexity/ring2.v
+++ b/test-suite/complexity/ring2.v
@@ -1,4 +1,4 @@
-(* This example, checks the efficiency of the abstract machine used by ring *)
+(* This example checks the efficiency of the abstract machine used by ring *)
(* Expected time < 1.00s *)
Require Import BinInt Zbool.