/*
* 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 CmplInfRunOnGpu implements Kernel {
private double m_value;
private int m_ret;
public CmplInfRunOnGpu(double value) {
m_value = value;
}
public void gpuMethod() {
m_ret = 0;
if(m_value == Double.NEGATIVE_INFINITY){
m_ret += 1;
}
if(m_value > Double.NEGATIVE_INFINITY){
m_ret += 4;
}
if(m_value >= Double.NEGATIVE_INFINITY){
m_ret += 8;
}
if(m_value < Double.NEGATIVE_INFINITY){
m_ret += 16;
}
if(m_value <= Double.NEGATIVE_INFINITY){
m_ret += 32;
}
if(m_value == Double.POSITIVE_INFINITY){
m_ret += 64;
}
if(m_value > Double.POSITIVE_INFINITY){
m_ret += 128;
}
if(m_value >= Double.POSITIVE_INFINITY){
m_ret += 256;
}
if(m_value < Double.POSITIVE_INFINITY){
m_ret += 512;
}
if(m_value <= Double.POSITIVE_INFINITY){
m_ret += 1024;
}
}
public boolean compare(CmplInfRunOnGpu rhs) {
if(m_ret != rhs.m_ret){
System.out.println("m_ret");
System.out.println("lhs: "+m_ret);
System.out.println("rhs: "+rhs.m_ret);
System.out.println("value: "+m_value);
return false;
}
return true;
}
}