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