1 #ifndef CRYPTOPP_WORDS_H 2 #define CRYPTOPP_WORDS_H 11 while (N && X[N-1]==0)
18 for (
size_t i=0; i<n; i++)
25 #if CRYPTOPP_MSC_VERSION 34 for (
size_t i=0; i<n; i++)
40 for (
size_t i=0; i<n; i++)
46 for (
size_t i=0; i<n; i++)
52 for (
size_t i=0; i<n; i++)
58 for (
size_t i=0; i<n; i++)
64 for (
size_t i=0; i<n; i++)
73 for (
size_t i=0; i<n; i++)
76 r[i] = (u << shiftBits) | carry;
87 for (
size_t i=n; i>0; i--)
90 r[i-1] = (u >> shiftBits) | carry;
98 shiftWords =
STDMIN(shiftWords, n);
101 for (
size_t i=n-1; i>=shiftWords; i--)
102 r[i] = r[i-shiftWords];
109 shiftWords =
STDMIN(shiftWords, n);
112 for (
size_t i=0; i+shiftWords<n; i++)
113 r[i] = r[i+shiftWords];
114 SetWords(r+n-shiftWords, 0, shiftWords);
void CopyWords(word *r, const word *a, size_t n)
Utility functions for the Crypto++ library.
size_t CountWords(const word *X, size_t N)
#define NAMESPACE_BEGIN(x)
void memcpy_s(void *dest, size_t sizeInBytes, const void *src, size_t count)
Bounds checking replacement for memcpy()
Library configuration file.
void ShiftWordsLeftByWords(word *r, size_t n, size_t shiftWords)
const unsigned int WORD_BITS
void SetWords(word *r, word a, size_t n)
void ShiftWordsRightByWords(word *r, size_t n, size_t shiftWords)
const unsigned int WORD_SIZE
const T & STDMIN(const T &a, const T &b)
Replacement function for std::min.
#define CRYPTOPP_ASSERT(exp)
void XorWords(word *r, const word *a, const word *b, size_t n)
void * memcpy(void *a, const void *b, size_t c)
word ShiftWordsRightByBits(word *r, size_t n, unsigned int shiftBits)
word ShiftWordsLeftByBits(word *r, size_t n, unsigned int shiftBits)
void OrWords(word *r, const word *a, const word *b, size_t n)
void AndWords(word *r, const word *a, const word *b, size_t n)