Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org