diff --git a/CHERICap.bsv b/CHERICap.bsv index 37dba33..51339d3 100644 --- a/CHERICap.bsv +++ b/CHERICap.bsv @@ -189,14 +189,13 @@ typeclass CHERICap#(type t, numeric type ot, numeric type flg, numeric type n, n // base. function Bit#(2) getBaseAlignment (t cap); - // TODO the following do not compile due to "not enough explicit type information" // Get representable alignment mask - // function Bit#(n) getRepresentableAlignmentMask (t dummy, Bit#(n) length_request) = - // setBoundsCombined(nullCap, length_request).mask; + function Bit#(n) getRepresentableAlignmentMask (t dummy, Bit#(n) length_request) = + setBoundsCombined(nullCapFromDummy(dummy), length_request).mask; // Get representable length - // function Bit#(n) getRepresentableLength (t dummy, Bit#(n) length_request) = - // setBoundsCombined(nullCap, length_request).length; + function Bit#(n) getRepresentableLength (t dummy, Bit#(n) length_request) = + setBoundsCombined(nullCapFromDummy(dummy), length_request).length; // Assert that the encoding is valid function Bool isDerivable (t cap);