MEMCPY_BCOPY
MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH);
MEMCPY_BCOPY(context->state, sha256_initial_hash_value, SHA256_DIGEST_LENGTH);
MEMCPY_BCOPY(&((char *)context->buffer)[usedspace], data, freespace);
MEMCPY_BCOPY(&((char *)context->buffer)[usedspace], data, len);
MEMCPY_BCOPY((char *)context->buffer, data, len);
MEMCPY_BCOPY(&((char *)context->buffer)[SHA256_SHORT_BLOCK_LENGTH], (char *)(&context->bitcount), 8);
MEMCPY_BCOPY(d, context->state, SHA256_DIGEST_LENGTH);
MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH);
MEMCPY_BCOPY(&((char *)context->buffer)[usedspace], data, freespace);
MEMCPY_BCOPY(&((char *)context->buffer)[usedspace], data, len);
MEMCPY_BCOPY((char *)context->buffer, data, len);
MEMCPY_BCOPY(&((char *)context->buffer)[SHA512_SHORT_BLOCK_LENGTH], (char *)(&context->bitcount[1]), 8);
MEMCPY_BCOPY(&((char *)context->buffer)[SHA512_SHORT_BLOCK_LENGTH + 8], (char *)(&context->bitcount[0]), 8);
MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH);
MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH);