/* * Copyright 2012 Phil Pratt-Szeliga and other contributors * http://chirrup.org/ * * See the file LICENSE for copying permission. */ package org.trifort.rootbeer.testcases.rootbeertest.gpurequired; import org.trifort.rootbeer.runtime.Kernel; public class NewOnGpuRunOnGpu implements Kernel { private long[] element1; private NewOnGpuRefObject[] test; //private long[][] element2; private NewOnGpuRefObject obj; public NewOnGpuRunOnGpu(){ element1 = new long[10]; test = new NewOnGpuRefObject[20]; //element2 = new long[10][10]; obj = null; } @Override public void gpuMethod() { element1 = new long[11]; test = new NewOnGpuRefObject[44]; for(int i = 0; i < 44; ++i){ test[i] = new NewOnGpuRefObject(); } //element2 = new long[50][50]; obj = new NewOnGpuRefObject(); int x = 20; switch(x){ case 10: x = 40; break; case 20: x = 30; break; } } boolean compare(NewOnGpuRunOnGpu brhs) { if(brhs.obj == null){ System.out.println("brhs.obj == null"); return false; } if(brhs.element1 == null){ System.out.println("brhs.element1 == null"); return false; } if(brhs.test == null){ System.out.println("brhs.test == null"); return false; } if(obj.value != brhs.obj.value){ System.out.println("obj.value mismatch"); System.out.println("lhs: "+obj.value); System.out.println("rhs: "+brhs.obj.value); return false; } if(element1.length != brhs.element1.length){ System.out.println("element1.length mismatch"); System.out.println("lhs: "+element1.length); System.out.println("rhs: "+brhs.element1.length); return false; } if(test.length != brhs.test.length){ System.out.println("test.length mismatch"); System.out.println("lhs: "+test.length); System.out.println("rhs: "+brhs.test.length); return false; } for(int i = 0; i < test.length; ++i){ NewOnGpuRefObject left = test[i]; NewOnGpuRefObject right = brhs.test[i]; if(right == null){ System.out.println("right == null at "+i); return false; } if(left.value != right.value){ System.out.println("test value mismatch"); System.out.println("lhs: "+left.value); System.out.println("rhs: "+right.value); System.out.println("index: "+i); return false; } } return true; } }