forked from boostorg/endian
Fix boo boos detected by inspect program.
This commit is contained in:
1 parent
457ed73778
commit
db3864b3d4
5 files changed
+49
-51
No files matched your search
+32
-32
@@ -559,74 +559,74 @@ namespace
|
||||
void check_representation_and_range_and_ops()
|
||||
{
|
||||
// aligned floating point types
|
||||
float big_float32_expected = std::numeric_limits<float>::max();
|
||||
float big_float32_expected = (std::numeric_limits<float>::max) ();
|
||||
boost::endian::big_endian(big_float32_expected);
|
||||
big_float32_t big_float32(std::numeric_limits<float>::max());
|
||||
big_float32_t big_float32((std::numeric_limits<float>::max) ());
|
||||
VERIFY(std::memcmp(big_float32.data(),
|
||||
reinterpret_cast<const char*>(&big_float32_expected), sizeof(float)) == 0);
|
||||
|
||||
float little_float32_expected = std::numeric_limits<float>::max();
|
||||
float little_float32_expected = (std::numeric_limits<float>::max) ();
|
||||
boost::endian::little_endian(little_float32_expected);
|
||||
little_float32_t little_float32(std::numeric_limits<float>::max());
|
||||
little_float32_t little_float32((std::numeric_limits<float>::max) ());
|
||||
VERIFY(std::memcmp(little_float32.data(),
|
||||
reinterpret_cast<const char*>(&little_float32_expected), sizeof(float)) == 0);
|
||||
|
||||
double big_float64_expected = std::numeric_limits<double>::max();
|
||||
double big_float64_expected = (std::numeric_limits<double>::max) ();
|
||||
boost::endian::big_endian(big_float64_expected);
|
||||
big_float64_t big_float64(std::numeric_limits<double>::max());
|
||||
big_float64_t big_float64((std::numeric_limits<double>::max) ());
|
||||
VERIFY(std::memcmp(big_float64.data(),
|
||||
reinterpret_cast<const char*>(&big_float64_expected), sizeof(double)) == 0);
|
||||
|
||||
double little_float64_expected = std::numeric_limits<double>::max();
|
||||
double little_float64_expected = (std::numeric_limits<double>::max) ();
|
||||
boost::endian::little_endian(little_float64_expected);
|
||||
little_float64_t little_float64(std::numeric_limits<double>::max());
|
||||
little_float64_t little_float64((std::numeric_limits<double>::max) ());
|
||||
VERIFY(std::memcmp(little_float64.data(),
|
||||
reinterpret_cast<const char*>(&little_float64_expected), sizeof(double)) == 0);
|
||||
|
||||
VERIFY_VALUE_AND_OPS( big_float32_t, float, std::numeric_limits<float>::max() );
|
||||
VERIFY_VALUE_AND_OPS( big_float32_t, float, std::numeric_limits<float>::min() );
|
||||
VERIFY_VALUE_AND_OPS( big_float64_t, double, std::numeric_limits<double>::max() );
|
||||
VERIFY_VALUE_AND_OPS( big_float64_t, double, std::numeric_limits<double>::min() );
|
||||
VERIFY_VALUE_AND_OPS( big_float32_t, float, (std::numeric_limits<float>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( big_float32_t, float, (std::numeric_limits<float>::min) () );
|
||||
VERIFY_VALUE_AND_OPS( big_float64_t, double, (std::numeric_limits<double>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( big_float64_t, double, (std::numeric_limits<double>::min) () );
|
||||
|
||||
VERIFY_VALUE_AND_OPS( little_float32_t, float, std::numeric_limits<float>::max() );
|
||||
VERIFY_VALUE_AND_OPS( little_float32_t, float, std::numeric_limits<float>::min() );
|
||||
VERIFY_VALUE_AND_OPS( little_float64_t, double, std::numeric_limits<double>::max() );
|
||||
VERIFY_VALUE_AND_OPS( little_float64_t, double, std::numeric_limits<double>::min() );
|
||||
VERIFY_VALUE_AND_OPS( little_float32_t, float, (std::numeric_limits<float>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( little_float32_t, float, (std::numeric_limits<float>::min) () );
|
||||
VERIFY_VALUE_AND_OPS( little_float64_t, double, (std::numeric_limits<double>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( little_float64_t, double, (std::numeric_limits<double>::min) () );
|
||||
|
||||
// unaligned floating point types
|
||||
float big_float32un_expected = std::numeric_limits<float>::max();
|
||||
float big_float32un_expected = (std::numeric_limits<float>::max) ();
|
||||
boost::endian::big_endian(big_float32un_expected);
|
||||
big_float32un_t big_float32un(std::numeric_limits<float>::max());
|
||||
big_float32un_t big_float32un((std::numeric_limits<float>::max) ());
|
||||
VERIFY(std::memcmp(big_float32un.data(),
|
||||
reinterpret_cast<const char*>(&big_float32un_expected), sizeof(float)) == 0);
|
||||
|
||||
float little_float32un_expected = std::numeric_limits<float>::max();
|
||||
float little_float32un_expected = (std::numeric_limits<float>::max) ();
|
||||
boost::endian::little_endian(little_float32un_expected);
|
||||
little_float32un_t little_float32un(std::numeric_limits<float>::max());
|
||||
little_float32un_t little_float32un((std::numeric_limits<float>::max) ());
|
||||
VERIFY(std::memcmp(little_float32un.data(),
|
||||
reinterpret_cast<const char*>(&little_float32un_expected), sizeof(float)) == 0);
|
||||
|
||||
double big_float64un_expected = std::numeric_limits<double>::max();
|
||||
double big_float64un_expected = (std::numeric_limits<double>::max) ();
|
||||
boost::endian::big_endian(big_float64un_expected);
|
||||
big_float64un_t big_float64un(std::numeric_limits<double>::max());
|
||||
big_float64un_t big_float64un((std::numeric_limits<double>::max) ());
|
||||
VERIFY(std::memcmp(big_float64un.data(),
|
||||
reinterpret_cast<const char*>(&big_float64un_expected), sizeof(double)) == 0);
|
||||
|
||||
double little_float64un_expected = std::numeric_limits<double>::max();
|
||||
double little_float64un_expected = (std::numeric_limits<double>::max) ();
|
||||
boost::endian::little_endian(little_float64un_expected);
|
||||
little_float64un_t little_float64un(std::numeric_limits<double>::max());
|
||||
little_float64un_t little_float64un((std::numeric_limits<double>::max) ());
|
||||
VERIFY(std::memcmp(little_float64un.data(),
|
||||
reinterpret_cast<const char*>(&little_float64un_expected), sizeof(double)) == 0);
|
||||
|
||||
VERIFY_VALUE_AND_OPS( big_float32un_t, float, std::numeric_limits<float>::max() );
|
||||
VERIFY_VALUE_AND_OPS( big_float32un_t, float, std::numeric_limits<float>::min() );
|
||||
VERIFY_VALUE_AND_OPS( big_float64un_t, double, std::numeric_limits<double>::max() );
|
||||
VERIFY_VALUE_AND_OPS( big_float64un_t, double, std::numeric_limits<double>::min() );
|
||||
VERIFY_VALUE_AND_OPS( big_float32un_t, float, (std::numeric_limits<float>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( big_float32un_t, float, (std::numeric_limits<float>::min) () );
|
||||
VERIFY_VALUE_AND_OPS( big_float64un_t, double, (std::numeric_limits<double>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( big_float64un_t, double, (std::numeric_limits<double>::min) () );
|
||||
|
||||
VERIFY_VALUE_AND_OPS( little_float32un_t, float, std::numeric_limits<float>::max() );
|
||||
VERIFY_VALUE_AND_OPS( little_float32un_t, float, std::numeric_limits<float>::min() );
|
||||
VERIFY_VALUE_AND_OPS( little_float64un_t, double, std::numeric_limits<double>::max() );
|
||||
VERIFY_VALUE_AND_OPS( little_float64un_t, double, std::numeric_limits<double>::min() );
|
||||
VERIFY_VALUE_AND_OPS( little_float32un_t, float, (std::numeric_limits<float>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( little_float32un_t, float, (std::numeric_limits<float>::min) () );
|
||||
VERIFY_VALUE_AND_OPS( little_float64un_t, double, (std::numeric_limits<double>::max) () );
|
||||
VERIFY_VALUE_AND_OPS( little_float64un_t, double, (std::numeric_limits<double>::min) () );
|
||||
|
||||
float a = 1.0F;
|
||||
big_float32_t b(1.0F);
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
|
||||
#include "test.hpp"
|
||||
#include <iostream>
|
||||
#include <cassert>
|
||||
//#include <cstdint>
|
||||
#include <boost/assert.hpp>
|
||||
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
@@ -18,11 +17,11 @@ int main()
|
||||
|
||||
#ifndef BOOST_ENDIAN_NO_INTRINSICS
|
||||
uint16_t x2 = 0x1122U;
|
||||
assert(BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x2) == 0x2211U);
|
||||
BOOST_ASSERT(BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x2) == 0x2211U);
|
||||
uint32_t x4 = 0x11223344UL;
|
||||
assert(BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(x4) == 0x44332211UL);
|
||||
BOOST_ASSERT(BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(x4) == 0x44332211UL);
|
||||
uint64_t x8 = 0x1122334455667788U;
|
||||
assert(BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(x8) == 0x8877665544332211ULL);
|
||||
BOOST_ASSERT(BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(x8) == 0x8877665544332211ULL);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
Reference in new issue
Block a user