Commit Graph

21 Commits

Author SHA1 Message Date
Peter Dimov
b015a164f8 Add floating point typedefs to arithmetic.hpp; rename double64 to float64 in buffers.hpp 2019-10-15 02:26:58 +03:00
Peter Dimov
f992e9d3e4 Test floating point typedefs in buffer_test 2019-10-15 02:08:57 +03:00
Peter Dimov
15e6923325 Update buffer_test 2019-04-27 22:00:01 +03:00
Peter Dimov
f77a318c37 Remove BOOST_ENDIAN_LOG 2019-04-27 19:28:49 +03:00
Peter Dimov
e08864d648 Fix msvc warnings 2019-02-19 01:13:31 +02:00
Peter Dimov
62802fee96 Add unaligned test 2017-12-23 17:22:35 +02:00
Peter Dimov
0d5adab378 Refactor boundary values tests 2017-12-22 16:35:21 +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
b647051422 Add a construction/assignment/value test for buffer types 2017-12-21 03:32:38 +02: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
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
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
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
35f4c47a22 Add endian_buffer stream inserter and extractor, beef up buffer_test a bit. 2015-01-17 10:25:29 -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
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
e2045b7ffa Finalize buffer and arithmetic decomposition. Finalize name changes. Finalize test cases. Remove cruft. Docs still to do. 2014-11-26 10:04:33 -05:00
Beman
61d9046348 Remove "operator value_type() const noexcept" from buffers. Make the buffer ctor explicit. Buffers were requested by people who do not want automatic conversions because they want full control over conversions, and are very concerned about "efficiency".
Add "operator value_type() const noexcept" to the endian arithmetic types. These types are used by people who do want fully automatic conversions. The arithmetic types need to be drop-in replacements for the built-in arithmetic types for these users.
2014-11-18 14:33:31 -05:00
Beman
561d8f7070 Initial commit buffers.hpp and related infrastructure. A separate buffer class without arithmetic operators was requested during the formal review. 2014-11-15 08:02:08 -05:00