BN_cmp

- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUES
- SEE ALSO
- HISTORY

# NAME

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

# SYNOPSIS

     #include <openssl/bn.h>

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

     int BN_is_zero(BIGNUM *a);
     int BN_is_one(BIGNUM *a);
     int BN_is_word(BIGNUM *a, BN_ULONG w);
     int BN_is_odd(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_is_odd()` tests if a is odd.

`BN_is_zero()`, `BN_is_one()`, `BN_is_word()` and `BN_is_odd()` are macros.

# 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()` and `BN_is_odd()` return 1 if the condition is true, 0 otherwise.

# SEE ALSO

bn(3)

# HISTORY

`BN_cmp()`, `BN_ucmp()`, `BN_is_zero()`, `BN_is_one()` and `BN_is_word()` are available in all versions of SSLeay and OpenSSL. `BN_is_odd()` was added in SSLeay 0.8.

BN_cmp