Match NVFP4 midpoint rounding
This commit is contained in:
parent
9c0992350f
commit
11d3c4164e
1 changed files with 7 additions and 7 deletions
|
|
@ -58,19 +58,19 @@ __inline__ __device__ uint8_t encode_fp4_e2m1(float value) {
|
|||
const bool negative = signbit(value);
|
||||
float abs_value = fabsf(value);
|
||||
uint8_t code = 0;
|
||||
if (abs_value >= 5.0f) {
|
||||
if (abs_value > 5.0f) {
|
||||
code = 7;
|
||||
} else if (abs_value >= 3.5f) {
|
||||
} else if (abs_value > 3.5f) {
|
||||
code = 6;
|
||||
} else if (abs_value >= 2.5f) {
|
||||
} else if (abs_value > 2.5f) {
|
||||
code = 5;
|
||||
} else if (abs_value >= 1.75f) {
|
||||
} else if (abs_value > 1.75f) {
|
||||
code = 4;
|
||||
} else if (abs_value >= 1.25f) {
|
||||
} else if (abs_value > 1.25f) {
|
||||
code = 3;
|
||||
} else if (abs_value >= 0.75f) {
|
||||
} else if (abs_value > 0.75f) {
|
||||
code = 2;
|
||||
} else if (abs_value >= 0.25f) {
|
||||
} else if (abs_value > 0.25f) {
|
||||
code = 1;
|
||||
}
|
||||
return negative ? static_cast<uint8_t>(code | 0x8u) : code;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue