public static DataType getFloatDataType(int rawFormatByteSize, DataTypeManager dtm) {
		if (rawFormatByteSize < 1) {
			return DefaultDataType.dataType;
		}
		if (dtm != null) {
			DataOrganization dataOrganization = dtm.getDataOrganization();
			if (dataOrganization != null) {
				if (rawFormatByteSize == dataOrganization.getFloatSize()) {
					return FloatDataType.dataType.clone(dtm);
				}
				if (rawFormatByteSize == dataOrganization.getDoubleSize()) {
					return DoubleDataType.dataType.clone(dtm);
				}
				if (rawFormatByteSize == dataOrganization.getLongDoubleSize()) {
					return LongDoubleDataType.dataType.clone(dtm);
				}
			}
		}
		DataType dt = getFloatTypes().get(rawFormatByteSize);
		if (dt == null) {
			return Undefined.getUndefinedDataType(rawFormatByteSize);
		}
		return dt;
	}
Get a Float data-type instance with the requested raw format size in bytes. It is important that the
"raw" format size is specified since the {@link DataType#getAlignedLength() aligned-length}
used by compilers (e.g., {@code sizeof()}) may be larger and duplicated across different 
float formats.  Example: an 80-bit (10-byte) float may have an aligned-length of 12 or 16-bytes 
based upon alignment requirements of a given compiler.  This can result in multiple float
types having the same aligned-length.

@param rawFormatByteSize raw float format size, unsupported sizes will cause an undefined 
				type to be returned.
@param dtm optional program data-type manager, if specified a generic data-type will be
           	returned if possible (i.e., float, double, long double).
@return float data type of specified size
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AbstractFloatDataType.java