From dba99d40c7d62adf3e8a13b6386fab540f49cd3a Mon Sep 17 00:00:00 2001 From: Alexander Pann Date: Tue, 30 Jul 2024 14:09:15 +0200 Subject: [PATCH] expr.base: rewrite NCopies rule to avoid freezes for large numbers --- .../models/typesystem.mps | 196 ++++++------ .../models/test.in.expr.os.tuples@tests.mps | 292 +++++++++++++++++- 2 files changed, 399 insertions(+), 89 deletions(-) diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.core.expr.base/models/typesystem.mps b/code/languages/org.iets3.opensource/languages/org.iets3.core.expr.base/models/typesystem.mps index 0a2f915e8..02e467fc6 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.core.expr.base/models/typesystem.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.core.expr.base/models/typesystem.mps @@ -10652,31 +10652,32 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + - - + + + + + + - - + + + + + + + @@ -10791,50 +10792,49 @@ - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + - - - - - - + + + + + + + + - - - + + + + + + + + + + + + + + + + @@ -10861,22 +10861,39 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10884,6 +10901,11 @@ + + + + + @@ -10904,36 +10926,36 @@ - - - + + + + + + + - - + + - - - - - - - - - - - + + + - - + + + + + + diff --git a/code/languages/org.iets3.opensource/tests/test.in.expr.os/models/test.in.expr.os.tuples@tests.mps b/code/languages/org.iets3.opensource/tests/test.in.expr.os/models/test.in.expr.os.tuples@tests.mps index cdbd948d9..d08e38df7 100644 --- a/code/languages/org.iets3.opensource/tests/test.in.expr.os/models/test.in.expr.os.tuples@tests.mps +++ b/code/languages/org.iets3.opensource/tests/test.in.expr.os/models/test.in.expr.os.tuples@tests.mps @@ -228,8 +228,8 @@ - - + + @@ -266,6 +266,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +