Test ran at 2025-02-14 12:52:34.906830+00:00 SOLUTION: byteflippers=1.1.0: Signed/modular types for system, big and little endian reading/writing. Origin: commit 6a0c43ead736c3cece4c176f69fcebe0ca1d4b64 from https://github.com/Bread-Experts-Group/byteflippers.git Properties: Author: Miko Elbrecht Description: Signed/modular types for system, big and little endian reading/writing. License: Apache-2.0 WITH LLVM-exception Long_Description: Modular and signed types to convert between big and little endian, such as 50 (0x00000032) to 838860800 (0x32000000). Currently supported are 16/24/[32/64/128]-bit sized signed/modular/fp numeric types for big/little endian respectively, as well as system-endian dependent base types for 8/16/24/[32/64/128]-bit signed/modular/fp numeric types (for both categories: numbers in square brackets indicate the supported sizes of floating-points (fp.))) All types are compatible with `Interfaces` operators, such as `Shift_Left`, `Shift_Right`, `Rotate_Left`, `Rotate_Right`, as well as (where applicable) `xor`, `and`, `or`. **NOTE:** This library depends on the GNAT compiler, as it depends on the `Provide_Shift_Operators` pragma. If you need support for another compiler, please let me know, and I'll try to support it. ## Example Use ```ada with Byteflippers; with Ada.Text_IO; with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO; procedure Scratch is package Endians_u32 renames Byteflippers.Endians_Unsigned_32; F : File_Type; S : Stream_Access; begin Create (F, Name => "test.bin"); S := Stream (F); Byteflippers.Signed_32'Write (S, 1234); Endians_u32.Little_Endian'Write (S, 5678); Endians_u32.Little_Endian'Write (S, 9101); Endians_u32.Big_Endian'Write (S, 1213); Endians_u32.Big_Endian'Write (S, 1415); Close (F); Open (F, In_File, "test.bin"); S := Stream (F); Ada.Text_IO.Put_Line ("# System Endian Test"); Ada.Text_IO.Put_Line (Byteflippers.Signed_32'Input (S)'Image); Ada.Text_IO.Put_Line ("# Little Endian Test (System / Little)"); Ada.Text_IO.Put_Line (Byteflippers.Signed_32'Input (S)'Image); Ada.Text_IO.Put_Line (Endians_u32.Little_Endian'Input (S)'Image); Ada.Text_IO.Put_Line ("# Big Endian Test (System / Big)"); Ada.Text_IO.Put_Line (Byteflippers.Signed_32'Input (S)'Image); Ada.Text_IO.Put_Line (Endians_u32.Big_Endian'Input (S)'Image); end Scratch; ``` Maintainer: Miko Elbrecht Maintainers_Logins: ATPStorages Name: byteflippers Tag: byte Tag: endian Tag: flip Tag: swap Tag: msb Tag: lsb Tag: big-endian Tag: little-endian Version: 1.1.0 Website: https://github.com/Bread-Experts-Group/byteflippers LOG: Spawning: alr -d -n get --build byteflippers=1.1.0 Note: Deploying byteflippers=1.1.0... Note: Building byteflippers=1.1.0/byteflippers.gpr... Setup [mkdir] object directory for project Byteflippers [mkdir] library directory for project Byteflippers Compile [Ada] byteflippers_config.ads completed 1 out of 3 (33%)... [Ada] byteflipper_generics.adb completed 2 out of 3 (66%)... [Ada] byteflippers.ads completed 3 out of 3 (100%)... completed 3 out of 3 (100%)... completed 3 out of 3 (100%)... Build Libraries [gprlib] Byteflippers.lexch [archive] libByteflippers.a [index] libByteflippers.a byteflippers=1.1.0 successfully retrieved and built. There are no dependencies. Found declared GPR file: byteflippers.gpr