BN_CMP(3)

NAME
BN_cmp, BN_ucmp, BN_is_zero, BN_is_one, BN_is_word, BN_abs_is_word, BN_is_odd - BIGNUM comparison and test functions

SYNOPSIS
libcrypto
#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);

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

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

BN_ULONG is a macro that expands to unsigned long (= uint64_t) on _LP64 platforms and unsigned int (= uint32_t) elsewhere.

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.

SEE ALSO
BN_new(3)

HISTORY
BN_cmp(), BN_ucmp(), BN_is_zero(), BN_is_one(), and BN_is_word() first appeared in SSLeay 0.5.1. BN_is_odd() first appeared in SSLeay 0.8.0. These functions have been available since OpenBSD 2.4.

BN_abs_is_word() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.2.