Commit Graph

137 Commits

Author SHA1 Message Date
Peter Dimov 533c82fa92 Add test/quick.cpp 2019-01-06 20:32:19 +02:00
Peter Dimov 1b589e28d0 Add check_udt_le() to endian_test.cpp; make MyInt default-constructible 2018-12-06 20:33:42 +02:00
Peter Dimov de4aadcb11 Use temporary variables to hold the result of BOOST_ENDIAN_INTRINSIC_* 2018-12-06 18:48:43 +02:00
Peter Dimov 84273c7139 Add BOOST_ENDIAN_NO_INTRINSICS tests to test/Jamfile 2018-12-06 18:02:52 +02:00
Peter Dimov 9cbd708ce5 Rename uint*_t types to avoid conflict 2018-12-06 18:02:23 +02:00
Peter Dimov 59126b39ae Add intrinsic_test.cpp to test/Jamfile 2018-12-06 17:51:38 +02:00
Peter Dimov 07ec535600 boost/predef/detail/endian_compat.h is deprecated; switch to boost/predef/other/endian.h 2018-09-11 18:54:54 +03:00
Peter Dimov 62802fee96 Add unaligned test 2017-12-23 17:22:35 +02:00
Peter Dimov 10877d3667 Remove one more integer overflow 2017-12-23 04:47:54 +02:00
Peter Dimov d4738d8598 Avoid undefined behavior due to signed integer overflow 2017-12-23 00:04:34 +02:00
Peter Dimov 0d5adab378 Refactor boundary values tests 2017-12-22 16:35:21 +02:00
Peter Dimov 4648d237f0 Merge branch 'add-test-for-boundary-values' of https://github.com/arvidn/endian into develop 2017-12-22 16:28:00 +02:00
arvidn 674adbd592 add test to expose undefined behaviors endian_buffer when used with signed integers 2017-12-22 00:00:16 +01:00
Peter Dimov 34542134be Merge pull request #23 from arvidn/remove-trailing-whitespace
[cleanup] remove trailing whitespace from source code files
2017-12-21 17:42:03 +02:00
Peter Dimov b647051422 Add a construction/assignment/value test for buffer types 2017-12-21 03:32:38 +02:00
arvidn 4b4123a0fa [cleanup] remove trailing whitespace from source code files 2017-11-04 13:07:54 +01:00
Beman 739bc40bfc Update tools version 2017-10-15 10:02:13 -04:00
Ben Wiederhake b51593c766 Fix typos in documentation/comments
Credits go to the authors of codespell.
2016-04-03 19:13:04 +02:00
Beman 1b0a41e6cb Add Clang/c2 solution with conversion_test_clang project. Clang/c2 uses the Microsoft rather than GCC intrinsics, so check for defined(_MSC_VER) before defined(__clang__) 2015-12-11 08:15:25 -05:00
Beman cd57e01f9c The boost::uint64_t fix for old msvc compilers is also needed for buffer_test.cpp 2015-03-30 07:15:15 -04:00
Beman fdc8965842 Some older Microsoft libraries did not have uint64_t, so use boost/cstdint.hpp for it. 2015-03-26 11:03:39 -04:00
Beman 5caf1d16c8 Remove floating point support for boost 1.58.0. As currently implemented, return by value operations are not reliable because normalization and other bit pattern changes can occur. Docs not updated as yet. Floating point support will be corrected and reinstated for boost 1.59.0, based on in-place customization and inplace and/or copy signatures to replace the unsafe (i.e. native_to_big/little ) by value returns. The big/little_to_native return by value functions are safe, but require reimplementation. 2015-03-24 17:24:56 -04:00
Beman a15f9420cb Add fp_exhaustive_test. 2015-03-20 08:59:47 -04:00
Beman 5ab08db7a4 Use BOOST_NO_CXX11_NUMERIC_LIMITS for testing with C++03 standard libraries. Always show test output. 2015-03-16 08:58:42 -04:00
Beman 44542694e3 Add round trip test to auto test. Remove tests made redundant by auto test. 2015-03-14 09:45:50 -04:00
Beman cea2be8023 Add auto_test cases lowest(), epsilon(), 0.0, -0.0, 1.0, -1.0 2015-03-14 09:01:55 -04:00
Beman ff4b22bdec Add more auto_test cases. 2015-03-14 08:20:41 -04:00
Beman affdcac443 Rename float_test to floating_point_test. Old name was unclear. Might have incorrectly been read as "test of type float" instead of "test of floating point types". 2015-03-11 10:36:34 -04:00
Beman 7460870381 Comment out failing signaling_NaN() tests. 2015-03-10 16:37:36 -04:00
Beman 13b0d7b9ba Add missing #include <limits>. 2015-03-10 16:34:47 -04:00
Beman 4f2a715c9f Fully implement float_value_test and double_value_test 2015-03-09 17:11:54 -04:00
Beman 09ae6c961f Rename BOOST_TEST_MEMCMP_EQ to BOOST_TEST_MEM_EQ. Add float_test to Jamfile. Add float_value_test() and double_value_test(). 2015-03-08 10:50:39 -04:00
Beman adc09abc7a Also show numeric_limits values in big and little endian hex. 2015-03-07 08:59:14 -05:00
Beman 072b495240 Add Endian specific lightweight_test.hpp with new macro BOOST_TEST_MEMCMP_EQ that uses std::memcmp(...)==0 to determine equality. Bitwise equality is the standard we want floating point round trips to be held to, since NaN's are then equal. 2015-03-05 10:52:28 -05:00
Beman 482bcb0855 report_limits() working. 2015-03-04 14:51:39 -05:00
Beman a968c67510 Initial commit of infrastructure. No test cases yet. 2015-03-04 11:48:21 -05:00
Beman 9c0cbae556 Revert the default (*_t) types to unaligned, and used *_at to identify the aligned types. See mini-review thread for rationale. 2015-02-23 07:24:17 -05:00
Beman b0ef03b9d6 Rearranges rows and columns in tables. Add big_int8_t, big_uint8_t, little_int8_t, little_uint8_t arithmetic and buffer types, in response to mini-review query. 2015-02-16 19:31:48 -05:00
Beman 512287dfa7 Clear some warnings in test programs. 2015-01-19 08:44:19 -05:00
Beman adee2fe513 Add support for deprecated names from pre-review releases. 2015-01-18 19:48:27 -05:00
Beman 35f4c47a22 Add endian_buffer stream inserter and extractor, beef up buffer_test a bit. 2015-01-17 10:25:29 -05:00
Beman 10bcb52d97 Add loop_time_test options 2015-01-15 09:17:31 -05:00
Beman 810f5453a6 Work-in-progress, including various bug fixes and doc updates. 2015-01-14 16:28:30 -05:00
Beman 321d5a087a For X86 and X64 architectures, which permit unaligned loads and stores, unaligned little endian buffer and arithmetic types use regular loads and stores when the size is exact. This makes unaligned little endian buffer and arithmetic types significantly more efficient on these architectures.(Pull request from Jeremy Maitin-Shepard) Docs updated, but timing results have not yet been updated. 2015-01-06 16:57:53 -05:00
Beman d15b2fdb1c Refined rationale for choice of exact-length types for conversion support. 2014-12-16 08:49:01 -05:00
Beman 6de2f69b77 Get MSVC 64-builds working under Visual Studio. 2014-12-15 20:20:16 -05:00
Beman 971ba888d6 Decompose Reversible into EndianReversible and EndianReversibleInplace. 2014-12-11 11:41:44 -05:00
Beman 6c173766e3 Eliminate gcc -Wconversion warnings. 2014-12-10 15:03:06 -05:00
Beman dcde9463fc Do not define _SCL_SECURE_NO_WARNINGS or _CRT_SECURE_NO_WARNINGS if already defined (such as on the command line), plus related cleanups. 2014-12-10 10:26:49 -05:00
Beman c201455c84 Change "in_place" to "inplace". Rationale: shortens names without impacting expressiveness. 2014-12-10 09:39:03 -05:00