/* * Copyright 2012 Phil Pratt-Szeliga and other contributors * http://chirrup.org/ * * See the file LICENSE for copying permission. */ package org.trifort.rootbeer.testcases.rootbeertest.serialization; import org.trifort.rootbeer.runtime.Kernel; public class LongArraysRunOnGpu implements Kernel { private long element; private long[] element1; private long[][] element2; private long[][][] element3; public LongArraysRunOnGpu(){ int size = 11; element = 10; element1 = new long[size]; element2 = new long[size][size]; element3 = new long[size][size][size]; for(int m = 0; m < size; m++){ for(int n = 0; n < size; n++){ for(int p = 0; p < size; ++p){ element3[m][n][p] = (long) p; element2[n][p] = (long) p; element1[p] = (long) p; } } } } public void gpuMethod() { element++; element1[0]++; element2[0][0]++; element3[0][0][0]++; } boolean compare(LongArraysRunOnGpu brhs) { if(element != brhs.element){ System.out.println("element: "+element); System.out.println("rhs.element: "+brhs.element); return false; } int size = 11; for(int m = 0; m < size; m++){ for(int n = 0; n < size; n++){ for(int p = 0; p < size; ++p){ if(element1[p] != brhs.element1[p]){ System.out.println("p: "+p); System.out.println("element: "+element1[p]); System.out.println("rhs.element: "+brhs.element1[p]); return false; } if(element2[n][p] != brhs.element2[n][p]){ System.out.println("p: "+p); System.out.println("n: "+n); System.out.println("element: "+element2[n][p]); System.out.println("rhs.element: "+brhs.element2[n][p]); return false; } if(element3[m][n][p] != brhs.element3[m][n][p]){ System.out.println("p: "+p); System.out.println("n: "+n); System.out.println("m: "+m); System.out.println("element: "+element3[m][n][p]); System.out.println("rhs.element: "+brhs.element3[m][n][p]); return false; } } } } return true; } }