Cryptography and SSL/TLS Toolkit



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


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


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.


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.

Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at