diff --git a/Programs/Source/test_flow_optimization.mpc b/Programs/Source/test_flow_optimization.mpc new file mode 100644 index 00000000..ba7af650 --- /dev/null +++ b/Programs/Source/test_flow_optimization.mpc @@ -0,0 +1,23 @@ +n = 10 ** 7 +a = regint.Array(n) +b = regint.Array(n) + +for i in range(n): + if i > 1000: + a[i] = i + + if i < 1000: + b[i] = -1 + else: + b[i] = 2 * i + +def test(a, index, value): + print_ln('expected %s got %s at %s', value, a[index], index) + crash(a[index] != value) + +test(a, 999, 0) +test(b, 999, -1) +test(a, 10000, 10000) +test(b, 10000, 20000) +test(a, 1000000, 1000000) +test(b, 1000000, 2000000) diff --git a/Scripts/test_flow_optimization.sh b/Scripts/test_flow_optimization.sh new file mode 100755 index 00000000..b9ec62f6 --- /dev/null +++ b/Scripts/test_flow_optimization.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +./compile.py -l test_flow_optimization || exit 1 +Scripts/rep-field.sh test_flow_optimization || exit 1