(31 . 8)(31 . 11)
514 -- The number of bytes in a Half-Word
515 HalfByteness : constant Positive := Byteness / 2;
516
517 -- Multiply half-words X and Y, producing a Word-sized product
518 function Mul_HalfWord(X : in HalfWord; Y : in HalfWord) return Word;
519 -- Multiply half-words X and Y, producing a Word-sized product (Iron)
520 function Mul_HalfWord_Iron(X : in HalfWord; Y : in HalfWord) return Word;
521
522 -- Multiply half-words X and Y, producing a Word-sized product (Egyptian)
523 function Mul_HalfWord_Soft(X : in HalfWord; Y : in HalfWord) return Word;
524
525 -- Get the bottom half of a Word
526 function BottomHW(W : in Word) return HalfWord;
(40 . 7)(43 . 7)
528 -- Get the top half of a Word
529 function TopHW(W : in Word) return HalfWord;
530
531 -- Carry out X*Y mult, return lower word XY_LW and upper word XY_HW.
532 -- Carry out X*Y mult, return lower word XY_LW and upper word XY_HW (Iron)
533 procedure Mul_Word(X : in Word; Y : in Word; XY_LW : out Word; XY_HW : out Word);
534
535 end W_Mul;