generate all length prefix array variants via macro

This commit is contained in:
Michael Sippel 2025-03-20 16:16:41 +01:00
parent 4c7302c4a3
commit e29a5a3475
Signed by: senvas
GPG key ID: F96CF119C34B64A6
7 changed files with 175 additions and 241 deletions

View file

@ -40,15 +40,15 @@ morph_posint_radix_le (SrcRadix:, DstRadix:)
value += src->items[src->len - i - 1];
}
length_prefix_uint64_array_clear( dst );
length_prefix_uint64_t_array_uint64_t_clear( dst );
#if DstRadix==0
length_prefix_uint64_array_push( dst, value );
length_prefix_uint64_t_array_uint64_t_push( dst, value );
#else
if( value == 0 ) {
length_prefix_uint64_array_push( dst, 0 );
length_prefix_uint64_t_array_uint64_t_push( dst, 0 );
} else while( value > 0 ) {
length_prefix_uint64_array_push( dst, value % DstRadix );
length_prefix_uint64_t_array_uint64_t_push( dst, value % DstRadix );
value /= DstRadix;
}
#endif
@ -103,7 +103,7 @@ morph_posint_endianness (Radix:)
~ <PosInt Radix BigEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit Radix> ~ x86.UInt64>
```
return length_prefix_uint64_array_reverse( src, dst );
return length_prefix_uint64_t_array_uint64_t_reverse( src, dst );
```
morph_posint_endianness (Radix:)
@ -114,5 +114,5 @@ morph_posint_endianness (Radix:)
~ <PosInt Radix LittleEndian>
~ <Seq~<LengthPrefix x86.UInt64> <Digit Radix> ~ x86.UInt64>
```
return length_prefix_uint64_array_reverse( src, dst );
return length_prefix_uint64_t_array_uint64_t_reverse( src, dst );
```