stellar-veritas/bundled/cbits/ref10/fe_isnonzero.c
2026-01-25 02:27:22 +01:00

19 lines
326 B
C

#include "fe.h"
#include "crypto_verify.h"
/*
return 1 if f == 0
return 0 if f != 0
Preconditions:
|f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
*/
static const unsigned char zero[32];
static inline int fe_isnonzero(const fe f)
{
unsigned char s[32];
fe_tobytes(s,f);
return crypto_verify_32(s,zero);
}