Hello,
I'm new to Ada and bitwise operations is a new challenge in this realm.
My objective is to manipulate some bit strings in Ada, especially:
a) addition/subtraction mod 2**n,
b) change bits directly (e.g, via array access)
c) ****ft operations
d) rotate operations
e) and, xor, not, or
I started with an array of booleans of size 2**n, that provides neat
access to individual bits by means of an index. Unfortunately,
addition/subtraction mod 2**n is not sup****ted, but essential for me.
Next, I tried modular types (mod 2**n), but ended up with not having
direct access to individual bits. My last attempt was to use
Interfaces.Unsinged_n. It is a solid package that simplifies the usage
of bitwise operations for me by adding ****ft and rotate operations.
Addition modulo n works well, but I have to dispense with direct bit
access, too.
So, what is coming next? Should I go with Interfaces.Unsinged_n and
provide a suitable function that converts the used type into an array of
boolean? Maybe, I'm ought to use directly an array of boolean and try to
convert the array into an Unsigned_n; if required to add two bit-strings.
I'm looking forward for some answers.
Best regards,
Dennis
Best regards,
Dennis


|