public static AbstractFloatDataType[] getFloatDataTypes(DataTypeManager dtm) {
		TreeMap<Integer, AbstractFloatDataType> floatMap = getFloatTypes();
		TreeMap<Integer, AbstractFloatDataType> newFloatMap = floatMap;
		if (dtm != null) {
			DataOrganization dataOrganization = dtm.getDataOrganization();
			if (dataOrganization != null) {
				newFloatMap = new TreeMap<Integer, AbstractFloatDataType>();
				newFloatMap.put(dataOrganization.getFloatSize(),
					(AbstractFloatDataType) FloatDataType.dataType.clone(dtm));
				if (!newFloatMap.containsKey(dataOrganization.getDoubleSize())) {
					newFloatMap.put(dataOrganization.getDoubleSize(),
						(AbstractFloatDataType) DoubleDataType.dataType.clone(dtm));
				}
				if (!newFloatMap.containsKey(dataOrganization.getLongDoubleSize())) {
					newFloatMap.put(dataOrganization.getLongDoubleSize(),
						(AbstractFloatDataType) LongDoubleDataType.dataType.clone(dtm));
				}
				for (int size : floatMap.keySet()) {
					if (!newFloatMap.containsKey(size)) {
						newFloatMap.put(size,
							(AbstractFloatDataType) floatMap.get(size).clone(dtm));
					}
				}
			}
		}
		AbstractFloatDataType[] floatTypeArray = new AbstractFloatDataType[newFloatMap.size()];
		newFloatMap.values().toArray(floatTypeArray);
		return floatTypeArray;
	}
Returns all built-in floating-point data types

@param dtm optional program data-type manager, if specified generic data-types will be
           returned in place of fixed-sized data-types.
@return array of floating-point data types
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AbstractFloatDataType.java