diff options
-rw-r--r-- | impl/test/1.eqns | 3 | ||||
-rw-r--r-- | impl/test/1.soln | 3 | ||||
-rw-r--r-- | impl/test/2.eqns | 2 | ||||
-rw-r--r-- | impl/test/2.soln | 2 | ||||
-rw-r--r-- | impl/test/3.eqns | 1 | ||||
-rw-r--r-- | impl/test/3.soln | 1 | ||||
-rw-r--r-- | impl/test/4.eqns | 3 | ||||
-rw-r--r-- | impl/test/4.soln | 3 | ||||
-rw-r--r-- | impl/test/5.eqns | 2 | ||||
-rw-r--r-- | impl/test/5.soln | 2 | ||||
-rw-r--r-- | impl/test/6.eqns | 2 | ||||
-rw-r--r-- | impl/test/6.soln | 2 | ||||
-rw-r--r-- | impl/test/run | 16 |
13 files changed, 42 insertions, 0 deletions
diff --git a/impl/test/1.eqns b/impl/test/1.eqns new file mode 100644 index 0000000..0cdfd24 --- /dev/null +++ b/impl/test/1.eqns @@ -0,0 +1,3 @@ +x = max(0, min(-1 + x, y)) +y = max(0, 5 + x, x) +z = max(0, 1 + z, 0 + x) diff --git a/impl/test/1.soln b/impl/test/1.soln new file mode 100644 index 0000000..533dfeb --- /dev/null +++ b/impl/test/1.soln @@ -0,0 +1,3 @@ +x = 0 +y = 5 +z = inf diff --git a/impl/test/2.eqns b/impl/test/2.eqns new file mode 100644 index 0000000..a5beaaf --- /dev/null +++ b/impl/test/2.eqns @@ -0,0 +1,2 @@ +x = min(max(y, x + 1), 100) +y = 0 diff --git a/impl/test/2.soln b/impl/test/2.soln new file mode 100644 index 0000000..8f0f836 --- /dev/null +++ b/impl/test/2.soln @@ -0,0 +1,2 @@ +x = 100 +y = 0 diff --git a/impl/test/3.eqns b/impl/test/3.eqns new file mode 100644 index 0000000..f11eb6c --- /dev/null +++ b/impl/test/3.eqns @@ -0,0 +1 @@ +x = max(1, x + 1) diff --git a/impl/test/3.soln b/impl/test/3.soln new file mode 100644 index 0000000..90631c1 --- /dev/null +++ b/impl/test/3.soln @@ -0,0 +1 @@ +x = inf diff --git a/impl/test/4.eqns b/impl/test/4.eqns new file mode 100644 index 0000000..cd6045c --- /dev/null +++ b/impl/test/4.eqns @@ -0,0 +1,3 @@ +x = 1 +y = max(y + x, -10) +z = x * y diff --git a/impl/test/4.soln b/impl/test/4.soln new file mode 100644 index 0000000..c867646 --- /dev/null +++ b/impl/test/4.soln @@ -0,0 +1,3 @@ +x = 1 +y = inf +z = inf diff --git a/impl/test/5.eqns b/impl/test/5.eqns new file mode 100644 index 0000000..af544cc --- /dev/null +++ b/impl/test/5.eqns @@ -0,0 +1,2 @@ +x = max(0, x + y - 4) +y = max(-10, min(max(x + 1, 2 * y), 5)) diff --git a/impl/test/5.soln b/impl/test/5.soln new file mode 100644 index 0000000..bed531c --- /dev/null +++ b/impl/test/5.soln @@ -0,0 +1,2 @@ +x = inf +y = 5 diff --git a/impl/test/6.eqns b/impl/test/6.eqns new file mode 100644 index 0000000..d8a508b --- /dev/null +++ b/impl/test/6.eqns @@ -0,0 +1,2 @@ +x = max(0, x + y) +y = x;1 diff --git a/impl/test/6.soln b/impl/test/6.soln new file mode 100644 index 0000000..39162e5 --- /dev/null +++ b/impl/test/6.soln @@ -0,0 +1,2 @@ +x = inf +y = 1 diff --git a/impl/test/run b/impl/test/run new file mode 100644 index 0000000..d238962 --- /dev/null +++ b/impl/test/run @@ -0,0 +1,16 @@ +#!/bin/bash + +NUM=1 + +while [ -f "$NUM.eqns" ] +do + OUTPUT=$($1 "$NUM.eqns" smart smart) + DIFF=$(echo "$OUTPUT" | diff - "$NUM.soln") + if [ ! -z "$DIFF" ]; then + echo "==================" + echo "Test #$NUM failed:" + echo "$OUTPUT" | sdiff - "$NUM.soln" + echo + fi + NUM=$(($NUM + 1)) +done |