[crypto] Add bigint_copy() as a convenient wrapper macro

Big integers may be efficiently copied using bigint_shrink() (which
will always copy only the size of the destination integer), but this
is potentially confusing to a reader of the code.

Provide bigint_copy() as an alias for bigint_shrink() so that the
intention of the calling code may be more obvious.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2024-01-19 12:29:29 +00:00
parent 26d3ef062b
commit 13e390d54e
2 changed files with 23 additions and 0 deletions

View File

@@ -149,6 +149,16 @@ void bigint_shrink_sample ( const bigint_element_t *source0,
bigint_shrink ( source, dest );
}
void bigint_copy_sample ( const bigint_element_t *source0,
bigint_element_t *dest0, unsigned int size ) {
const bigint_t ( size ) *source __attribute__ (( may_alias ))
= ( ( const void * ) source0 );
bigint_t ( size ) *dest __attribute__ (( may_alias ))
= ( ( void * ) dest0 );
bigint_copy ( source, dest );
}
void bigint_multiply_sample ( const bigint_element_t *multiplicand0,
unsigned int multiplicand_size,
const bigint_element_t *multiplier0,