diff --git a/bench/heldout/assign_4.in b/bench/heldout/assign_4.in new file mode 100644 index 0000000..cf75b82 --- /dev/null +++ b/bench/heldout/assign_4.in @@ -0,0 +1,12 @@ +16 +8 +1 8 17 5 2 14 5 17 7 7 20 2 18 20 13 2 +1 1 1 1 1 1 1 1 +1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 +1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 +0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 +0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 +0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 diff --git a/bench/heldout/assign_5.in b/bench/heldout/assign_5.in new file mode 100644 index 0000000..1f6d5f1 --- /dev/null +++ b/bench/heldout/assign_5.in @@ -0,0 +1,14 @@ +25 +10 +12 14 12 7 6 6 5 18 5 20 13 5 8 10 4 13 17 9 20 17 7 7 10 2 10 +1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 +1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 +0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 +0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 +0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 +0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 diff --git a/bench/heldout/assign_6.in b/bench/heldout/assign_6.in new file mode 100644 index 0000000..86eaf7f --- /dev/null +++ b/bench/heldout/assign_6.in @@ -0,0 +1,16 @@ +36 +12 +12 5 20 17 14 14 6 7 10 6 9 20 18 15 10 16 3 9 4 10 19 7 4 4 2 2 20 17 10 8 7 19 17 14 16 2 +1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 +1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 +0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 +0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 +0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 +0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 +0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 diff --git a/bench/heldout/assign_7.in b/bench/heldout/assign_7.in new file mode 100644 index 0000000..c7595ab --- /dev/null +++ b/bench/heldout/assign_7.in @@ -0,0 +1,18 @@ +49 +14 +13 16 15 5 7 3 6 5 13 17 14 12 5 9 19 4 15 5 11 15 15 17 5 2 12 14 16 3 19 16 1 7 12 16 19 1 7 2 20 6 4 14 10 11 8 8 9 9 7 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 +1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 diff --git a/bench/heldout/degen_10.in b/bench/heldout/degen_10.in new file mode 100644 index 0000000..e2b3bd8 --- /dev/null +++ b/bench/heldout/degen_10.in @@ -0,0 +1,24 @@ +10 +20 +8 1 3 8 7 3 5 8 8 6 +3 5 1 3 2 4 5 4 4 2 0 0 0 0 0 0 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 0 +0 0 0 0 0 1 0 0 0 0 +0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 0 1 +0 0 0 -1 1 1 -1 0 0 1 +0 1 0 1 -1 0 -1 0 0 -1 +-1 1 -1 -1 1 -1 1 0 1 0 +1 1 0 -1 -1 1 0 -1 0 0 +-1 -1 1 -1 0 0 1 0 -1 -1 +1 1 -1 0 -1 1 1 -1 0 1 +1 -1 0 -1 0 -1 -1 -1 0 -1 +0 1 -1 1 1 -1 -1 1 0 -1 +1 0 -1 0 0 -1 -1 -1 0 1 +1 -1 -1 0 -1 1 -1 -1 -1 0 diff --git a/bench/heldout/degen_14.in b/bench/heldout/degen_14.in new file mode 100644 index 0000000..db25f1a --- /dev/null +++ b/bench/heldout/degen_14.in @@ -0,0 +1,32 @@ +14 +28 +1 9 1 6 1 5 8 5 4 1 2 3 1 4 +5 2 5 4 3 5 2 4 4 2 2 2 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 +-1 -1 0 0 1 -1 0 1 -1 -1 0 1 -1 -1 +0 0 1 0 0 0 0 0 1 1 -1 0 1 1 +-1 0 -1 1 -1 1 -1 1 1 0 -1 1 0 1 +1 0 0 0 1 0 -1 0 -1 -1 0 0 -1 -1 +0 0 -1 -1 -1 1 -1 1 -1 0 1 1 0 1 +-1 0 -1 1 1 -1 1 0 -1 -1 1 -1 0 -1 +0 1 1 1 1 -1 1 0 1 0 1 1 -1 1 +1 0 -1 1 0 1 -1 0 0 0 1 0 -1 1 +-1 -1 0 -1 -1 1 -1 0 0 1 0 1 -1 0 +0 0 -1 -1 -1 -1 0 -1 1 0 1 -1 -1 -1 +1 1 1 -1 0 1 0 0 0 1 1 1 -1 1 +-1 1 1 0 -1 0 0 1 -1 -1 0 1 0 1 +1 -1 0 -1 -1 1 -1 0 -1 0 -1 0 -1 1 +1 0 1 1 1 0 1 -1 0 0 0 -1 -1 1 diff --git a/bench/heldout/degen_6.in b/bench/heldout/degen_6.in new file mode 100644 index 0000000..9ca4607 --- /dev/null +++ b/bench/heldout/degen_6.in @@ -0,0 +1,16 @@ +6 +12 +3 9 6 6 4 7 +4 5 5 1 4 2 0 0 0 0 0 0 +1 0 0 0 0 0 +0 1 0 0 0 0 +0 0 1 0 0 0 +0 0 0 1 0 0 +0 0 0 0 1 0 +0 0 0 0 0 1 +1 1 -1 0 0 -1 +-1 -1 -1 0 0 1 +-1 -1 1 -1 1 1 +1 1 0 0 -1 1 +0 0 0 0 0 1 +1 -1 -1 0 0 0 diff --git a/bench/heldout/kleeminty_4.in b/bench/heldout/kleeminty_4.in new file mode 100644 index 0000000..a760ac5 --- /dev/null +++ b/bench/heldout/kleeminty_4.in @@ -0,0 +1,8 @@ +4 +4 +1000 100 10 1 +1 100 10000 1000000 +1 0 0 0 +20 1 0 0 +200 20 1 0 +2000 200 20 1 diff --git a/bench/heldout/kleeminty_5.in b/bench/heldout/kleeminty_5.in new file mode 100644 index 0000000..511bc23 --- /dev/null +++ b/bench/heldout/kleeminty_5.in @@ -0,0 +1,9 @@ +5 +5 +10000 1000 100 10 1 +1 100 10000 1000000 100000000 +1 0 0 0 0 +20 1 0 0 0 +200 20 1 0 0 +2000 200 20 1 0 +20000 2000 200 20 1 diff --git a/bench/heldout/kleeminty_6.in b/bench/heldout/kleeminty_6.in new file mode 100644 index 0000000..93b9f6b --- /dev/null +++ b/bench/heldout/kleeminty_6.in @@ -0,0 +1,10 @@ +6 +6 +100000 10000 1000 100 10 1 +1 100 10000 1000000 100000000 10000000000 +1 0 0 0 0 0 +20 1 0 0 0 0 +200 20 1 0 0 0 +2000 200 20 1 0 0 +20000 2000 200 20 1 0 +200000 20000 2000 200 20 1 diff --git a/bench/heldout/match_10x8.in b/bench/heldout/match_10x8.in new file mode 100644 index 0000000..e76aa8f --- /dev/null +++ b/bench/heldout/match_10x8.in @@ -0,0 +1,22 @@ +49 +18 +16 7 10 12 17 15 6 10 6 7 19 5 5 14 3 1 11 2 5 12 3 18 6 2 16 20 14 17 4 4 16 16 17 9 3 13 5 10 18 19 11 17 4 14 15 1 11 17 10 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 +1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 +0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 +0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 +0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 diff --git a/bench/heldout/match_6x6.in b/bench/heldout/match_6x6.in new file mode 100644 index 0000000..6ed3897 --- /dev/null +++ b/bench/heldout/match_6x6.in @@ -0,0 +1,16 @@ +22 +12 +3 9 16 7 1 15 16 6 20 7 2 19 5 16 1 14 9 19 5 13 8 16 +1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 +0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 +0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 +1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 +0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 diff --git a/bench/heldout/match_8x5.in b/bench/heldout/match_8x5.in new file mode 100644 index 0000000..058649a --- /dev/null +++ b/bench/heldout/match_8x5.in @@ -0,0 +1,17 @@ +27 +13 +12 15 2 14 9 11 13 19 9 2 12 9 14 14 19 16 15 10 20 6 2 5 9 9 16 6 12 +1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 +1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 +0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 +0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 +0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 +0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 diff --git a/bench/heldout/rand_12x20.in b/bench/heldout/rand_12x20.in new file mode 100644 index 0000000..8c844e5 --- /dev/null +++ b/bench/heldout/rand_12x20.in @@ -0,0 +1,24 @@ +12 +20 +9 7 4 3 3 5 8 3 2 7 9 1 +8 8 2 14 1 19 18 5 19 6 10 15 9 3 17 19 15 20 10 3 +-6 4 -7 -7 3 1 -5 4 -7 6 -7 7 +8 -4 -8 -6 -7 4 -7 6 -8 6 -1 -9 +-8 -3 -4 -6 9 -7 -7 -2 -9 -2 -8 -2 +6 1 3 6 -4 0 -3 3 8 -9 4 -5 +-8 -7 -1 9 1 4 -8 8 3 1 -8 -6 +2 7 4 -7 4 -5 -6 9 0 -7 -8 -3 +9 3 4 0 -1 0 5 -2 -2 -1 -5 -9 +3 -1 -7 1 8 0 3 5 -9 1 1 -2 +6 -7 1 8 -7 -2 -4 -6 -4 2 3 -1 +-1 -4 -9 4 -6 0 -3 -7 7 -8 -6 -5 +-2 1 3 9 -1 4 -2 9 4 5 -9 1 +9 1 -2 8 -6 6 1 -5 8 9 -2 4 +-7 5 4 -4 -3 5 5 -5 -9 8 1 9 +0 -4 9 3 -2 -9 -9 -5 9 5 5 2 +6 -8 5 -3 -7 4 2 -1 -7 7 -1 -8 +7 8 7 4 0 -7 -7 -1 0 -8 3 5 +-6 -2 8 -2 7 6 -5 -2 8 0 3 -3 +-1 -6 3 -8 -4 -7 -7 2 -1 -9 7 7 +-4 -4 8 -4 -1 4 9 -9 -7 -8 -9 2 +5 2 -8 -3 -8 -5 -3 -6 -9 -8 6 5 diff --git a/bench/heldout/rand_16x30.in b/bench/heldout/rand_16x30.in new file mode 100644 index 0000000..063f95d --- /dev/null +++ b/bench/heldout/rand_16x30.in @@ -0,0 +1,34 @@ +16 +30 +8 9 6 4 8 8 9 8 7 1 6 2 8 9 8 9 +3 10 11 19 17 2 8 18 18 2 11 8 18 18 1 5 13 11 2 18 8 13 2 9 13 5 9 13 14 7 +-3 -1 5 -3 -5 -5 9 -1 -4 -9 3 -3 1 5 2 -5 +8 7 4 3 -6 -3 -8 4 -4 7 -1 7 -2 -7 5 4 +4 1 3 9 -5 8 -9 7 5 -9 -8 1 -4 -2 3 7 +3 6 8 -9 -3 5 9 2 4 4 4 -4 0 -7 9 1 +8 1 -8 -8 2 -9 6 -8 -6 7 -4 -4 3 9 -7 0 +7 -6 6 1 -1 0 -8 -7 3 0 1 -5 3 -3 3 0 +-7 7 -4 6 -6 3 -8 1 -1 -2 1 -8 -8 -2 6 1 +-2 -4 -4 0 -7 -2 -2 -2 -7 2 8 6 -9 -3 -9 7 +-7 4 1 -8 -7 -5 3 -4 -2 8 -3 1 3 4 1 -4 +-5 4 8 -8 -4 -8 3 5 -9 -2 0 2 -3 2 -7 -3 +-5 -6 -4 -5 -9 9 3 2 4 5 -4 7 1 -1 0 8 +0 6 4 0 -6 9 3 1 -6 9 8 -9 2 1 3 4 +5 4 -7 6 8 8 3 6 3 5 -9 5 -1 9 -7 7 +-5 3 -4 3 7 -3 6 1 -8 -1 -5 1 9 3 2 -6 +-1 3 -7 -7 9 5 -5 0 2 2 -4 -8 8 4 8 -6 +6 6 -9 4 0 -3 7 -1 1 3 1 -7 2 5 4 -8 +-1 -9 1 -4 0 9 4 -1 -9 -4 -5 -5 -1 -2 -3 -9 +-6 1 2 0 7 5 -4 -2 3 2 -4 7 4 8 7 -6 +7 5 7 6 -9 -5 -3 -2 -3 4 -1 6 7 8 6 4 +-4 -3 -9 -8 -1 0 -2 -8 5 7 -4 -8 -1 -7 9 0 +-7 7 5 1 2 -9 8 -8 6 4 4 8 7 4 -8 2 +-8 5 9 -4 0 0 -2 -1 4 -9 -5 3 1 -1 4 -3 +5 0 -9 -9 -6 6 7 -5 5 -6 -2 -9 -7 6 -9 1 +7 -6 -3 -9 6 1 1 -4 3 -4 -8 7 7 -9 0 3 +9 -9 -4 -4 -7 -9 7 -1 2 -9 -1 6 2 -4 -1 -7 +-5 0 -4 7 1 4 2 -5 3 1 -6 5 -6 6 5 -7 +-7 9 3 1 -2 -6 2 6 0 4 8 1 -5 1 -6 5 +-4 -4 1 8 -3 0 1 -8 -8 9 -4 -5 4 -4 -9 5 +0 -1 -7 1 -3 -6 -2 2 -7 -5 -9 6 2 -7 4 9 +3 -1 -2 -1 1 1 2 8 4 9 -3 2 -1 2 9 6 diff --git a/bench/heldout/rand_20x40.in b/bench/heldout/rand_20x40.in new file mode 100644 index 0000000..2bc4ef0 --- /dev/null +++ b/bench/heldout/rand_20x40.in @@ -0,0 +1,44 @@ +20 +40 +7 2 9 9 4 4 6 1 3 6 2 9 4 1 3 1 3 3 2 9 +11 14 10 1 4 14 4 16 2 10 18 1 8 1 13 10 15 2 6 16 14 16 13 15 6 8 15 5 6 16 6 6 1 15 5 18 12 18 1 20 +1 -5 0 5 3 6 4 -2 6 4 9 -6 5 6 4 -2 -1 -2 -5 4 +2 6 8 -8 -6 -3 -1 -6 -6 -7 3 7 6 1 5 -5 2 -9 -6 1 +9 -3 -1 7 -9 -3 1 7 6 -8 -9 4 -2 2 4 9 9 -8 -8 -9 +-3 -4 7 -6 0 8 2 3 -2 -1 3 -1 -2 1 7 -4 -1 8 -2 -8 +-9 1 -3 -7 1 5 -7 -5 7 -4 -2 -9 7 8 0 5 8 -6 6 -2 +-1 8 -2 4 -7 9 8 2 0 7 -9 2 5 -3 -2 -2 6 4 5 -9 +3 7 -7 -6 2 2 -9 7 -4 -6 3 0 -6 -5 3 5 7 9 -5 6 +4 -5 0 -4 2 -1 -3 1 -8 6 -2 -3 -3 9 -2 0 3 9 8 -4 +4 0 4 0 -9 2 -3 -9 -8 6 0 8 9 -7 -5 9 -6 9 7 5 +3 8 2 6 -3 8 5 -8 -9 -8 -4 -9 4 3 1 -4 -8 -3 -3 -1 +6 9 2 -5 1 -3 4 8 -8 4 9 -3 9 5 -7 7 -6 5 -9 -8 +8 8 6 6 -3 7 -3 4 5 1 -9 2 8 9 2 -1 -8 -7 3 -7 +9 4 -4 3 9 -2 -7 -9 -3 -2 -3 0 -2 3 1 -9 -6 -7 -5 -2 +-5 4 -8 -2 8 7 -7 6 -6 -5 -6 -9 1 3 5 5 -1 7 -3 4 +6 -5 -2 4 -9 4 6 -2 5 -9 5 4 7 5 -5 8 -1 4 7 2 +-8 7 5 -3 3 -9 1 1 -9 6 -4 3 -8 -3 -9 -3 6 4 -9 -4 +8 -2 0 3 6 -5 2 -4 7 -3 -5 -6 -6 5 -8 1 -3 -2 7 -4 +7 1 6 -4 7 0 1 -2 -1 -7 -7 -5 8 5 9 7 8 -6 4 -4 +2 3 -6 -7 -6 -9 2 8 4 -7 -5 -7 -4 7 5 -1 2 0 -2 8 +6 8 -1 -3 -2 7 8 7 7 -9 1 -5 -2 6 -3 -5 1 -8 6 5 +2 -4 -9 8 -6 4 9 -5 -4 8 2 -8 -9 -5 -8 7 1 2 -6 9 +-1 5 5 1 7 -4 -9 -5 -2 -3 -4 1 -6 1 -1 -8 -7 -6 -4 1 +-1 4 8 -7 -4 6 6 8 0 6 6 -3 5 9 6 -8 9 2 -6 0 +6 -5 -1 4 -4 7 -3 9 1 -5 7 5 -5 8 0 6 5 4 -8 -9 +1 -4 -9 7 -9 2 1 7 2 -2 -5 0 1 -7 -2 -6 -6 -4 7 -2 +2 -4 0 -3 9 9 0 6 -2 4 5 4 8 -2 -7 7 6 2 0 1 +9 -3 3 2 -9 -3 8 -3 5 -6 3 -7 3 -5 0 1 -9 -3 -8 -6 +-8 -7 -2 -2 -8 -9 -3 2 8 -2 -2 8 2 4 3 1 -3 8 -8 -3 +6 -2 -2 9 -2 -4 6 0 2 -3 7 8 3 7 -3 3 -7 1 -2 2 +8 6 2 -1 1 0 0 6 9 -9 6 9 -7 -9 1 4 8 7 -4 -5 +-5 -6 6 -5 -5 4 -1 8 -6 -3 -4 4 -3 2 6 -8 7 3 -3 9 +-5 7 7 -7 -4 5 -5 -4 5 9 -1 -9 3 -9 2 -6 8 3 5 -3 +0 5 -4 -6 -2 -5 -3 -9 -1 -8 -6 6 3 -1 7 0 0 -3 0 -4 +-9 7 0 5 -5 -1 0 7 3 5 -9 -5 -5 8 8 4 7 -3 3 -6 +2 0 0 9 3 -4 7 0 -3 8 5 -6 -8 8 7 4 -9 6 4 -1 +-9 -3 -3 -2 0 -5 -9 -2 -8 -3 -4 -5 0 6 0 9 7 5 -1 -9 +0 1 -1 9 -2 -9 -9 5 -4 -3 8 9 7 -8 0 -1 0 -4 -5 -2 +3 -7 -5 -8 3 -1 8 9 9 7 -4 8 6 -9 9 -9 7 4 0 5 +-7 9 -4 2 -4 6 -1 7 1 7 -7 1 -7 -6 -8 -1 -6 1 1 5 +4 8 0 0 -8 1 -7 -7 -3 -9 -4 6 0 0 6 4 9 -7 1 -8 diff --git a/bench/heldout/rand_25x60.in b/bench/heldout/rand_25x60.in new file mode 100644 index 0000000..03b405b --- /dev/null +++ b/bench/heldout/rand_25x60.in @@ -0,0 +1,64 @@ +25 +60 +8 7 9 7 5 6 9 3 8 2 6 6 4 1 1 5 1 6 8 2 5 4 2 5 2 +16 7 20 13 12 18 2 9 10 9 14 20 16 15 15 11 17 10 20 4 1 12 20 13 10 18 12 19 7 20 15 18 5 2 17 1 15 1 2 7 5 15 3 8 15 16 7 11 6 8 6 10 13 15 12 16 18 2 14 14 +8 -2 -7 5 2 1 -2 7 -3 3 -2 9 9 3 -3 2 -8 9 4 -1 -6 9 1 -9 -8 +-6 -5 5 3 -8 -3 6 2 4 9 1 5 -4 0 7 8 -4 -7 7 -5 -4 -7 1 -1 -6 +-8 -1 5 -2 -7 -5 -1 5 3 1 4 -2 3 4 8 7 1 -7 -3 -3 3 0 -9 8 -9 +3 -7 3 -8 1 6 2 5 1 7 0 -6 0 -6 -7 6 -7 9 4 1 9 9 -5 2 9 +-1 4 7 -3 -4 3 -4 8 1 5 5 1 -2 -9 4 3 1 -5 -7 5 -3 4 8 5 3 +8 -4 -3 -2 -9 7 9 -4 2 6 4 4 1 -3 -9 0 -2 4 6 -6 -6 -7 9 -4 7 +-2 8 -8 -9 -5 8 -3 0 4 6 -2 2 6 -9 -8 -6 -5 -2 -9 4 -7 -8 7 -9 -4 +2 6 9 -4 -6 -8 7 8 7 -1 4 4 5 6 0 5 -4 7 -2 9 0 -1 -9 1 -8 +6 -7 4 2 -1 8 6 4 -7 3 8 -3 -7 6 8 1 8 7 0 1 4 1 -2 4 6 +0 -7 -6 -3 -2 2 4 -6 -1 -3 -3 -2 -4 -7 4 6 4 -2 4 1 -3 2 -7 -8 1 +9 -7 -4 -4 -6 -5 -9 4 1 0 8 -7 -4 9 -3 -1 -2 5 3 -5 3 3 2 -4 -7 +-5 -2 5 -3 2 0 -6 -2 9 -6 6 7 3 -5 7 9 0 4 -7 2 3 2 -1 6 6 +3 3 -9 -7 4 -5 -2 -7 -3 4 8 4 -5 -2 7 -1 3 -7 0 -9 3 -6 -8 8 -2 +-5 5 -1 -9 1 -6 3 -6 3 1 8 4 -9 1 6 7 -1 -9 -7 -3 -8 7 8 8 -4 +5 7 3 0 3 -7 7 -9 3 -9 9 -9 -1 7 8 3 -5 -4 2 -8 8 0 -8 -9 -7 +-6 6 -7 -1 -6 7 0 -8 4 -2 8 7 1 5 1 8 9 6 9 8 7 -1 4 -3 -4 +9 3 -8 -7 5 -1 -1 9 -7 5 -2 7 5 -7 4 1 1 -2 -7 -5 -6 2 9 0 -3 +8 -2 2 6 3 2 4 8 9 5 -2 4 -6 0 -9 -7 -3 8 8 -7 4 6 -6 6 -3 +8 -5 4 8 6 5 -5 0 -5 6 -6 0 5 -6 3 -3 1 0 -3 4 -7 -6 7 -5 2 +6 8 -6 -9 7 -3 -3 -6 0 -5 -9 4 6 -8 -5 -4 7 5 -8 -3 9 -3 -4 5 8 +7 -3 -8 -4 -7 7 -9 -1 -1 -4 -6 0 3 -7 6 9 2 -8 -3 6 -9 2 2 3 2 +-6 -4 5 0 7 -2 -1 6 9 -1 9 -1 7 5 -2 9 0 -2 9 -9 0 1 -1 2 2 +1 1 -9 3 -5 -9 -6 0 -5 -6 2 -8 -9 2 4 -5 8 -5 1 5 -1 -1 8 -7 -1 +-5 -3 -5 -3 7 9 2 9 1 -8 3 3 9 -3 9 8 5 5 -4 -9 0 2 -9 -4 -4 +9 5 -9 -9 1 -5 -3 -5 -7 8 -5 5 8 -6 -5 5 -8 -3 -1 2 -1 2 -6 -9 9 +-4 -4 -9 -2 6 4 4 4 -8 5 -1 -4 1 -6 -3 9 5 7 7 8 6 9 -5 7 5 +4 -6 -6 -6 9 9 -3 -7 -6 -5 6 -7 -6 3 -3 4 2 -6 -6 7 2 5 -3 1 6 +-6 8 6 0 9 0 0 -7 4 -1 8 -8 -1 -6 6 3 9 3 9 -8 -3 -5 -3 0 4 +2 5 -3 4 9 2 -7 -9 1 2 0 9 -9 -4 -6 6 8 6 -7 -7 -1 -6 -4 -3 6 +-5 3 -6 -4 3 8 -8 3 7 0 7 0 9 -9 -8 -9 8 1 -2 5 -4 -2 4 2 -1 +-6 -8 2 -7 3 -9 9 7 4 -9 0 -1 -6 8 -6 2 8 9 9 5 -2 -1 -5 -9 9 +-9 5 -3 0 -4 -4 -6 -1 -4 4 -9 -7 1 -8 5 3 -7 4 8 1 -7 7 6 5 -9 +-3 -6 -9 3 8 4 3 2 0 -2 2 4 -4 5 8 -1 -7 -4 -2 4 5 -6 -3 -5 -1 +-1 -4 -3 -1 1 -3 -6 5 8 8 7 -1 4 1 -7 -2 -1 0 7 -6 -6 7 -5 9 -8 +-7 -6 -5 6 -7 -4 -9 2 8 2 -5 1 -5 3 -4 7 -7 9 0 -5 -8 -8 0 7 -7 +-1 6 1 2 -7 -9 -1 0 9 -3 -2 8 -5 8 7 -4 -7 -4 -6 -5 -1 -8 7 2 2 +5 -9 -4 5 -1 5 2 -6 5 8 9 8 -4 1 -3 9 -6 -6 -7 9 -7 6 -8 7 -4 +8 -6 -6 -9 -4 9 -7 -2 -6 -5 9 6 8 -4 4 -7 -2 -3 -1 -8 7 7 -8 5 9 +-4 6 9 -1 -3 5 -9 9 5 8 -2 -3 -2 8 0 -3 4 -6 2 0 8 1 -7 -9 6 +-8 -1 4 -1 1 -6 -1 -5 -5 8 -9 -1 -6 -4 8 3 -2 -5 -8 5 3 -4 5 -4 9 +5 -5 3 0 -3 3 6 -4 -2 1 -5 6 9 -7 4 -3 -2 5 2 2 0 -2 -9 8 8 +6 8 -7 2 3 -8 0 -6 6 -8 -8 -3 -1 -9 3 -5 6 6 7 4 9 -1 1 3 6 +9 5 -5 4 -9 -8 -2 2 1 -7 -4 0 -2 3 7 -4 -7 1 2 -4 4 2 7 9 3 +-8 5 7 -9 -1 -9 2 1 7 2 -9 7 -3 -5 -3 3 8 9 7 1 -4 3 7 0 3 +-9 -9 -7 -9 8 3 7 3 2 -6 -4 8 7 3 -9 -1 5 -3 -3 6 5 4 9 -3 -8 +5 5 -4 -7 8 -8 -8 4 6 2 5 -3 -7 2 6 -5 -3 8 7 0 -6 -2 -8 0 8 +-6 0 -6 -4 -8 -8 6 0 -4 -5 5 -7 -7 -2 0 -3 -4 4 6 -5 4 3 -2 7 2 +-9 -9 2 5 -2 -2 -5 3 -9 9 -7 -1 8 -9 -9 0 -3 6 0 2 5 6 6 0 -8 +8 5 -7 -1 -4 8 7 -4 2 4 5 9 2 -8 8 -8 8 6 1 9 -9 4 -1 -6 0 +-6 1 4 5 3 4 -1 -1 -5 8 0 2 7 4 -4 8 -8 5 -4 -2 8 8 9 9 4 +5 1 -3 -6 -2 -7 -8 0 -2 -9 5 1 7 -5 3 -1 -7 3 -7 6 -7 -2 -6 -7 -4 +8 -4 3 -8 6 -4 2 -2 -6 4 -8 4 -7 -3 -6 1 7 -2 -9 -7 2 -2 -9 9 7 +9 -7 -5 -3 -5 -2 4 6 6 -8 -4 -9 -8 -5 -4 3 5 3 -1 1 -9 -2 -7 2 -2 +-7 7 8 7 5 7 7 -4 4 6 0 -6 -1 8 9 4 1 1 -6 -9 1 -1 2 -2 8 +1 -3 3 -9 -2 2 -7 1 1 7 4 6 1 -1 -7 9 9 4 0 5 -8 -6 -2 0 6 +4 -2 -1 -6 -7 -3 6 -8 -4 -8 -4 9 8 -1 -9 0 9 0 5 -6 6 -3 5 -6 4 +-9 6 -4 2 -7 1 -3 2 -5 -3 0 6 -2 -6 2 2 -9 -3 -2 6 -1 -8 -7 8 -6 +-6 -5 -3 -2 5 -5 7 -2 7 3 9 -2 -8 -8 1 -4 3 0 -5 8 2 7 -5 -5 -3 +1 -1 8 6 -3 -1 -3 6 -4 -5 -3 1 -6 7 -5 -1 -4 -5 5 6 -7 -8 -9 4 -1 +2 2 9 0 -5 -9 -3 -3 -8 8 9 -5 -9 -8 3 2 5 -9 2 4 -4 -5 4 -1 7 diff --git a/bench/heldout/rand_5x5.in b/bench/heldout/rand_5x5.in new file mode 100644 index 0000000..e01ca00 --- /dev/null +++ b/bench/heldout/rand_5x5.in @@ -0,0 +1,9 @@ +5 +5 +7 2 7 6 2 +15 6 18 14 5 +-2 -2 2 6 -3 +2 -2 5 -4 -8 +6 -5 5 4 -3 +-9 8 5 -3 8 +2 -6 -1 -4 0 diff --git a/bench/heldout/rand_8x12.in b/bench/heldout/rand_8x12.in new file mode 100644 index 0000000..94db32c --- /dev/null +++ b/bench/heldout/rand_8x12.in @@ -0,0 +1,16 @@ +8 +12 +1 4 2 9 7 3 7 6 +19 13 19 7 20 2 1 16 20 7 17 20 +-5 -9 9 -6 4 -5 -6 -1 +4 9 -7 8 8 3 -7 0 +2 -4 3 -8 -5 -6 -3 -9 +4 9 1 -3 -5 8 5 -3 +9 -8 -8 2 4 -4 -6 2 +7 -3 -8 -7 -2 7 9 2 +6 -9 5 -8 -5 -5 -6 6 +-1 -1 -6 -9 -2 -6 6 -3 +8 7 2 -6 -7 1 7 1 +6 -9 5 -1 1 6 3 0 +7 8 1 -3 -6 0 -5 7 +-4 -7 -3 -1 8 0 -7 -6 diff --git a/bench/train/assign_4.in b/bench/train/assign_4.in new file mode 100644 index 0000000..8d27cac --- /dev/null +++ b/bench/train/assign_4.in @@ -0,0 +1,12 @@ +16 +8 +5 15 15 6 13 12 14 17 4 18 4 3 15 9 2 7 +1 1 1 1 1 1 1 1 +1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 +1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 +0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 +0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 +0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 diff --git a/bench/train/assign_5.in b/bench/train/assign_5.in new file mode 100644 index 0000000..88741d1 --- /dev/null +++ b/bench/train/assign_5.in @@ -0,0 +1,14 @@ +25 +10 +19 7 18 12 15 2 17 7 20 8 10 16 7 11 15 3 9 7 6 3 15 18 12 7 16 +1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 +1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 +0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 +0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 +0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 +0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 diff --git a/bench/train/assign_6.in b/bench/train/assign_6.in new file mode 100644 index 0000000..7150a33 --- /dev/null +++ b/bench/train/assign_6.in @@ -0,0 +1,16 @@ +36 +12 +5 20 12 6 18 20 6 13 10 20 14 19 19 2 17 18 20 17 6 13 15 8 17 5 3 2 6 20 19 15 17 8 17 17 5 16 +1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 +1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 +0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 +0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 +0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 +0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 +0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 diff --git a/bench/train/assign_7.in b/bench/train/assign_7.in new file mode 100644 index 0000000..75852a7 --- /dev/null +++ b/bench/train/assign_7.in @@ -0,0 +1,18 @@ +49 +14 +15 7 3 20 4 13 15 11 4 16 3 5 8 19 1 2 8 4 5 20 17 10 6 14 19 14 8 19 20 8 3 12 7 19 7 20 17 16 9 10 7 17 15 17 7 17 10 2 16 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 +1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 diff --git a/bench/train/degen_10.in b/bench/train/degen_10.in new file mode 100644 index 0000000..8d09d47 --- /dev/null +++ b/bench/train/degen_10.in @@ -0,0 +1,24 @@ +10 +20 +8 2 7 5 7 8 6 3 5 8 +2 1 1 3 1 5 1 4 1 3 0 0 0 0 0 0 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 0 +0 0 0 0 0 1 0 0 0 0 +0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 0 1 +-1 1 -1 -1 0 1 -1 1 0 -1 +0 0 0 1 0 -1 0 -1 1 0 +-1 1 -1 0 -1 0 0 0 0 1 +1 1 0 0 1 0 1 1 1 1 +-1 1 0 -1 -1 1 1 0 -1 0 +1 1 0 1 -1 1 -1 1 1 1 +0 0 -1 1 -1 0 -1 1 -1 -1 +1 1 -1 0 1 0 1 0 1 0 +-1 1 -1 -1 -1 -1 1 0 1 -1 +0 0 1 -1 0 -1 1 -1 0 0 diff --git a/bench/train/degen_14.in b/bench/train/degen_14.in new file mode 100644 index 0000000..4733e74 --- /dev/null +++ b/bench/train/degen_14.in @@ -0,0 +1,32 @@ +14 +28 +8 2 7 7 5 9 8 7 7 3 1 8 8 3 +2 3 4 1 2 5 4 1 2 3 4 3 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 +1 -1 1 1 -1 1 0 0 1 1 0 1 -1 0 +1 1 1 -1 -1 0 1 1 -1 0 -1 -1 0 -1 +-1 0 -1 -1 -1 1 1 1 0 1 0 1 -1 0 +-1 1 -1 -1 -1 -1 0 1 1 1 1 1 0 1 +0 -1 -1 -1 -1 1 1 0 1 -1 1 0 1 -1 +1 1 1 0 -1 1 0 -1 -1 0 0 -1 0 1 +1 -1 -1 1 -1 0 -1 -1 0 1 0 0 0 1 +1 1 0 0 -1 0 1 -1 1 1 -1 -1 -1 -1 +-1 -1 0 -1 0 1 0 1 -1 1 -1 1 0 1 +-1 1 1 0 0 -1 1 -1 -1 0 -1 0 1 0 +-1 0 0 -1 -1 -1 0 -1 0 1 0 -1 1 0 +-1 1 1 0 -1 1 0 1 -1 1 1 1 0 0 +1 0 1 1 1 0 -1 1 1 -1 -1 1 0 1 +-1 0 1 0 0 0 0 1 -1 -1 -1 -1 0 -1 diff --git a/bench/train/degen_6.in b/bench/train/degen_6.in new file mode 100644 index 0000000..b893b4e --- /dev/null +++ b/bench/train/degen_6.in @@ -0,0 +1,16 @@ +6 +12 +5 9 5 2 8 8 +4 4 5 3 3 4 0 0 0 0 0 0 +1 0 0 0 0 0 +0 1 0 0 0 0 +0 0 1 0 0 0 +0 0 0 1 0 0 +0 0 0 0 1 0 +0 0 0 0 0 1 +-1 1 0 -1 1 -1 +-1 1 -1 0 0 1 +-1 0 -1 -1 -1 -1 +0 -1 1 1 -1 0 +1 1 1 -1 -1 -1 +-1 -1 -1 1 0 -1 diff --git a/bench/train/kleeminty_4.in b/bench/train/kleeminty_4.in new file mode 100644 index 0000000..a760ac5 --- /dev/null +++ b/bench/train/kleeminty_4.in @@ -0,0 +1,8 @@ +4 +4 +1000 100 10 1 +1 100 10000 1000000 +1 0 0 0 +20 1 0 0 +200 20 1 0 +2000 200 20 1 diff --git a/bench/train/kleeminty_5.in b/bench/train/kleeminty_5.in new file mode 100644 index 0000000..511bc23 --- /dev/null +++ b/bench/train/kleeminty_5.in @@ -0,0 +1,9 @@ +5 +5 +10000 1000 100 10 1 +1 100 10000 1000000 100000000 +1 0 0 0 0 +20 1 0 0 0 +200 20 1 0 0 +2000 200 20 1 0 +20000 2000 200 20 1 diff --git a/bench/train/kleeminty_6.in b/bench/train/kleeminty_6.in new file mode 100644 index 0000000..93b9f6b --- /dev/null +++ b/bench/train/kleeminty_6.in @@ -0,0 +1,10 @@ +6 +6 +100000 10000 1000 100 10 1 +1 100 10000 1000000 100000000 10000000000 +1 0 0 0 0 0 +20 1 0 0 0 0 +200 20 1 0 0 0 +2000 200 20 1 0 0 +20000 2000 200 20 1 0 +200000 20000 2000 200 20 1 diff --git a/bench/train/match_10x8.in b/bench/train/match_10x8.in new file mode 100644 index 0000000..6d0af8d --- /dev/null +++ b/bench/train/match_10x8.in @@ -0,0 +1,22 @@ +45 +18 +7 13 15 17 8 20 13 5 2 16 2 4 9 7 5 8 12 10 15 12 19 14 18 7 17 11 6 20 5 15 1 15 20 16 19 13 7 14 2 14 8 8 20 7 14 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 +0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 +0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 +0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 +0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 diff --git a/bench/train/match_6x6.in b/bench/train/match_6x6.in new file mode 100644 index 0000000..a12c069 --- /dev/null +++ b/bench/train/match_6x6.in @@ -0,0 +1,16 @@ +17 +12 +7 20 1 15 7 13 4 8 4 6 4 4 18 12 10 7 11 +1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 +1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 +0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 +0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 +0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 +0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 diff --git a/bench/train/match_8x5.in b/bench/train/match_8x5.in new file mode 100644 index 0000000..0a5389f --- /dev/null +++ b/bench/train/match_8x5.in @@ -0,0 +1,16 @@ +21 +12 +11 10 16 16 19 8 7 4 9 1 19 12 14 2 9 14 8 19 9 7 2 +1 1 1 1 1 1 1 1 1 1 1 1 +1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 +1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 +0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 +0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 +0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 diff --git a/bench/train/rand_12x20.in b/bench/train/rand_12x20.in new file mode 100644 index 0000000..3f1fbe3 --- /dev/null +++ b/bench/train/rand_12x20.in @@ -0,0 +1,24 @@ +12 +20 +1 2 2 6 3 5 5 4 1 3 7 7 +17 12 18 15 17 9 2 1 12 15 11 13 14 17 6 18 6 8 8 1 +-4 1 -4 -5 7 7 2 7 8 -4 5 4 +7 2 9 2 2 5 -4 3 5 7 -2 6 +-1 6 7 7 2 5 5 2 9 8 5 6 +-2 1 -4 -1 6 0 0 7 8 7 7 9 +4 0 -3 6 7 2 -7 1 -9 -3 -6 -8 +9 -8 -1 9 -2 -6 7 -5 -1 -2 -3 -8 +4 -8 -8 2 2 -4 -2 -9 -7 -6 -7 -9 +-8 -9 2 -1 -5 -4 -4 7 -9 3 9 -8 +-2 -5 -8 -9 2 -6 0 1 6 -9 0 5 +8 -8 -1 3 -5 6 -2 -7 1 -6 -9 5 +-5 7 9 3 6 7 1 -5 1 -1 -1 4 +-9 8 -5 -8 -1 -8 -5 -4 -4 -6 5 -2 +7 -8 -2 -2 5 -7 -1 -7 9 -2 2 -1 +4 -1 7 -9 -5 -8 3 4 -4 -6 7 -7 +-2 -6 -6 -9 -4 -2 -6 -3 -9 7 5 5 +0 8 3 -3 -3 4 4 7 -9 9 9 -8 +4 7 9 -4 -6 6 2 -9 7 -6 2 0 +2 0 -9 4 -6 -6 0 -3 -9 5 -8 4 +6 5 -3 9 -7 -9 0 -9 2 0 -7 -2 +6 -3 -6 9 2 3 5 -5 2 3 -6 -1 diff --git a/bench/train/rand_16x30.in b/bench/train/rand_16x30.in new file mode 100644 index 0000000..ec6abdd --- /dev/null +++ b/bench/train/rand_16x30.in @@ -0,0 +1,34 @@ +16 +30 +4 9 3 6 8 2 1 8 5 9 4 4 8 9 9 8 +13 5 8 5 17 13 1 3 6 19 2 10 1 9 16 20 13 14 13 19 15 5 12 4 2 5 16 7 9 14 +0 4 7 3 9 2 8 9 4 9 -2 1 -9 -1 -4 1 +8 9 9 -6 -3 9 -1 0 -6 -7 6 6 -7 2 -7 4 +-5 -9 0 4 4 -6 -8 -8 3 9 1 8 -1 7 -2 -8 +0 -9 -7 -6 8 -8 -3 4 0 -1 -5 -8 1 1 2 -5 +3 3 5 7 3 8 -6 7 -1 4 -2 0 4 -1 7 0 +8 1 -9 4 9 1 -9 3 9 -5 -8 1 5 2 2 -1 +6 -9 9 -8 -9 2 -1 5 0 9 1 -4 2 -4 1 2 +-1 0 3 -6 -9 9 -5 0 7 -2 -1 -2 1 -4 4 -6 +-6 1 1 -2 5 -4 -7 1 -3 9 5 -1 -2 -6 -8 7 +-3 1 9 -4 -1 1 -7 2 9 -5 4 0 7 -1 5 2 +4 0 4 9 4 -8 4 -5 -3 -9 6 7 4 8 -2 -8 +5 7 0 8 1 -2 -7 9 0 -6 -2 -8 -8 7 -3 4 +9 -8 -9 6 -6 -4 7 0 -2 -9 7 8 4 -8 -6 1 +-5 -1 8 6 -8 2 -2 -3 -6 8 -6 -4 -2 -1 -5 -9 +6 9 3 -8 -1 -2 -1 7 7 4 -8 6 1 -9 -8 -5 +-8 -6 -8 -7 6 -8 -7 7 7 6 1 -4 1 -7 2 3 +3 9 0 2 -1 -3 1 4 -6 -5 8 -9 3 -7 9 -4 +-8 2 5 8 3 -8 4 -8 2 6 1 4 4 5 -9 -2 +-3 8 -1 9 -7 4 -2 4 -5 -9 1 2 8 -1 -6 5 +-6 7 3 -6 1 9 8 -6 9 -9 6 -5 -2 3 -8 7 +-7 9 -6 3 -4 -9 1 -6 -9 -6 6 0 9 0 -7 -8 +9 7 7 -2 -6 8 -6 8 -8 8 1 9 -4 -7 -2 -4 +-2 5 3 -1 2 3 2 8 4 -7 3 7 -2 4 -4 4 +9 9 7 6 -5 3 -5 -4 -6 6 6 7 5 9 -4 -5 +-1 -3 -5 9 7 1 -2 8 0 4 9 9 -1 -3 0 -9 +-1 6 3 -3 -4 9 2 -2 1 6 -5 4 6 -3 5 9 +8 -9 6 -7 3 -8 5 -2 -2 -7 -3 -1 -2 -3 -1 -5 +-4 -8 -1 -4 -8 1 -4 4 -7 -7 -6 -7 -1 0 -8 2 +5 9 1 -9 -9 1 1 4 3 6 -7 -3 9 6 3 -5 +8 1 -6 -1 -7 4 -6 5 7 -1 -6 7 2 2 5 0 diff --git a/bench/train/rand_20x40.in b/bench/train/rand_20x40.in new file mode 100644 index 0000000..80d35a4 --- /dev/null +++ b/bench/train/rand_20x40.in @@ -0,0 +1,44 @@ +20 +40 +4 5 2 7 8 3 2 2 1 7 9 5 1 4 9 9 6 5 3 2 +9 7 1 9 9 7 6 10 10 12 3 20 11 13 17 8 6 8 16 9 3 18 10 1 10 19 10 17 7 14 14 20 10 14 15 6 8 10 9 2 +-7 -8 5 -1 7 8 6 1 -5 -3 -7 4 -3 5 -1 -4 2 4 9 1 +8 -3 1 -6 -8 -2 -1 9 -2 -6 1 -4 0 5 -9 -8 2 -7 0 1 +-9 1 0 1 -5 4 -7 0 -3 5 0 -5 -1 3 -4 1 9 -9 2 -8 +5 -4 2 2 0 9 -6 5 -3 4 -3 -6 -8 -8 -8 -4 -5 -8 8 6 +9 -2 1 -8 -6 7 0 4 -3 6 -3 -2 5 4 6 -8 -2 4 5 -2 +4 -3 6 -3 -8 -8 -1 -1 -2 7 -3 -2 4 -1 -5 1 -8 1 9 -6 +9 3 -8 6 3 -7 4 -3 9 -4 1 0 6 1 4 7 -3 -1 1 3 +6 -7 -1 -3 -8 3 -5 -1 -8 -4 5 9 6 3 3 -3 -9 -3 -4 -9 +-1 -6 3 3 -2 8 -8 -3 -4 1 8 6 7 5 -9 -7 -8 -6 6 8 +-1 -5 -8 2 -7 7 -9 0 2 -7 -7 8 5 3 -3 0 3 -2 6 3 +-6 -7 -6 2 7 4 4 5 -7 -3 0 6 4 -6 8 -4 2 -4 -4 -5 +1 6 1 -1 8 -9 -4 -9 0 -6 8 -6 6 6 7 -7 7 -2 4 0 +2 -2 -4 -9 -8 1 8 5 9 0 7 5 5 3 -5 -1 2 1 -5 4 +-7 -5 -4 0 2 -3 9 2 -7 -7 3 -4 1 2 1 -4 0 -9 -9 7 +-7 2 -6 -4 -4 9 6 9 -7 -6 -4 6 -2 0 3 -2 6 -2 0 2 +-2 1 8 7 5 3 7 3 1 0 5 4 9 -9 -1 -4 8 5 8 2 +3 3 -9 -5 7 -7 5 2 0 -7 -1 6 -2 6 -7 -5 -2 -7 0 -5 +-8 -4 3 9 8 8 -1 -9 7 -2 -4 -6 -3 -8 1 -7 -6 -1 -8 0 +-4 -5 4 -5 -7 8 2 -9 8 -5 7 4 -5 -3 0 6 7 -7 3 -4 +-4 -1 7 3 8 0 3 1 -4 3 -8 4 -9 -1 -9 0 -5 -7 -4 -6 +-9 -2 -2 8 -9 6 8 -4 5 3 1 -4 7 9 -3 -6 6 2 0 4 +-8 -3 -1 9 9 0 6 1 -7 -2 1 -6 -8 1 7 6 2 -7 -4 -8 +6 7 8 -2 -8 -3 -7 1 -5 0 -6 7 7 -9 -7 -2 -1 -9 -8 -9 +6 -5 -3 2 -2 2 0 3 3 -8 -4 4 6 -7 7 7 0 8 0 -3 +4 1 -4 -3 -9 6 4 -1 1 4 4 1 -3 -1 -1 7 -7 -9 3 -1 +0 -5 1 -7 -4 -7 -3 -1 -3 6 -6 1 -9 5 9 -3 -4 -7 -2 7 +-6 -6 1 0 9 9 -5 -7 -4 -9 -4 -3 -1 -8 9 1 1 2 -4 -4 +-3 -8 -8 -4 -8 -1 6 -6 -3 -5 3 6 8 6 8 1 2 4 3 -8 +-8 -4 -5 2 -2 0 -2 2 9 -3 2 3 2 8 -6 -2 -3 2 -4 8 +-3 -9 -9 -6 -3 0 1 8 6 -8 0 3 -4 -5 3 5 2 2 -9 5 +-5 5 -9 4 -3 -6 1 0 8 -8 -7 6 -4 7 -8 -4 -2 1 -9 -9 +3 4 -2 9 -5 -8 -5 -4 0 -2 4 1 8 2 -4 2 8 9 2 -1 +1 8 -8 8 -5 2 9 -3 6 6 -6 -7 -3 -4 -5 8 -5 -8 8 2 +-7 -8 -5 8 -4 -1 -8 0 6 -1 -3 6 0 7 -8 -5 0 4 -8 -9 +2 7 2 -7 -3 4 -7 4 -8 0 -3 -3 -4 -3 -7 -7 -9 -9 0 7 +7 7 4 -7 -7 7 1 -4 -3 7 8 -8 -8 -7 -5 4 -5 -6 7 1 +7 1 -1 -5 9 9 -6 9 -7 -9 -4 -8 -1 8 4 0 9 2 -5 7 +2 8 5 -2 5 -4 6 9 8 -9 9 8 9 -3 -1 9 9 5 1 -4 +0 -4 1 0 1 -3 8 6 0 -1 2 -4 1 -6 -2 1 -3 -4 5 -6 +0 -8 7 -9 -8 -9 8 -4 -2 -2 2 3 3 -2 5 4 0 7 -7 1 diff --git a/bench/train/rand_25x60.in b/bench/train/rand_25x60.in new file mode 100644 index 0000000..3539e1b --- /dev/null +++ b/bench/train/rand_25x60.in @@ -0,0 +1,64 @@ +25 +60 +5 6 9 1 8 4 1 3 2 6 8 4 7 9 2 4 1 4 7 5 3 7 3 2 3 +20 20 15 5 5 1 1 7 7 6 6 10 11 7 18 7 6 7 13 10 1 12 14 6 5 9 3 11 10 20 19 1 20 11 3 10 12 10 16 11 6 16 16 6 2 9 1 12 13 1 18 14 12 13 19 1 15 2 6 20 +-3 -6 -2 5 2 7 2 7 -1 5 -6 9 2 0 -8 4 -7 -3 1 7 2 -5 1 -1 8 +-7 0 1 0 -4 -7 -5 0 6 -4 -8 -7 8 3 -8 -2 2 -1 5 4 -5 -8 -8 6 1 +-3 -5 9 -5 4 -6 -4 4 2 -5 -8 4 0 -5 5 -4 7 5 6 1 6 -1 0 6 3 +-5 -6 3 8 -4 6 1 -4 -7 6 -1 7 8 7 2 -7 2 9 -8 0 2 8 -1 6 -1 +0 1 -4 9 -9 6 8 -1 1 -1 5 0 7 2 2 -1 2 4 2 -4 5 2 1 7 -5 +7 -4 -3 2 6 0 -7 4 -4 9 7 4 0 8 -1 -9 -3 -4 9 5 -4 -2 -4 -8 6 +-2 -4 -8 -5 -6 1 -4 6 -3 8 -8 4 5 2 3 -7 9 -3 -2 2 -9 2 3 -1 4 +-6 8 2 -8 8 0 -6 0 8 7 1 9 0 2 -5 4 4 9 8 2 5 -5 -4 3 9 +6 -3 -5 -7 2 -9 3 -6 1 9 8 -5 1 9 3 4 4 -2 6 0 6 3 3 -4 -1 +0 6 -1 4 -9 1 0 6 0 -5 6 -9 -6 5 -2 0 -8 -5 3 -9 6 8 8 -1 -2 +6 -8 -2 6 -1 -5 0 0 6 6 7 -6 -9 -5 0 0 8 1 0 7 -9 5 2 2 9 +-5 -8 -9 -1 8 5 -6 8 -3 -9 4 4 9 6 3 6 3 -3 0 5 -7 0 -9 4 9 +0 6 0 -5 -4 6 8 6 1 8 -5 4 9 8 -8 -7 -2 -1 -7 -7 -9 1 4 -7 3 +6 -8 -6 -6 -2 -6 -5 0 5 -5 -4 -4 4 -4 -7 -3 -8 8 -6 3 -7 -1 -8 9 9 +-6 3 -5 -9 4 -7 1 6 6 2 2 -8 -5 0 -5 9 7 0 8 8 -2 -1 -7 8 -2 +-1 0 7 -5 -2 2 5 3 -4 -5 -9 1 -7 9 -8 -7 -6 7 5 -2 3 5 6 1 -6 +7 -9 8 3 -8 -5 4 -2 -6 -7 6 -3 -5 3 2 -2 0 1 2 3 3 -5 2 0 4 +2 7 -8 9 9 -3 -4 3 -7 -6 -8 -8 -4 -3 -3 -8 6 6 2 -9 4 6 0 4 1 +5 5 -6 -3 -5 -4 -7 2 3 6 -5 8 -1 -6 -1 -4 0 -2 -8 6 -8 2 2 1 -8 +-9 5 6 -5 -6 1 0 5 -2 -4 -8 -3 -9 9 -2 -7 3 2 0 -4 5 2 0 -7 5 +-4 -2 -4 -3 -8 4 -1 -9 5 -8 5 4 -4 -8 -8 8 7 9 2 -6 -7 -2 6 -7 6 +-8 -2 -8 6 3 -8 -8 -1 4 5 0 -8 -8 -3 -4 7 3 -3 8 -2 -7 1 -6 -7 8 +-4 -7 -3 -9 5 8 2 6 4 9 3 7 -5 -9 0 5 -2 8 -6 -5 0 6 -7 -1 3 +1 -5 -5 8 -7 6 -2 -7 4 9 -2 -1 -8 6 -2 -8 -3 0 2 -6 -7 4 1 3 8 +-9 0 -5 9 -9 5 -5 -9 -8 4 -1 -6 3 8 -5 1 -7 0 -4 -5 -1 6 1 0 -8 +-7 8 8 -9 -9 -6 -8 -5 2 4 -1 -9 -2 7 4 -5 2 -3 1 2 -9 -4 9 -4 -6 +-1 7 -4 -5 5 4 4 -6 1 1 5 -2 5 4 -4 5 -8 -4 8 6 6 -9 -6 -5 4 +-8 -3 -9 -8 9 -2 6 2 3 5 -3 -3 -1 -3 0 8 7 2 -2 2 2 -2 -8 6 3 +2 -5 -5 -2 6 3 -8 -6 -4 3 -6 0 -3 1 6 6 8 -7 -3 3 -9 -6 7 9 -4 +3 -9 1 -9 0 7 3 7 6 8 3 5 9 8 -8 8 -5 4 2 9 -9 7 -3 0 0 +-7 -9 -7 2 9 4 0 -9 -1 -2 -7 -8 -7 0 2 8 -3 6 7 -7 -6 -2 1 8 4 +3 -9 3 3 -4 7 -3 1 3 1 -6 8 2 -2 -6 -3 0 0 -1 -7 -4 -7 4 -4 -2 +-7 9 9 8 4 4 -2 4 6 7 -2 0 4 -1 -7 1 -4 4 -9 -5 -6 0 9 8 9 +-4 4 -3 1 -6 1 -7 -8 6 -5 7 -7 1 -3 5 3 -2 6 -6 -9 -3 -4 -6 -7 1 +-5 2 -6 9 5 1 -4 8 9 -6 2 -6 -7 -3 -3 1 2 -4 5 -7 -2 3 8 5 3 +-9 -6 2 -5 -9 6 3 1 -7 6 0 -9 -6 6 2 -3 1 3 -5 0 6 -7 9 -6 0 +4 1 -7 7 4 -8 -2 4 -2 -1 -7 -5 -1 -6 8 6 4 -4 8 3 -2 -7 5 2 -5 +-7 -9 -5 2 -9 -9 -1 8 5 3 7 -7 -8 -3 -3 5 -9 6 7 -7 -1 6 7 -9 -8 +-4 3 7 4 9 9 -8 -3 -9 4 4 4 3 -9 -4 1 -5 0 -3 4 -7 2 -3 3 4 +-3 -1 -5 6 2 0 -9 -6 -4 5 -7 -7 3 -8 4 -5 -3 -9 6 1 5 -5 5 -2 -7 +2 -9 -9 -4 4 -7 -1 -5 2 1 -3 -5 0 7 8 -7 0 -6 -6 3 2 0 2 6 8 +9 5 -2 9 -5 -1 -9 8 -9 3 -5 -2 6 -8 -9 -9 -3 4 -2 7 -2 0 -8 7 -2 +-8 3 2 -9 8 0 5 5 -6 -6 2 9 7 -1 9 3 3 0 -4 9 -7 5 -8 -3 7 +3 -6 7 0 8 2 4 -5 5 2 -7 6 -9 9 9 -3 9 5 -8 -8 -7 -6 1 -5 2 +1 -1 -1 6 -5 -6 -1 -1 -9 -1 3 -4 -2 -1 9 5 -4 -5 9 -8 2 8 -6 -9 5 +-8 6 -8 -9 9 4 -6 4 7 5 9 -2 8 -6 -7 9 -7 -8 -7 5 0 7 8 -7 -1 +-6 3 0 -1 5 0 0 -9 1 7 6 5 3 -5 -3 -1 1 -3 5 -7 -5 2 -7 4 5 +7 3 -4 -3 -5 6 -4 7 5 9 2 -9 -5 4 -1 9 6 7 8 -3 8 -2 -4 4 8 +-1 1 0 -6 -3 -1 4 2 7 -1 6 -7 -6 -6 1 -6 -6 0 9 -4 -8 8 3 -4 1 +-1 -6 4 1 -6 0 -7 0 1 4 4 -7 -7 0 -7 -4 -8 -6 7 4 -6 5 4 -7 -2 +4 -9 9 8 0 -6 7 1 2 -7 5 3 -6 -4 -2 -6 8 -6 -7 8 3 4 -6 -1 0 +8 5 4 -8 -3 7 -5 3 -4 -3 1 7 -7 -5 0 -8 5 0 5 8 9 7 -1 0 -4 +-1 5 6 3 -6 -5 -3 5 -6 5 -2 -5 -2 -4 -7 5 -1 5 -4 6 -6 0 9 -1 2 +-8 8 8 -6 -3 -9 1 9 9 6 6 7 0 1 -8 0 -5 7 4 0 4 2 -5 0 -3 +-8 -9 6 -4 0 4 0 4 9 5 1 7 7 1 -9 -4 9 6 -9 8 6 5 2 -8 -2 +8 -9 6 -6 -3 -4 -4 7 -2 3 -6 3 4 -2 -1 -9 -3 -2 9 -7 7 2 4 9 0 +-2 -6 2 8 8 5 -8 -1 7 -9 -5 4 -8 5 -9 -3 -3 -6 -4 5 5 6 6 0 7 +-7 -9 5 -3 -9 5 7 -3 -7 1 -3 -6 8 2 -7 -4 -2 3 -9 -8 4 -8 0 -3 3 +3 -4 -6 3 -3 -3 -5 3 5 -5 4 -9 -1 5 7 -3 -1 -7 -2 4 4 8 5 -3 -3 +1 9 -1 -8 -3 8 -4 2 -6 4 2 -5 0 -4 -9 8 -5 4 -6 -9 8 5 1 -7 6 diff --git a/bench/train/rand_5x5.in b/bench/train/rand_5x5.in new file mode 100644 index 0000000..cb368c0 --- /dev/null +++ b/bench/train/rand_5x5.in @@ -0,0 +1,9 @@ +5 +5 +7 7 1 5 9 +16 13 10 16 12 +9 -3 7 -5 0 +-5 -6 -1 8 -5 +0 -6 -7 1 6 +8 -6 2 4 1 +-3 8 6 5 7 diff --git a/bench/train/rand_8x12.in b/bench/train/rand_8x12.in new file mode 100644 index 0000000..7f1fb89 --- /dev/null +++ b/bench/train/rand_8x12.in @@ -0,0 +1,16 @@ +8 +12 +3 2 5 2 8 8 8 7 +7 4 16 1 13 14 20 1 15 9 8 19 +-6 1 -9 -9 -9 8 -9 3 +-3 4 -9 7 -2 5 6 8 +-2 2 -2 -2 5 0 -9 4 +8 -6 -4 0 -6 1 7 4 +7 -3 0 0 9 6 7 3 +9 -8 6 -2 3 4 -4 2 +8 2 -7 5 7 -6 -4 7 +3 2 6 -9 6 -8 0 9 +9 3 -4 -4 7 -2 -9 -3 +8 8 -2 3 7 2 9 2 +5 -1 8 -9 3 7 -5 7 +8 -3 4 -8 6 2 9 8 diff --git a/solver/tableau.ml b/solver/tableau.ml index c77c394..ce7aca3 100644 --- a/solver/tableau.ml +++ b/solver/tableau.ml @@ -252,20 +252,39 @@ let ff_eliminate a row p c dprev = let unit_d = Z.equal dprev Z.one in let ac = a.(c) in if Z.equal ac Z.zero then - (* Pivot column already zero in this row: rescale only. *) - (if unit_d then for j = 0 to n - 1 do a.(j) <- Z.mul a.(j) p done - else for j = 0 to n - 1 do a.(j) <- Z.divexact (Z.mul a.(j) p) dprev done) + (* Pivot column already zero in this row: rescale only. A zero entry stays + zero under the rescale, so skip it (these tableaux are ~65-80% zero and + the whole point of fraction-free is to avoid needless bignum ops). *) + (if unit_d then + for j = 0 to n - 1 do + let aj = a.(j) in + if not (Z.equal aj Z.zero) then a.(j) <- Z.mul aj p + done + else + for j = 0 to n - 1 do + let aj = a.(j) in + if not (Z.equal aj Z.zero) then a.(j) <- Z.divexact (Z.mul aj p) dprev + done) else if unit_d then for j = 0 to n - 1 do - let r = row.(j) in - if Z.equal r Z.zero then a.(j) <- Z.mul a.(j) p - else a.(j) <- Z.sub (Z.mul a.(j) p) (Z.mul ac r) + let aj = a.(j) and r = row.(j) in + (* new entry = aj*p - ac*r. Skip the (very common) aj=0,r=0 case entirely; + when only aj=0 the first product vanishes; when only r=0 the second. *) + if Z.equal aj Z.zero then + (if not (Z.equal r Z.zero) then a.(j) <- Z.neg (Z.mul ac r)) + else if Z.equal r Z.zero then a.(j) <- Z.mul aj p + else a.(j) <- Z.sub (Z.mul aj p) (Z.mul ac r) done else for j = 0 to n - 1 do - let r = row.(j) in - if Z.equal r Z.zero then a.(j) <- Z.divexact (Z.mul a.(j) p) dprev - else a.(j) <- Z.divexact (Z.sub (Z.mul a.(j) p) (Z.mul ac r)) dprev + let aj = a.(j) and r = row.(j) in + (* Same numerator [aj*p - ac*r], then the exact /dprev. divexact of 0 is 0, + so the aj=0,r=0 case is a pure skip. *) + if Z.equal aj Z.zero then + (if not (Z.equal r Z.zero) then + a.(j) <- Z.divexact (Z.neg (Z.mul ac r)) dprev) + else if Z.equal r Z.zero then a.(j) <- Z.divexact (Z.mul aj p) dprev + else a.(j) <- Z.divexact (Z.sub (Z.mul aj p) (Z.mul ac r)) dprev done let do_pivot tb x y =