private void configureByDataType(Class<?> dataType ) { if( dataType == float.class || dataType == double.class ) { sumType = dataType; isInteger = false; if( dataType == float.class ) numBits = 32; else numBits = 64; } else { isInteger = true; if( dataType == byte.class ) numBits = 8; else if( dataType == short.class ) numBits = 16; else if( dataType == int.class ) numBits = 32; else if( dataType == long.class ) numBits = 64; if( numBits <= 32 ) sumType = int.class; else sumType = long.class; } configureMinMaxValues(); }