mpveccmp.c 378 B

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