39 lines
819 B
C
39 lines
819 B
C
/* TomsFastMath, a fast ISO C bignum library.
|
|
*
|
|
* This project is meant to fill in where LibTomMath
|
|
* falls short. That is speed ;-)
|
|
*
|
|
* This project is public domain and free for all purposes.
|
|
*
|
|
* Tom St Denis, tomstdenis@gmail.com
|
|
*/
|
|
#include "bignum_fast.h"
|
|
|
|
/* compare against a single digit */
|
|
int fp_cmp_d(fp_int *a, fp_digit b)
|
|
{
|
|
/* compare based on sign */
|
|
if ((b && a->used == 0) || a->sign == FP_NEG) {
|
|
return FP_LT;
|
|
}
|
|
|
|
/* compare based on magnitude */
|
|
if (a->used > 1) {
|
|
return FP_GT;
|
|
}
|
|
|
|
/* compare the only digit of a to b */
|
|
if (a->dp[0] > b) {
|
|
return FP_GT;
|
|
} else if (a->dp[0] < b) {
|
|
return FP_LT;
|
|
} else {
|
|
return FP_EQ;
|
|
}
|
|
|
|
}
|
|
|
|
/* $Source: /cvs/libtom/tomsfastmath/src/addsub/fp_cmp_d.c,v $ */
|
|
/* $Revision: 1.1 $ */
|
|
/* $Date: 2006/12/31 21:25:53 $ */
|