Ensure that 'static' comes before 'constexpr' (#65)

This commit is purely to bring the code in the library more in line with my personal code style.
pull/69/head
Pharap 5 years ago committed by GitHub
parent 080ffa2f5d
commit daae25615f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      src/FixedPoints/Details.h
  2. 40
      src/FixedPoints/SFixed.h
  3. 40
      src/FixedPoints/UFixed.h

@ -44,7 +44,7 @@ namespace FIXED_POINTS_DETAILS
struct BitSize struct BitSize
{ {
BitSize() = delete; BitSize() = delete;
constexpr static const auto Value = sizeof(T) * CHAR_BIT; static constexpr auto Value = sizeof(T) * CHAR_BIT;
}; };
template< bool Condition, typename TTrue, typename TFalse > template< bool Condition, typename TTrue, typename TFalse >
@ -119,21 +119,21 @@ namespace FIXED_POINTS_DETAILS
struct MsbMask struct MsbMask
{ {
MsbMask() = delete; MsbMask() = delete;
constexpr static LeastUInt<Bits> Value = (1ull << (Bits - 1)); static constexpr LeastUInt<Bits> Value = (1ull << (Bits - 1));
}; };
template< unsigned Bits > template< unsigned Bits >
struct IdentityMask struct IdentityMask
{ {
IdentityMask() = delete; IdentityMask() = delete;
constexpr static LeastUInt<Bits> Value = 1 | (IdentityMask<Bits - 1>::Value << 1); static constexpr LeastUInt<Bits> Value = 1 | (IdentityMask<Bits - 1>::Value << 1);
}; };
template<> template<>
struct IdentityMask<0> struct IdentityMask<0>
{ {
IdentityMask() = delete; IdentityMask() = delete;
constexpr static LeastUInt<0> Value = 0; static constexpr LeastUInt<0> Value = 0;
}; };
#if !defined(FIXED_POINTS_NO_RANDOM) #if !defined(FIXED_POINTS_NO_RANDOM)

@ -26,10 +26,10 @@ template< unsigned Integer, unsigned Fraction >
class SFixed class SFixed
{ {
public: public:
constexpr static uintmax_t IntegerSize = Integer + 1; static constexpr uintmax_t IntegerSize = Integer + 1;
constexpr static uintmax_t FractionSize = Fraction; static constexpr uintmax_t FractionSize = Fraction;
constexpr static uintmax_t LogicalSize = IntegerSize + FractionSize; static constexpr uintmax_t LogicalSize = IntegerSize + FractionSize;
constexpr static uintmax_t Scale = UINTMAX_C(1) << FractionSize; static constexpr uintmax_t Scale = UINTMAX_C(1) << FractionSize;
public: public:
static_assert(LogicalSize <= FIXED_POINTS_DETAILS::BitSize<intmax_t>::Value, "Platform does not have a native type large enough for SFixed."); static_assert(LogicalSize <= FIXED_POINTS_DETAILS::BitSize<intmax_t>::Value, "Platform does not have a native type large enough for SFixed.");
@ -39,22 +39,22 @@ public:
using FractionType = FIXED_POINTS_DETAILS::LeastUInt<FractionSize>; using FractionType = FIXED_POINTS_DETAILS::LeastUInt<FractionSize>;
using InternalType = FIXED_POINTS_DETAILS::LeastInt<LogicalSize>; using InternalType = FIXED_POINTS_DETAILS::LeastInt<LogicalSize>;
constexpr static uintmax_t InternalSize = FIXED_POINTS_DETAILS::BitSize<InternalType>::Value; static constexpr uintmax_t InternalSize = FIXED_POINTS_DETAILS::BitSize<InternalType>::Value;
using ShiftType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>; using ShiftType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>;
using MaskType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>; using MaskType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>;
public: public:
constexpr static ShiftType IntegerShift = FractionSize; static constexpr ShiftType IntegerShift = FractionSize;
constexpr static ShiftType FractionShift = 0; static constexpr ShiftType FractionShift = 0;
constexpr static MaskType IntegerMask = FIXED_POINTS_DETAILS::IdentityMask<IntegerSize>::Value; static constexpr MaskType IntegerMask = FIXED_POINTS_DETAILS::IdentityMask<IntegerSize>::Value;
constexpr static MaskType FractionMask = FIXED_POINTS_DETAILS::IdentityMask<FractionSize>::Value; static constexpr MaskType FractionMask = FIXED_POINTS_DETAILS::IdentityMask<FractionSize>::Value;
constexpr static MaskType IdentityMask = (IntegerMask << IntegerShift) | (FractionMask << FractionShift); static constexpr MaskType IdentityMask = (IntegerMask << IntegerShift) | (FractionMask << FractionShift);
constexpr static MaskType MidpointMask = FIXED_POINTS_DETAILS::MsbMask<FractionSize>::Value; static constexpr MaskType MidpointMask = FIXED_POINTS_DETAILS::MsbMask<FractionSize>::Value;
constexpr static MaskType LesserMidpointMask = MidpointMask - 1; static constexpr MaskType LesserMidpointMask = MidpointMask - 1;
protected: protected:
class RawType class RawType
@ -103,7 +103,7 @@ public:
template< unsigned IntegerOut, unsigned FractionOut > template< unsigned IntegerOut, unsigned FractionOut >
constexpr explicit operator SFixed<IntegerOut, FractionOut>() const; constexpr explicit operator SFixed<IntegerOut, FractionOut>() const;
constexpr static SFixed fromInternal(const InternalType & value); static constexpr SFixed fromInternal(const InternalType & value);
constexpr SFixed operator -() const; constexpr SFixed operator -() const;
SFixed & operator ++(); SFixed & operator ++();
@ -114,15 +114,15 @@ public:
SFixed & operator /=(const SFixed & other); SFixed & operator /=(const SFixed & other);
public: public:
constexpr static SFixed Epsilon = SFixed::fromInternal(1); static constexpr SFixed Epsilon = SFixed::fromInternal(1);
constexpr static SFixed MinValue = SFixed::fromInternal(FIXED_POINTS_DETAILS::MsbMask<InternalSize>::Value); static constexpr SFixed MinValue = SFixed::fromInternal(FIXED_POINTS_DETAILS::MsbMask<InternalSize>::Value);
constexpr static SFixed MaxValue = SFixed::fromInternal(~FIXED_POINTS_DETAILS::MsbMask<InternalSize>::Value); static constexpr SFixed MaxValue = SFixed::fromInternal(~FIXED_POINTS_DETAILS::MsbMask<InternalSize>::Value);
// 40 digits is probably enough for these // 40 digits is probably enough for these
constexpr static SFixed Pi = 3.1415926535897932384626433832795028841971; static constexpr SFixed Pi = 3.1415926535897932384626433832795028841971;
constexpr static SFixed E = 2.718281828459045235360287471352662497757; static constexpr SFixed E = 2.718281828459045235360287471352662497757;
constexpr static SFixed Phi = 1.6180339887498948482045868343656381177203; static constexpr SFixed Phi = 1.6180339887498948482045868343656381177203;
constexpr static SFixed Tau = 6.2831853071795864769252867665590057683943; static constexpr SFixed Tau = 6.2831853071795864769252867665590057683943;
}; };

@ -26,10 +26,10 @@ template< unsigned Integer, unsigned Fraction >
class UFixed class UFixed
{ {
public: public:
constexpr static uintmax_t IntegerSize = Integer; static constexpr uintmax_t IntegerSize = Integer;
constexpr static uintmax_t FractionSize = Fraction; static constexpr uintmax_t FractionSize = Fraction;
constexpr static uintmax_t LogicalSize = IntegerSize + FractionSize; static constexpr uintmax_t LogicalSize = IntegerSize + FractionSize;
constexpr static uintmax_t Scale = UINTMAX_C(1) << FractionSize; static constexpr uintmax_t Scale = UINTMAX_C(1) << FractionSize;
public: public:
static_assert(LogicalSize <= FIXED_POINTS_DETAILS::BitSize<uintmax_t>::Value, "Platform does not have a native type large enough for UFixed."); static_assert(LogicalSize <= FIXED_POINTS_DETAILS::BitSize<uintmax_t>::Value, "Platform does not have a native type large enough for UFixed.");
@ -39,22 +39,22 @@ public:
using FractionType = FIXED_POINTS_DETAILS::LeastUInt<FractionSize>; using FractionType = FIXED_POINTS_DETAILS::LeastUInt<FractionSize>;
using InternalType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>; using InternalType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>;
constexpr static uintmax_t InternalSize = FIXED_POINTS_DETAILS::BitSize<InternalType>::Value; static constexpr uintmax_t InternalSize = FIXED_POINTS_DETAILS::BitSize<InternalType>::Value;
using ShiftType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>; using ShiftType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>;
using MaskType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>; using MaskType = FIXED_POINTS_DETAILS::LeastUInt<LogicalSize>;
public: public:
constexpr static ShiftType IntegerShift = FractionSize; static constexpr ShiftType IntegerShift = FractionSize;
constexpr static ShiftType FractionShift = 0; static constexpr ShiftType FractionShift = 0;
constexpr static MaskType IntegerMask = FIXED_POINTS_DETAILS::IdentityMask<IntegerSize>::Value; static constexpr MaskType IntegerMask = FIXED_POINTS_DETAILS::IdentityMask<IntegerSize>::Value;
constexpr static MaskType FractionMask = FIXED_POINTS_DETAILS::IdentityMask<FractionSize>::Value; static constexpr MaskType FractionMask = FIXED_POINTS_DETAILS::IdentityMask<FractionSize>::Value;
constexpr static MaskType IdentityMask = (IntegerMask << IntegerShift) | (FractionMask << FractionShift); static constexpr MaskType IdentityMask = (IntegerMask << IntegerShift) | (FractionMask << FractionShift);
constexpr static MaskType MidpointMask = FIXED_POINTS_DETAILS::MsbMask<FractionSize>::Value; static constexpr MaskType MidpointMask = FIXED_POINTS_DETAILS::MsbMask<FractionSize>::Value;
constexpr static MaskType LesserMidpointMask = MidpointMask - 1; static constexpr MaskType LesserMidpointMask = MidpointMask - 1;
protected: protected:
class RawType class RawType
@ -104,7 +104,7 @@ public:
template< unsigned IntegerOut, unsigned FractionOut > template< unsigned IntegerOut, unsigned FractionOut >
constexpr explicit operator UFixed<IntegerOut, FractionOut>() const; constexpr explicit operator UFixed<IntegerOut, FractionOut>() const;
constexpr static UFixed fromInternal(const InternalType & value); static constexpr UFixed fromInternal(const InternalType & value);
UFixed & operator ++(); UFixed & operator ++();
UFixed & operator --(); UFixed & operator --();
@ -114,15 +114,15 @@ public:
UFixed & operator /=(const UFixed & other); UFixed & operator /=(const UFixed & other);
public: public:
constexpr static UFixed Epsilon = UFixed::fromInternal(1); static constexpr UFixed Epsilon = UFixed::fromInternal(1);
constexpr static UFixed MinValue = UFixed::fromInternal(0); static constexpr UFixed MinValue = UFixed::fromInternal(0);
constexpr static UFixed MaxValue = UFixed::fromInternal(~0); static constexpr UFixed MaxValue = UFixed::fromInternal(~0);
// 40 digits is probably enough for these // 40 digits is probably enough for these
constexpr static UFixed Pi = 3.1415926535897932384626433832795028841971; static constexpr UFixed Pi = 3.1415926535897932384626433832795028841971;
constexpr static UFixed E = 2.718281828459045235360287471352662497757; static constexpr UFixed E = 2.718281828459045235360287471352662497757;
constexpr static UFixed Phi = 1.6180339887498948482045868343656381177203; static constexpr UFixed Phi = 1.6180339887498948482045868343656381177203;
constexpr static UFixed Tau = 6.2831853071795864769252867665590057683943; static constexpr UFixed Tau = 6.2831853071795864769252867665590057683943;
}; };

Loading…
Cancel
Save