BN_cmp.3ssl - Man Page

BIGNUM comparison and test functions


 #include <openssl/bn.h>

 int BN_cmp(const BIGNUM *a, const BIGNUM *b);
 int BN_ucmp(const BIGNUM *a, const BIGNUM *b);

 int BN_is_zero(const BIGNUM *a);
 int BN_is_one(const BIGNUM *a);
 int BN_is_word(const BIGNUM *a, const BN_ULONG w);
 int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w);
 int BN_is_odd(const BIGNUM *a);


BN_cmp() compares the numbers a and b. BN_ucmp() compares their absolute values.

BN_is_zero(), BN_is_one(), BN_is_word() and BN_abs_is_word() test if a equals 0, 1, w, or |w| respectively. BN_is_odd() tests if a is odd.

Return Values

BN_cmp() returns -1 if a < b, 0 if a == b and 1 if a > b. BN_ucmp() is the same using the absolute values of a and b.

BN_is_zero(), BN_is_one() BN_is_word(), BN_abs_is_word() and BN_is_odd() return 1 if the condition is true, 0 otherwise.


Prior to OpenSSL 1.1.0, BN_is_zero(), BN_is_one(), BN_is_word(), BN_abs_is_word() and BN_is_odd() were macros.

Referenced By

The man pages BN_abs_is_word.3ssl(3), BN_is_odd.3ssl(3), BN_is_one.3ssl(3), BN_is_word.3ssl(3), BN_is_zero.3ssl(3) and BN_ucmp.3ssl(3) are aliases of BN_cmp.3ssl(3).

2023-02-06 1.1.1q OpenSSL