with Interfaces;
inherit Interfaces;
package LSC.Types is
pragma Pure;
Byte_Array32_Type
Byte_Array64_Type
Index
Word32_Array_Type
Word64_Array_Type
type Index is range 0 .. 79;
subtype Byte is Interfaces.Unsigned_8;
subtype Word32 is Interfaces.Unsigned_32;
subtype Word64 is Interfaces.Unsigned_64;
subtype Byte_Array32_Index is Index range 0 .. 3;
type Byte_Array32_Type is array (Byte_Array32_Index) of Byte;
subtype Byte_Array64_Index is Index range 0 .. 7;
type Byte_Array64_Type is array (Byte_Array64_Index) of Byte;
type Word32_Array_Type is array (Index range <>) of Word32;
type Word64_Array_Type is array (Index range <>) of Word64;
function ROTR (Value : Word64; Amount : Natural) return Word64; pragma Inline (ROTR);
Value
Amount
function SHR (Value : Word64; Amount : Natural) return Word64; pragma Inline (SHR);
function SHL (Value : Word64; Amount : Natural) return Word64; pragma Inline (SHL);
function ROTR32 (Value : Word32; Amount : Natural) return Word32; pragma Inline (ROTR32);
function ROTL32 (Value : Word32; Amount : Natural) return Word32; pragma Inline (ROTL32);
function SHL32 (Value : Word32; Amount : Natural) return Word32; pragma Inline (SHL32);
function SHR32 (Value : Word32; Amount : Natural) return Word32; pragma Inline (SHR32);
function Word32_To_Byte_Array32 (Value : Word32) return Byte_Array32_Type; pragma Inline (Word32_To_Byte_Array32);
function Byte_Array32_To_Word32 (Value : Byte_Array32_Type) return Word32; pragma Inline (Byte_Array32_To_Word32);
function Word64_To_Byte_Array64 (Value : Word64) return Byte_Array64_Type; pragma Inline (Word64_To_Byte_Array64);
function Byte_Array64_To_Word64 (Value : Byte_Array64_Type) return Word64; pragma Inline (Byte_Array64_To_Word64);
end LSC.Types;