180 Commits

Author SHA1 Message Date
Peter Dimov
e58970b167 Remove endian/detail/lightweight_test.hpp 2019-04-27 02:32:24 +03:00
Peter Dimov
26b0170a6e Fix typo in conversion.hpp 2019-04-27 01:47:28 +03:00
Peter Dimov
a2025a9320 Refactor endian_reverse into its own header, make it work for long and long long 2019-04-26 20:24:27 +03:00
Peter Dimov
146c1af963 Merge branch 'develop' into feature/endian-load-store 2019-03-20 17:30:05 +02:00
Peter Dimov
01146c9558 Add char and char16_t overloads of endian_reverse 2019-03-19 01:06:53 +02:00
Peter Dimov
2bd479044b Add spirit_conflict_test.cpp (refs #33) 2019-03-13 02:12:48 +02:00
Peter Dimov
de33887009 Identify and static-assert the requirements of endian_load/endian_store 2019-03-13 01:44:29 +02:00
Peter Dimov
95178e3cfb Add endian_store, use it in buffers.hpp 2019-03-12 20:21:11 +02:00
Peter Dimov
019fb85ea9 Add endian_load, use it in buffers.hpp 2019-03-12 19:42:35 +02:00
Peter Dimov
e08864d648 Fix msvc warnings 2019-02-19 01:13:31 +02:00
Peter Dimov
dafb9b1795 Use unsigned char in store_{big,little} 2018-12-06 20:44:42 +02:00
Peter Dimov
96c2e6dacb Cosmetic fixes 2018-12-06 20:34:15 +02:00
Peter Dimov
9f67f19d35 Merge branch 'unaligned-big-endian' of https://github.com/wijagels/endian into feature/pr-31 2018-12-06 19:57:58 +02:00
Peter Dimov
bde5937912 A header named _pop should presumably pop instead of push 2018-09-15 03:40:33 +03:00
Peter Dimov
e5753d13e2 Remove unused header 2018-09-15 03:38:52 +03:00
Peter Dimov
2837f3b9c5 g++ 4.5 and earlier do not support unrestricted unions 2018-09-11 20:18:13 +03: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
William Jagels
327b501169 Take advantage of unaligned load/store for big endian 2018-03-24 20:41:40 -04:00
Peter Dimov
e93f6a2270 Fix unaligned loads and stores 2017-12-23 18:40:09 +02:00
Peter Dimov
134b225378 Shifting a negative number is an -fsanitize=undefined violation, use the unsigned type 2017-12-22 16:24:21 +02: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
arvidn
4b4123a0fa [cleanup] remove trailing whitespace from source code files 2017-11-04 13:07:54 +01:00
Beman
754a4144ec Clear signed/unsigned warnings 2016-08-09 16:49:20 -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
Ben Wiederhake
d1865063ad Fix typos in documentation
Found and fixed while reading documentation
2016-04-03 19:12:49 +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
f14f080359 Change the specification for native ordering to allow implementations to support orderings in addition to big and little. Thanks to Howard Hinnant for suggesting this change and providing draft wording. Also update headers to reflect actual inclusion hierarchy. 2015-10-16 10:30:34 -04:00
Beman
5c26514ded Add comment explaining omission of certain overloads. 2015-08-03 16:09:06 -04:00
Beman
01f7e359bb Update docs to reflect removal of floating point support from 1.58.0 2015-03-25 08:05:49 -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
e532e9c34d BOOST_TEST_MEM_EQ() macro returns bool to aid code that adds additional reporting on errors. 2015-03-20 07:41:54 -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
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
b6b03ea900 Fix incorrect header guard 2015-02-21 09:02:41 -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
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
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
05ea08995c Pass through index.html making corrections and editorial changes. 2014-12-15 08:40:35 -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
Beman
2cbcd6f7d3 Rename "runtime_conditional_reverse" to "conditional_reverse". The differing number of arguments is sufficient to disambiguate the compile-time and run-time overloads. 2014-12-10 09:26:47 -05:00
Beman
dcca2835a9 Rename "reverse_endianness" to "endian_reverse". Shorter but still plenty explicit. See bikeshed.txt for alternatives considered. 2014-12-10 08:30:30 -05:00
Beman
e4466edf4e Drop the _unless_big and _unless_little functions. KISS. They were confusing, and less confusing names were never found. 2014-12-09 20:43:47 -05:00