/* sub */ static int sub(void *a, void *b, void *c) { LTC_ARGCHK(a != NULL); LTC_ARGCHK(b != NULL); LTC_ARGCHK(c != NULL); mpa_sub((mpanum) c, (const mpanum) a, (const mpanum) b, external_mem_pool); return CRYPT_OK; }
/* * TEE_BigIntSub */ void TEE_BigIntSub(TEE_BigInt *dest, const TEE_BigInt *op1, const TEE_BigInt *op2) { mpanum mpa_dest = (mpa_num_base *)dest; mpanum mpa_op1 = (mpa_num_base *)op1; mpanum mpa_op2 = (mpa_num_base *)op2; mpa_sub(mpa_dest, mpa_op1, mpa_op2, mempool); }
/*------------------------------------------------------------ * * mpa_sub_mod * */ void mpa_sub_mod(mpanum dest, const mpanum op1, const mpanum op2, const mpanum n, mpa_scratch_mem pool) { mpanum tmp_dest; mpa_alloc_static_temp_var(&tmp_dest, pool); mpa_sub(tmp_dest, op1, op2, pool); mpa_div(NULL, dest, tmp_dest, n, pool); mpa_free_static_temp_var(&tmp_dest, pool); }