// Copyright 2010 The Code Cavern

bda_bit bda_add_n(bda_ptr x,bda_srcptr y,bda_srcptr z,bda_len n) // (x,n)=(y,n)+(z,n) ret carry
{bda_len i;bda_digit xd,yd,zd;bda_bit ci,co;

ci=0;
for(i=0;i<n;i++)
   {yd=y[i];zd=z[i];
    bda_digit_adc(co,xd,yd,zd,ci);
    x[i]=xd;ci=co;}
return co;}

bda_bit bda_sub_n(bda_ptr x,bda_srcptr y,bda_srcptr z,bda_len n) // (x,n)=(y,n)-(z,n) ret carry
{bda_len i;bda_digit xd,yd,zd;bda_bit ci,co;

ci=0;
for(i=0;i<n;i++)
   {yd=y[i];zd=z[i];
    bda_digit_sbb(co,xd,yd,zd,ci);
    x[i]=xd;ci=co;}
return co;}
