Blame


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