package com.thaiopensource.datatype.xsd;
import org.relaxng.datatype.ValidationContext;
class FloatDatatype extends DoubleDatatype {
Object getValue(String str, ValidationContext vc) {
if (str.equals("INF"))
return Float.POSITIVE_INFINITY;
if (str.equals("-INF"))
return Float.NEGATIVE_INFINITY;
if (str.equals("NaN"))
return Float.NaN;
return new Float(str);
}
public boolean isLessThan(Object obj1, Object obj2) {
return (Float)obj1 < (Float)obj2;
}
public boolean sameValue(Object value1, Object value2) {
float f1 = (Float)value1;
float f2 = (Float)value2;
// NaN = NaN
return f1 == f2 || (f1 != f1 && f2 != f2);
}
}