Add basic bit types
This commit is contained in:
parent
c4ebe23f73
commit
5e42b68f47
|
|
@ -1,18 +1,29 @@
|
||||||
package Interfaces
|
package Interfaces
|
||||||
with Pure is
|
with Pure is
|
||||||
|
|
||||||
type Integer_32 is range -2**31 .. 2**31 - 1;
|
type Bit_1 is mod 2**1
|
||||||
type Unsigned_32 is mod 2**32;
|
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;
|
||||||
|
|
||||||
function Shift_Left (Value : Unsigned_32; Amount : Natural)
|
type Bit_31 is mod 2**32
|
||||||
return Unsigned_32 with Import, Convention => Intrinsic;
|
with Size => 31;
|
||||||
function Shift_Right (Value : Unsigned_32; Amount : Natural)
|
type Bit_32 is mod 2**32
|
||||||
return Unsigned_32 with Import, Convention => Intrinsic;
|
with Size => 32;
|
||||||
function Shift_Right_Arithmetic (Value : Unsigned_32; Amount : Natural)
|
|
||||||
return Unsigned_32 with Import, Convention => Intrinsic;
|
function Shift_Left (Value : Bit_32; Amount : Natural)
|
||||||
function Rotate_Left (Value : Unsigned_32; Amount : Natural)
|
return Bit_32 with Import, Convention => Intrinsic;
|
||||||
return Unsigned_32 with Import, Convention => Intrinsic;
|
function Shift_Right (Value : Bit_32; Amount : Natural)
|
||||||
function Rotate_Right (Value : Unsigned_32; Amount : Natural)
|
return Bit_32 with Import, Convention => Intrinsic;
|
||||||
return Unsigned_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;
|
end Interfaces;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user