From dc9bbf26befc9e1ec0c8e4dd93a5041d71954ec6 Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 20 Sep 2018 16:16:30 +0100 Subject: Add an additional type checking test --- test/typecheck/fpthreesimp.sail | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 test/typecheck/fpthreesimp.sail (limited to 'test') diff --git a/test/typecheck/fpthreesimp.sail b/test/typecheck/fpthreesimp.sail new file mode 100644 index 00000000..3f759ba4 --- /dev/null +++ b/test/typecheck/fpthreesimp.sail @@ -0,0 +1,14 @@ +default Order dec + +$include + +val Zeros : forall 'N, 'N >= 0. int('N) -> bits('N) + +type FPExponent ('N : Int) = {'E, ('N = 16 & 'E = 5) | ('N = 32 & 'E = 8) | ('N = 64 & 'E = 11). int('E)} + +val FPThree : forall 'N, 'N in {16, 32, 64}. bits(1) -> bits('N) + +function FPThree(sign) = { + let E : FPExponent('N) = if 'N == 16 then 5 else if 'N == 32 then 8 else 11; + sign @ 0b1 @ Zeros(E - 1) @ 0b1 @ Zeros('N - E - 2) +} \ No newline at end of file -- cgit v1.2.3