FloatColumnType.java
package tech.tablesaw.columns.numbers;
import tech.tablesaw.api.ColumnType;
import tech.tablesaw.api.FloatColumn;
import tech.tablesaw.columns.AbstractColumnType;
import tech.tablesaw.io.ReadOptions;
/** The {@link ColumnType} for {@link FloatColumn} */
public class FloatColumnType extends AbstractColumnType {
public static final int BYTE_SIZE = 4;
/** Returns the default parser for {@link FloatColumn} */
public static final FloatParser DEFAULT_PARSER = new FloatParser(ColumnType.FLOAT);
private static FloatColumnType INSTANCE;
private FloatColumnType(int byteSize, String name, String printerFriendlyName) {
super(byteSize, name, printerFriendlyName);
}
/** Returns the singleton instance of FloatColumnType */
public static FloatColumnType instance() {
if (INSTANCE == null) {
INSTANCE = new FloatColumnType(BYTE_SIZE, "FLOAT", "float");
}
return INSTANCE;
}
/** {@inheritDoc} */
@Override
public FloatColumn create(String name) {
return FloatColumn.create(name);
}
/** {@inheritDoc} */
@Override
public FloatParser customParser(ReadOptions options) {
return new FloatParser(this, options);
}
/** Returns true if the given value is the missing value indicator for this column type */
public static boolean valueIsMissing(float value) {
return Float.isNaN(value);
}
/** Returns the missing value indicator for this column type */
public static float missingValueIndicator() {
return Float.NaN;
}
}