URI:
       tmpvecadd.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tmpvecadd.c (522B)
       ---
            1 #include "os.h"
            2 #include <mp.h>
            3 #include "dat.h"
            4 
            5 /* prereq: alen >= blen, sum has at least blen+1 digits */
            6 void
            7 mpvecadd(mpdigit *a, int alen, mpdigit *b, int blen, mpdigit *sum)
            8 {
            9         int i, carry;
           10         mpdigit x, y;
           11 
           12         carry = 0;
           13         for(i = 0; i < blen; i++){
           14                 x = *a++;
           15                 y = *b++;
           16                 x += carry;
           17                 if(x < carry)
           18                         carry = 1;
           19                 else
           20                         carry = 0;
           21                 x += y;
           22                 if(x < y)
           23                         carry++;
           24                 *sum++ = x;
           25         }
           26         for(; i < alen; i++){
           27                 x = *a++ + carry;
           28                 if(x < carry)
           29                         carry = 1;
           30                 else
           31                         carry = 0;
           32                 *sum++ = x;
           33         }
           34         *sum = carry;
           35 }