From bc4b5a594e9cd3593615b0140be1b433c46bf977 Mon Sep 17 00:00:00 2001 From: Tim Hutt Date: Sat, 25 Jan 2025 13:41:55 +0000 Subject: [PATCH] Add float_compose to complement float_decompose This can be useful for example to make a generic canonical_NaN() function. --- lib/float/common.sail | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/float/common.sail b/lib/float/common.sail index d1584d9f7..cf291ec9f 100644 --- a/lib/float/common.sail +++ b/lib/float/common.sail @@ -66,6 +66,9 @@ function float_decompose(op) = { } } +val float_compose : forall 'n, 'n in { 16, 32, 64, 128 }. float_bits('n) -> bits('n) +function float_compose(op) = op.sign @ op.exp @ op.mantissa + val float_has_max_exp : forall 'n, 'n in { 16, 32, 64, 128 }. bits('n) -> bool function float_has_max_exp (op) = { let fp = float_decompose (op);