package Interfaces with Pure is type Bit_1 is mod 2**1 with Size => 1; type Bit_2 is mod 2**2 with Size => 2; type Bit_3 is mod 2**3 with Size => 3; type Bit_4 is mod 2**4 with Size => 4; type Bit_20 is mod 2**20 with Size => 20; type Bit_31 is mod 2**31 with Size => 31; type Bit_32 is mod 2**32 with Size => 32; function Shift_Left (Value : Bit_32; Amount : Natural) return Bit_32 with Import, Convention => Intrinsic; function Shift_Right (Value : Bit_32; Amount : Natural) return Bit_32 with Import, Convention => Intrinsic; function Shift_Right_Arithmetic (Value : Bit_32; Amount : Natural) return Bit_32 with Import, Convention => Intrinsic; function Rotate_Left (Value : Bit_32; Amount : Natural) return Bit_32 with Import, Convention => Intrinsic; function Rotate_Right (Value : Bit_32; Amount : Natural) return Bit_32 with Import, Convention => Intrinsic; end Interfaces;