(27 . 13)(27 . 16)
2259 -- Branch-free calculation of 'carry' from a machine-word addition.
2260 function W_Carry(A : in Word; B : in Word; S : in Word)
2261 return WBool;
2262 pragma Inline_Always(W_Carry);
2263
2264 -- Branch-free calculation of 'borrow' from a machine-word subtraction.
2265 function W_Borrow(A : in Word; B : in Word; D : in Word)
2266 return WBool;
2267 pragma Inline_Always(W_Borrow);
2268
2269 -- Without any branching: if Sel == 0, return A; if Sel == 1, return B.
2270 function W_Mux(A : in Word; B : in Word; Sel : in WBool)
2271 return Word;
2272 pragma Inline_Always(W_Mux);
2273
2274 end Word_Ops;