package datapath.graph.type;
import datapath.graph.operations.constValue.Value;
/**
*
* @author jh
*/
public class Integer extends Type {
@Override
public double getMaxValue() {
double result;
if (isSigned())
result = (1 << getBitsize()) -1.0;
else
result = (1 << (getBitsize() + 1)) -1.0;
return result;
}
@Override
public double getMinValue() {
if (isSigned())
return (0.0-getMaxValue() - 1.0);
else
return 0.0;
}
@Override
public String toHex(Value value) {
java.lang.Integer iv = (java.lang.Integer)value.getValue();
return java.lang.Integer.toHexString(iv);
}
@Override
public String toString() {
return new String(getBitsize() + "-bit "+
(isSigned() ? "signed" : "unsigned") +" Integer\nValue Range: [" +
getMinValue() + "..." + getMaxValue() + "]");
}
}