generate all length prefix array variants via macro
This commit is contained in:
parent
4c7302c4a3
commit
e29a5a3475
7 changed files with 175 additions and 241 deletions
morphisms
|
@ -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 );
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue