Mercurial > dropbear
view tomsfastmath/src/sqr/fp_sqr_comba_3.c @ 644:ff5cc422ba40 dropbear-tfm tomsfastmath
Somehow Makefile.in went missing
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Wed, 23 Nov 2011 18:11:51 +0700 |
parents | a362b62d38b2 |
children |
line wrap: on
line source
#define TFM_DEFINES #include "fp_sqr_comba.c" #ifdef TFM_SQR3 void fp_sqr_comba3(fp_int *A, fp_int *B) { fp_digit *a, b[6], c0, c1, c2, sc0, sc1, sc2; #ifdef TFM_ISO fp_word tt; #endif a = A->dp; COMBA_START; /* clear carries */ CLEAR_CARRY; /* output 0 */ SQRADD(a[0],a[0]); COMBA_STORE(b[0]); /* output 1 */ CARRY_FORWARD; SQRADD2(a[0], a[1]); COMBA_STORE(b[1]); /* output 2 */ CARRY_FORWARD; SQRADD2(a[0], a[2]); SQRADD(a[1], a[1]); COMBA_STORE(b[2]); /* output 3 */ CARRY_FORWARD; SQRADD2(a[1], a[2]); COMBA_STORE(b[3]); /* output 4 */ CARRY_FORWARD; SQRADD(a[2], a[2]); COMBA_STORE(b[4]); COMBA_STORE2(b[5]); COMBA_FINI; B->used = 6; B->sign = FP_ZPOS; memcpy(B->dp, b, 6 * sizeof(fp_digit)); memset(B->dp + 6, 0, (FP_SIZE - 6) * sizeof(fp_digit)); fp_clamp(B); } #endif