1*37da2899SCharles.Forsyth #include "os.h" 2*37da2899SCharles.Forsyth #include <mp.h> 3*37da2899SCharles.Forsyth #include "dat.h" 4*37da2899SCharles.Forsyth 5*37da2899SCharles.Forsyth int mpveccmp(mpdigit * a,int alen,mpdigit * b,int blen)6*37da2899SCharles.Forsythmpveccmp(mpdigit *a, int alen, mpdigit *b, int blen) 7*37da2899SCharles.Forsyth { 8*37da2899SCharles.Forsyth mpdigit x; 9*37da2899SCharles.Forsyth 10*37da2899SCharles.Forsyth while(alen > blen) 11*37da2899SCharles.Forsyth if(a[--alen] != 0) 12*37da2899SCharles.Forsyth return 1; 13*37da2899SCharles.Forsyth while(blen > alen) 14*37da2899SCharles.Forsyth if(b[--blen] != 0) 15*37da2899SCharles.Forsyth return -1; 16*37da2899SCharles.Forsyth while(alen > 0){ 17*37da2899SCharles.Forsyth --alen; 18*37da2899SCharles.Forsyth x = a[alen] - b[alen]; 19*37da2899SCharles.Forsyth if(x == 0) 20*37da2899SCharles.Forsyth continue; 21*37da2899SCharles.Forsyth if(x > a[alen]) 22*37da2899SCharles.Forsyth return -1; 23*37da2899SCharles.Forsyth else 24*37da2899SCharles.Forsyth return 1; 25*37da2899SCharles.Forsyth } 26*37da2899SCharles.Forsyth return 0; 27*37da2899SCharles.Forsyth } 28