.Dd $Mdocdate: February 23 2015 $ .Dt BN_CMP 3 .Os .Sh NAME .Nm BN_cmp , .Nm BN_ucmp , .Nm BN_is_zero , .Nm BN_is_one , .Nm BN_is_word , .Nm BN_is_odd .Nd BIGNUM comparison and test functions .Sh SYNOPSIS .In openssl/bn.h .Ft int .Fo BN_cmp .Fa "BIGNUM *a" .Fa "BIGNUM *b" .Fc .Ft int .Fo BN_ucmp .Fa "BIGNUM *a" .Fa "BIGNUM *b" .Fc .Ft int .Fo BN_is_zero .Fa "BIGNUM *a" .Fc .Ft int .Fo BN_is_one .Fa "BIGNUM *a" .Fc .Ft int .Fo BN_is_word .Fa "BIGNUM *a" .Fa "BN_ULONG w" .Fc .Ft int .Fo BN_is_odd .Fa "BIGNUM *a" .Fc .Sh DESCRIPTION .Fn BN_cmp compares the numbers .Fa a and .Fa b . .Fn BN_ucmp compares their absolute values. .Pp .Fn BN_is_zero , .Fn BN_is_one and .Fn BN_is_word test if .Fa a equals 0, 1, or .Fa w respectively. .Fn BN_is_odd tests if a is odd. .Pp .Fn BN_is_zero , .Fn BN_is_one , .Fn BN_is_word , and .Fn BN_is_odd are macros. .Sh RETURN VALUES .Fn BN_cmp returns -1 if .Fa a Ns < Ns Fa b , 0 if .Fa a Ns == Ns Fa b , and 1 if .Fa a Ns > Ns Fa b . .Fn BN_ucmp is the same using the absolute values of .Fa a and .Fa b . .Pp .Fn BN_is_zero , .Fn BN_is_one , .Fn BN_is_word , and .Fn BN_is_odd return 1 if the condition is true, 0 otherwise. .Sh SEE ALSO .Xr bn 3 .Sh HISTORY .Fn BN_cmp , .Fn BN_ucmp , .Fn BN_is_zero , .Fn BN_is_one and .Fn BN_is_word are available in all versions of SSLeay and OpenSSL. .Fn BN_is_odd was added in SSLeay 0.8.