/* * 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; import org.trifort.rootbeer.runtime.RootbeerGpu; public class MultiArrayRunOnGpu implements Kernel { private int[][] m_Ret; private int[][][] m_Ret2; public MultiArrayRunOnGpu(){ } @Override public void gpuMethod() { int size = 30; m_Ret = new int[size][size]; m_Ret2 = new int[size][size][size]; for(int i = 0; i < size; ++i){ for(int j = 0; j < size; ++j){ m_Ret[i][j] = i+j; for(int k = 0; k < size; ++k){ m_Ret2[i][j][k] = i+j+k; } } } } boolean compare(MultiArrayRunOnGpu brhs) { if(m_Ret.length != brhs.m_Ret.length){ System.out.println("outer length failed"); return false; } for(int i = 0; i < m_Ret.length; ++i){ if(m_Ret[i].length != brhs.m_Ret[i].length){ System.out.println("inner length failed"); return false; } for(int j = 0; j < m_Ret[i].length; ++j){ int lhs = m_Ret[i][j]; int rhs = brhs.m_Ret[i][j]; if(lhs != rhs){ System.out.println("value failed"); return false; } } } if(m_Ret2.length != brhs.m_Ret2.length){ System.out.println("outer length failed ret2"); return false; } for(int i = 0; i < m_Ret2.length; ++i){ if(m_Ret2[i].length != brhs.m_Ret2[i].length){ System.out.println("inner1 length failed ret2"); return false; } for(int j = 0; j < m_Ret2[i].length; ++j){ if(m_Ret2[i][j].length != brhs.m_Ret2[i][j].length){ System.out.println("inner2 length failed ret2"); return false; } for(int k = 0; k < m_Ret2[i][j].length; ++k){ int lhs = m_Ret2[i][j][k]; int rhs = brhs.m_Ret2[i][j][k]; if(lhs != rhs){ System.out.println("value failed"); return false; } } } } return true; } }