add C functions for map lengthPrefix
This commit is contained in:
parent
10dab73876
commit
e07b3585f9
6 changed files with 81 additions and 13 deletions
morphisms/src
|
@ -28,6 +28,51 @@ int length_prefix_uint64_array_reverse(
|
|||
return 0;
|
||||
}
|
||||
|
||||
int length_prefix_array_map_64_to_64(
|
||||
int (*f) ( uint64_t const * restrict, uint64_t * restrict ),
|
||||
struct LengthPrefixUInt64Array const * restrict src,
|
||||
struct LengthPrefixUInt64Array * restrict dst
|
||||
) {
|
||||
dst->len = src->len;
|
||||
for( uint64_t i = 0; i < src->len; ++i ) {
|
||||
int result = f( &src->items[i], &dst->items[i] );
|
||||
if( result ) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int length_prefix_array_map_8_to_64(
|
||||
int (*f) ( uint8_t const * restrict, uint64_t * restrict ),
|
||||
struct LengthPrefixUInt8Array const * restrict src,
|
||||
struct LengthPrefixUInt64Array * restrict dst
|
||||
) {
|
||||
dst->len = src->len;
|
||||
for( uint64_t i = 0; i < src->len; ++i ) {
|
||||
int result = f( &src->items[i], &dst->items[i] );
|
||||
if( result ) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int length_prefix_array_map_64_to_8(
|
||||
int (*f) ( uint64_t const * restrict, uint8_t * restrict ),
|
||||
struct LengthPrefixUInt64Array const * restrict src,
|
||||
struct LengthPrefixUInt8Array * restrict dst
|
||||
) {
|
||||
dst->len = src->len;
|
||||
for( uint64_t i = 0; i < src->len; ++i ) {
|
||||
int result = f( &src->items[i], &dst->items[i] );
|
||||
if( result ) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void length_prefix_uint64_array_dump(
|
||||
struct LengthPrefixUInt64Array const * data
|
||||
) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue