mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-23 09:59:42 +00:00
Removed ARMEL work-arounds from Integer class.
This commit is contained in:
parent
77b85e5148
commit
c2d60cc91f
14
integer.cpp
14
integer.cpp
@ -67,16 +67,6 @@
|
||||
# define CRYPTOPP_INTEGER_SSE2 (CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE && CRYPTOPP_BOOL_X86)
|
||||
#endif
|
||||
|
||||
// Debian QEMU/ARMEL issue in MultiplyTop; see http://github.com/weidai11/cryptopp/issues/31.
|
||||
#if __ARMEL__ && (CRYPTOPP_GCC_VERSION >= 40900) && (CRYPTOPP_GCC_VERSION < 70000) && __OPTIMIZE__
|
||||
# define WORKAROUND_ARMEL_BUG 1
|
||||
#endif
|
||||
|
||||
#if WORKAROUND_ARMEL_BUG
|
||||
# pragma GCC push_options
|
||||
# pragma GCC optimize("O1")
|
||||
#endif
|
||||
|
||||
NAMESPACE_BEGIN(CryptoPP)
|
||||
|
||||
bool AssignIntToInteger(const std::type_info &valueType, void *pInteger, const void *pInt)
|
||||
@ -4559,8 +4549,4 @@ std::string IntToString<word64>(word64 value, unsigned int base)
|
||||
|
||||
NAMESPACE_END
|
||||
|
||||
#if WORKAROUND_ARMEL_BUG
|
||||
# pragma GCC pop_options
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
22
integer.h
22
integer.h
@ -107,7 +107,7 @@ public:
|
||||
//! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian
|
||||
//! integers with curve25519, Poly1305 and Microsoft CAPI.
|
||||
explicit Integer(const char *str, ByteOrder order = BIG_ENDIAN_ORDER);
|
||||
|
||||
|
||||
//! \brief Convert from a wide C-string
|
||||
//! \param str wide C-string value
|
||||
//! \param order byte order
|
||||
@ -225,8 +225,8 @@ public:
|
||||
//! \details OpenPGPEncode places result into a BufferedTransformation object and returns the
|
||||
//! number of bytes used for the encoding
|
||||
size_t OpenPGPEncode(byte *output, size_t bufferSize) const;
|
||||
|
||||
//! \brief Encode absolute value in OpenPGP format
|
||||
|
||||
//! \brief Encode absolute value in OpenPGP format
|
||||
//! \param bt BufferedTransformation object
|
||||
//! \returns length of the output
|
||||
//! \details OpenPGPEncode places result into a BufferedTransformation object and returns the
|
||||
@ -238,7 +238,7 @@ public:
|
||||
//! \param inputLen length of the byte array
|
||||
//! \param sign enumeration indicating Signedness
|
||||
void Decode(const byte *input, size_t inputLen, Signedness sign=UNSIGNED);
|
||||
|
||||
|
||||
//! \brief Decode nonnegative value from big-endian byte array
|
||||
//! \param bt BufferedTransformation object
|
||||
//! \param inputLen length of the byte array
|
||||
@ -263,7 +263,7 @@ public:
|
||||
//! \brief Exception thrown when an error is encountered decoding an OpenPGP integer
|
||||
class OpenPGPDecodeErr : public Exception
|
||||
{
|
||||
public:
|
||||
public:
|
||||
OpenPGPDecodeErr() : Exception(INVALID_DATA_FORMAT, "OpenPGP decode error") {}
|
||||
};
|
||||
|
||||
@ -409,10 +409,10 @@ public:
|
||||
|
||||
//! \brief Reverse the Sign of the Integer
|
||||
void Negate();
|
||||
|
||||
|
||||
//! \brief Sets the Integer to positive
|
||||
void SetPositive() {sign = POSITIVE;}
|
||||
|
||||
|
||||
//! \brief Sets the Integer to negative
|
||||
void SetNegative() {if (!!(*this)) sign = NEGATIVE;}
|
||||
|
||||
@ -528,7 +528,7 @@ public:
|
||||
//! \sa IntToString<Integer>
|
||||
friend CRYPTOPP_DLL std::ostream& CRYPTOPP_API operator<<(std::ostream& out, const Integer &a);
|
||||
//@}
|
||||
|
||||
|
||||
#ifndef CRYPTOPP_DOXYGEN_PROCESSING
|
||||
//! modular multiplication
|
||||
CRYPTOPP_DLL friend Integer CRYPTOPP_API a_times_b_mod_c(const Integer &x, const Integer& y, const Integer& m);
|
||||
@ -537,13 +537,13 @@ public:
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Integer(word value, size_t length);
|
||||
int PositiveCompare(const Integer &t) const;
|
||||
|
||||
|
||||
IntegerSecBlock reg;
|
||||
Sign sign;
|
||||
|
||||
|
||||
#ifndef CRYPTOPP_DOXYGEN_PROCESSING
|
||||
friend class ModularArithmetic;
|
||||
friend class MontgomeryRepresentation;
|
||||
|
Loading…
Reference in New Issue
Block a user