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 |
|
Beman
|
55a65c3806
|
Revert to again supply the reverse_endianness_in_place template. This has the effect of providing a default reverse_endianness_in_place for user-defined types. Add error checking for UDT's to verify this works as desired. Provide a note in the conversion docs to that effect.
|
2014-12-09 11:36:42 -05:00 |
|
Beman
|
a0b5805b73
|
Minor namespace detail cleanup.
|
2014-12-09 07:38:04 -05:00 |
|
Beman
|
f0532a3854
|
Improve comments.
|
2014-12-09 07:08:41 -05:00 |
|
Beman
|
db16b51b41
|
Tweak comments.
|
2014-12-05 09:05:05 -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
|
56103a7bc6
|
Finish conversion.hpp cleanup after name changes. conversion_test.cpp return-by-value tests reorganized and passing. UTD and in-place tests still to come. Add doc/bikeshed.txt to keep record of naming rationale.
|
2014-11-24 10:04:23 -05:00 |
|
Beman
|
4197f996ac
|
More conversion.hpp fixes. Some, but not all, conversion_test tests passing.
|
2014-11-23 10:38:21 -05:00 |
|
Beman
|
ce73f59741
|
Add "_endianness" to the names of the two customization points. These names must be defined in user namespaces (for ADL to work) and so must be much more explicit than names that are defined in namespace endian.
|
2014-11-23 08:40:58 -05:00 |
|
Beman
|
f9c562b4b4
|
Rework conversion.hpp: Make the UDT customization point for the value returning conversion functions much more explicit. Provide a separate UDT customization point for the in-place conversion functions, and reverse_in_place() overloads for the built-in arithmetic types. Eliminate the unsafe general-use reverse functions. With explicit customization points these are no longer needed. Complete the renaming of conversion functions started in the prior commit. The reverse and reverse_in_place names are much more meaningful and less likely to be misunderstood. The longer "reverse_in_place" name will hopefully at least slow users down before inappropriate (and possibly unsafe use, such as when trying to recover data after an exception).
|
2014-11-22 16:27:11 -05:00 |
|
Beman
|
49a91c293a
|
Rename endian_buffer typedefs. New names a bit longer, but also a bit more explicit and more obviously related to endian_arithmetic typedefs.
|
2014-11-21 15:49:28 -05:00 |
|