diff options
| author | gingerBill <bill@gingerbill.org> | 2021-04-01 10:06:00 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-04-01 10:06:00 +0100 |
| commit | 54e6c507698bf68b040400783f05686cacaddff1 (patch) | |
| tree | ebe699d8a059f4e76e0a99494823d4cc3e3bcc1d /src/exact_value.cpp | |
| parent | a00d7cc705668da8a8b1a6ebd52668b5e9087bb9 (diff) | |
Implement `f16` functionality
Diffstat (limited to 'src/exact_value.cpp')
| -rw-r--r-- | src/exact_value.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/exact_value.cpp b/src/exact_value.cpp index 326f4d587..12c14b4fa 100644 --- a/src/exact_value.cpp +++ b/src/exact_value.cpp @@ -271,7 +271,11 @@ ExactValue exact_value_float_from_string(String string) { } } u64 u = u64_from_string(string); - if (digit_count == 8) { + if (digit_count == 4) { + u16 x = cast(u16)u; + f32 f = f16_to_f32(x); + return exact_value_float(cast(f64)f); + } else if (digit_count == 8) { u32 x = cast(u32)u; f32 f = bit_cast<f32>(x); return exact_value_float(cast(f64)f); |