Add predefined datatypes for FP6 formats (#6097)

Adds predefined datatypes for FP6 data in E2M3 and E3M2 formats

Does not add support for any native FP6 types; datatype conversions are performed in software
This commit is contained in:
jhendersonHDF
2025-12-19 12:56:54 -06:00
committed by GitHub
parent 0b0ed3ac50
commit 441d83a896
40 changed files with 2036 additions and 741 deletions
+8
View File
@@ -156,6 +156,8 @@ PredType *PredType::FLOAT_BFLOAT16BE_;
PredType *PredType::FLOAT_BFLOAT16LE_;
PredType *PredType::FLOAT_F8E4M3_;
PredType *PredType::FLOAT_F8E5M2_;
PredType *PredType::FLOAT_F6E2M3_;
PredType *PredType::FLOAT_F6E3M2_;
PredType *PredType::UNIX_D32BE_;
PredType *PredType::UNIX_D32LE_;
@@ -348,6 +350,8 @@ PredType::makePredTypes()
FLOAT_BFLOAT16LE_ = new PredType(H5T_FLOAT_BFLOAT16LE);
FLOAT_F8E4M3_ = new PredType(H5T_FLOAT_F8E4M3);
FLOAT_F8E5M2_ = new PredType(H5T_FLOAT_F8E5M2);
FLOAT_F6E2M3_ = new PredType(H5T_FLOAT_F6E2M3);
FLOAT_F6E3M2_ = new PredType(H5T_FLOAT_F6E3M2);
UNIX_D32BE_ = new PredType(H5T_UNIX_D32BE);
UNIX_D32LE_ = new PredType(H5T_UNIX_D32LE);
@@ -506,6 +510,8 @@ PredType::deleteConstants()
delete FLOAT_BFLOAT16LE_;
delete FLOAT_F8E4M3_;
delete FLOAT_F8E5M2_;
delete FLOAT_F6E2M3_;
delete FLOAT_F6E3M2_;
delete UNIX_D32BE_;
delete UNIX_D32LE_;
@@ -668,6 +674,8 @@ const PredType &PredType::FLOAT_BFLOAT16BE = *FLOAT_BFLOAT16BE_;
const PredType &PredType::FLOAT_BFLOAT16LE = *FLOAT_BFLOAT16LE_;
const PredType &PredType::FLOAT_F8E4M3 = *FLOAT_F8E4M3_;
const PredType &PredType::FLOAT_F8E5M2 = *FLOAT_F8E5M2_;
const PredType &PredType::FLOAT_F6E2M3 = *FLOAT_F6E2M3_;
const PredType &PredType::FLOAT_F6E3M2 = *FLOAT_F6E3M2_;
const PredType &PredType::UNIX_D32BE = *UNIX_D32BE_;
const PredType &PredType::UNIX_D32LE = *UNIX_D32LE_;
+4
View File
@@ -96,6 +96,8 @@ class H5CPP_DLL PredType : public AtomType {
static const PredType &FLOAT_BFLOAT16LE;
static const PredType &FLOAT_F8E4M3;
static const PredType &FLOAT_F8E5M2;
static const PredType &FLOAT_F6E2M3;
static const PredType &FLOAT_F6E3M2;
static const PredType &UNIX_D32BE;
static const PredType &UNIX_D32LE;
@@ -271,6 +273,8 @@ class H5CPP_DLL PredType : public AtomType {
static PredType *FLOAT_BFLOAT16LE_;
static PredType *FLOAT_F8E4M3_;
static PredType *FLOAT_F8E5M2_;
static PredType *FLOAT_F6E2M3_;
static PredType *FLOAT_F6E3M2_;
static PredType *UNIX_D32BE_;
static PredType *UNIX_D32LE_;