6#ifndef CRYPTOPP_WORDS_H
7#define CRYPTOPP_WORDS_H
23 while (n && x[n-1]==0)
37 for (
size_t i=0; i<n; i++)
51#if CRYPTOPP_MSC_VERSION
68 for (
size_t i=0; i<n; i++)
81 for (
size_t i=0; i<n; i++)
95 for (
size_t i=0; i<n; i++)
108 for (
size_t i=0; i<n; i++)
122 for (
size_t i=0; i<n; i++)
135 for (
size_t i=0; i<n; i++)
154 for (
size_t i=0; i<n; i++)
157 r[i] = (u << shiftBits) | carry;
177 for (
size_t i=n; i>0; i--)
180 r[i-1] = (u >> shiftBits) | carry;
196 shiftWords =
STDMIN(shiftWords, n);
199 for (
size_t i=n-1; i>=shiftWords; i--)
200 r[i] = r[i-shiftWords];
214 shiftWords =
STDMIN(shiftWords, n);
217 for (
size_t i=0; i+shiftWords<n; i++)
218 r[i] = r[i+shiftWords];
219 SetWords(r+n-shiftWords, 0, shiftWords);
Library configuration file.
word64 word
Full word used for multiprecision integer arithmetic.
const unsigned int WORD_BITS
Size of a platform word in bits.
const unsigned int WORD_SIZE
Size of a platform word in bytes.
Utility functions for the Crypto++ library.
void memcpy_s(void *dest, size_t sizeInBytes, const void *src, size_t count)
Bounds checking replacement for memcpy()
const T & STDMIN(const T &a, const T &b)
Replacement function for std::min.
Crypto++ library namespace.
#define CRYPTOPP_ASSERT(exp)
Debugging and diagnostic assertion.
void ShiftWordsRightByWords(word *r, size_t n, size_t shiftWords)
Right shift word array.
void XorWords(word *r, const word *a, const word *b, size_t n)
XOR word arrays.
void SetWords(word *r, word a, size_t n)
Set the value of words.
void OrWords(word *r, const word *a, const word *b, size_t n)
OR word arrays.
word ShiftWordsLeftByBits(word *r, size_t n, unsigned int shiftBits)
Left shift word array.
void ShiftWordsLeftByWords(word *r, size_t n, size_t shiftWords)
Left shift word array.
size_t CountWords(const word *x, size_t n)
Count the number of words.
word ShiftWordsRightByBits(word *r, size_t n, unsigned int shiftBits)
Right shift word array.
void CopyWords(word *r, const word *a, size_t n)
Copy word array.
void AndWords(word *r, const word *a, const word *b, size_t n)
AND word arrays.