/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.datamodel.types.internal;
import de.rcenvironment.core.datamodel.api.DataType;
import de.rcenvironment.core.datamodel.types.api.FloatTD;
/**
* Implementation of {@link FloatTD}.
*
* @author Doreen Seider
*/
public class FloatTDImpl extends AbstractTypedDatum implements FloatTD {
private final double floatValue;
public FloatTDImpl(double floatValue) {
super(DataType.Float);
this.floatValue = floatValue;
}
@Override
public double getFloatValue() {
return floatValue;
}
@Override
public int hashCode() {
final int prime = 31;
final int randomDigit = 32;
int result = 1;
long temp;
temp = Double.doubleToLongBits(floatValue);
result = prime * result + (int) (temp ^ (temp >>> randomDigit));
return result;
}
@Override
public boolean equals(Object obj) {
if (obj != null && obj instanceof FloatTD) {
FloatTD other = (FloatTD) obj;
return Double.doubleToLongBits(floatValue) == Double.doubleToLongBits(other.getFloatValue());
}
return false;
}
@Override
public String toString() {
return String.valueOf(getFloatValue());
}
}