/*
* 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 java.util.List;
import org.trifort.rootbeer.runtime.Kernel;
public class ArrayListRunOnGpu implements Kernel {
private List<ArrayListTestObject> m_arrayList;
public ArrayListRunOnGpu(List<ArrayListTestObject> array_list){
m_arrayList = array_list;
}
public void gpuMethod() {
for(int i = 0; i < 4; ++i){
ArrayListTestObject new_object = new ArrayListTestObject();
new_object.m_value = i;
m_arrayList.add(new_object);
}
}
public boolean compare(ArrayListRunOnGpu rhs) {
List<ArrayListTestObject> lhs_list = m_arrayList;
List<ArrayListTestObject> rhs_list = rhs.m_arrayList;
if(lhs_list.size() != rhs_list.size()){
System.out.println("size");
System.out.println("lhs: "+lhs_list.size());
System.out.println("rhs: "+rhs_list.size());
return false;
}
boolean passed = true;
for(int i = 0; i < lhs_list.size(); ++i){
ArrayListTestObject lhs_obj = lhs_list.get(i);
ArrayListTestObject rhs_obj = rhs_list.get(i);
if(lhs_obj == null){
System.out.println("lhs_obj null at "+i);
passed = false;
} else if(rhs_obj == null){
System.out.println("rhs_obj null at "+i);
passed = false;
} else if(lhs_obj.m_value != rhs_obj.m_value){
System.out.println("obj.m_value at "+i);
passed = false;
}
}
return passed;
}
}