aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-01-06 18:27:58 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-01-06 18:27:58 -0800
commit3e3fdc0d7711f39e001de0f3c46b4a7a35a67312 (patch)
tree682516575874db81e710a5ffb03da4884097552b /tests
parente123bd5a0dbaaa800761eb56792e42a00d0a72de (diff)
add disabled copying benchmark
Diffstat (limited to 'tests')
-rw-r--r--tests/runner.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py
index 336d9d9d..7095b588 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -5630,6 +5630,49 @@ elif 'benchmark' in str(sys.argv):
'''
self.do_benchmark(src, [], 'final: 720.')
+ def zzztest_copy(self):
+ src = r'''
+ #include<stdio.h>
+ struct vec {
+ int x, y, z;
+ int r, g, b;
+ vec(int x_, int y_, int z_, int r_, int g_, int b_) : x(x_), y(y_), z(z_), r(r_), g(g_), b(b_) {}
+ static vec add(vec a, vec b) {
+ return vec(a.x+b.x, a.y+b.y, a.z+b.z, a.r+b.r, a.g+b.g, a.b+b.b);
+ }
+ void norm() {
+ x %= 1024;
+ y %= 1024;
+ z %= 1024;
+ r %= 1024;
+ b %= 1024;
+ g %= 1024;
+ }
+ int sum() { return x + y + z + r + g + b; }
+ };
+ int main() {
+ int total = 0;
+ for (int i = 0; i < 2500; i++) {
+ for (int j = 0; j < 1000; j++) {
+ vec c(i, i+i%10, j*2, i%255, j%120, i%15);
+ vec d(j+i%10, j*2, j%255, i%120, j%15, j);
+ vec e = c;
+ c.norm();
+ d.norm();
+ vec f = vec::add(c, d);
+ f = vec::add(e, f);
+ f.norm();
+ f = vec::add(d, f);
+ total += f.sum() % 100;
+ total %= 10240;
+ }
+ }
+ printf("sum:%d\n", total);
+ return 1;
+ }
+ '''
+ self.do_benchmark(src, [], 'sum:3588\n')
+
def test_fannkuch(self):
src = open(path_from_root('tests', 'fannkuch.cpp'), 'r').read()
self.do_benchmark(src, ['10'], 'Pfannkuchen(10) = 38.')