diff options
Diffstat (limited to 'crypto/ec/curve448/curve448utils.h')
-rw-r--r-- | crypto/ec/curve448/curve448utils.h | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/crypto/ec/curve448/curve448utils.h b/crypto/ec/curve448/curve448utils.h index edeedef7a2..f112f0bd14 100644 --- a/crypto/ec/curve448/curve448utils.h +++ b/crypto/ec/curve448/curve448utils.h @@ -27,48 +27,59 @@ extern "C" { * with arch_arm32. */ # ifndef DECAF_WORD_BITS -# if (defined(__ILP64__) || defined(__amd64__) || defined(__x86_64__) || (((__UINT_FAST32_MAX__)>>30)>>30)) -# define DECAF_WORD_BITS 64 /**< The number of bits in a word */ +# if (defined(__ILP64__) || defined(__amd64__) || defined(__x86_64__) \ + || (((__UINT_FAST32_MAX__)>>30)>>30)) +# define DECAF_WORD_BITS 64 /* The number of bits in a word */ # else -# define DECAF_WORD_BITS 32 /**< The number of bits in a word */ +# define DECAF_WORD_BITS 32 /* The number of bits in a word */ # endif # endif # if DECAF_WORD_BITS == 64 -typedef uint64_t decaf_word_t; /**< Word size for internal computations */ -typedef int64_t decaf_sword_t; /**< Signed word size for internal computations */ -typedef uint64_t decaf_bool_t; /**< "Boolean" type, will be set to all-zero or all-one (i.e. -1u) */ -typedef __uint128_t decaf_dword_t; /**< Double-word size for internal computations */ -typedef __int128_t decaf_dsword_t; /**< Signed double-word size for internal computations */ -# elif DECAF_WORD_BITS == 32 /**< The number of bits in a word */ -typedef uint32_t decaf_word_t; /**< Word size for internal computations */ -typedef int32_t decaf_sword_t; /**< Signed word size for internal computations */ -typedef uint32_t decaf_bool_t; /**< "Boolean" type, will be set to all-zero or all-one (i.e. -1u) */ -typedef uint64_t decaf_dword_t; /**< Double-word size for internal computations */ -typedef int64_t decaf_dsword_t; /**< Signed double-word size for internal computations */ +/* Word size for internal computations */ +typedef uint64_t decaf_word_t; +/* Signed word size for internal computations */ +typedef int64_t decaf_sword_t; +/* "Boolean" type, will be set to all-zero or all-one (i.e. -1u) */ +typedef uint64_t decaf_bool_t; +/* Double-word size for internal computations */ +typedef __uint128_t decaf_dword_t; +/* Signed double-word size for internal computations */ +typedef __int128_t decaf_dsword_t; +# elif DECAF_WORD_BITS == 32 +/* Word size for internal computations */ +typedef uint32_t decaf_word_t; +/* Signed word size for internal computations */ +typedef int32_t decaf_sword_t; +/* "Boolean" type, will be set to all-zero or all-one (i.e. -1u) */ +typedef uint32_t decaf_bool_t; +/* Double-word size for internal computations */ +typedef uint64_t decaf_dword_t; +/* Signed double-word size for internal computations */ +typedef int64_t decaf_dsword_t; # else # error "Only supporting DECAF_WORD_BITS = 32 or 64 for now" # endif -/** DECAF_TRUE = -1 so that DECAF_TRUE & x = x */ +/* DECAF_TRUE = -1 so that DECAF_TRUE & x = x */ static const decaf_bool_t DECAF_TRUE = -(decaf_bool_t) 1; -/** DECAF_FALSE = 0 so that DECAF_FALSE & x = 0 */ +/* DECAF_FALSE = 0 so that DECAF_FALSE & x = 0 */ static const decaf_bool_t DECAF_FALSE = 0; -/** Another boolean type used to indicate success or failure. */ +/* Another boolean type used to indicate success or failure. */ typedef enum { DECAF_SUCCESS = -1, /**< The operation succeeded. */ DECAF_FAILURE = 0 /**< The operation failed. */ } decaf_error_t; -/** Return success if x is true */ +/* Return success if x is true */ static ossl_inline decaf_error_t decaf_succeed_if(decaf_bool_t x) { return (decaf_error_t) x; } -/** Return DECAF_TRUE iff x == DECAF_SUCCESS */ +/* Return DECAF_TRUE iff x == DECAF_SUCCESS */ static ossl_inline decaf_bool_t decaf_successful(decaf_error_t e) { decaf_dword_t w = ((decaf_word_t) e) ^ ((decaf_word_t) DECAF_SUCCESS); |