Commit Graph

33 Commits

Author SHA1 Message Date
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 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 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
arvidn 4b4123a0fa [cleanup] remove trailing whitespace from source code files 2017-11-04 13:07:54 +01: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 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 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 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 4b6019c82e Use hex in literal for value where octal is confusing. 2014-12-09 07:10:25 -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 fc7733ade1 Major renaming. Class "endian" becomes class "endian_arithmetic" to mimic the C++ standard's description of such types as "arithmetic types". Rename header accordingly. The convenience typedefs have been changed shorten aligned names, as they are often being, but keeping the unaligned type names relatively short via a simple "_ut" suffix. 2014-11-19 10:53:11 -05:00
Beman ea44132749 Add native float tests. 2014-08-13 14:02:09 -04:00
Beman 016d3b2e7c Rename the endian typedefs. Rationale: Subjective - during three months working on the B-tree library, the *un_t names were a constant source of irritation. Objective - the new scheme, which reverts the *un_t names to having no alignment decoration, provides consistent *_align* decoration for both FP and integer types. Also, the library now provides conversion functions which may reduce use of aligned endian types. 2013-09-01 08:40:32 -04:00
Beman 74b122c581 Alignment of 64-bit integers on a 32-bit system may be to a 32-bit boundary! 2013-05-30 10:07:16 -04:00
Beman db3864b3d4 Fix boo boos detected by inspect program. 2013-05-29 09:40:35 -04:00
Beman 7f9d91e6d2 Rename unaligned integers to fit the floating point pattern. Unifies the naming pattern, deliberately makes the unaligned type names a bit uglier. 2013-05-26 12:05:33 -04:00
Beman dff7c1254e Add unaligned floating point types and supporting infrastructure. 2013-05-26 08:25:10 -04:00
Beman a7ba65f830 Implement, test, float and double endian types. 2013-05-25 12:16:32 -04:00
Beman c7beb10785 Add alignment test cases for aligned endian types. 2013-05-22 08:46:56 -04:00
Beman ddb5936b68 Yet another naming scheme for type synonyms. Aligned type names now exactly follow the <cstdint> pattern, while the unaligned names elide "int". 2013-05-21 07:56:27 -04:00
Beman 870b542456 Rename endian types to a scheme that mimics cstdint.hpp. Change test and example code accordingly. 2013-05-20 17:03:12 -04:00
Beman f13a9cd6a4 Rename integers.hpp to types.hpp in case floating point is someday supported. 2013-05-20 09:07:01 -04:00
Beman db2f30b77c Better fix that works with more compilers, old and new, VC++ and GCC. 2013-05-13 11:05:31 -04:00
Beman 4c0bd87c18 Tweaks to get tests running with various compilers. 2013-05-12 17:42:48 -04:00
Beman 3877219925 Remove spurious semi-colon. 2013-05-12 07:21:37 -04:00
Beman 553d6a2426 Work in progress. Detect wrong endianness reported by boost/detail/endian.hpp. Add intrinsic timing to benchmark.cpp. Add boost/endian/detail/intrinsic.hpp. Use intrinsics in converters when available. Begin adding convert_bytes tests to converter_test.cpp. 2013-05-10 16:51:24 -04:00
Beman 736d9cce09 Change name of endianness enum to order. This is often used with namespace qualifier, and endian::order is shorter and reads better than endian::endianness.
Continue infrastructure and test updates.
2013-03-19 09:28:22 -04:00
Beman 8782df3ab5 Get VC++ solution working with new directory structure (Except benchmark link errors). 2013-03-18 15:53:49 -04:00
Beman d131123327 Directory reorg to follow Boost Git practice. 2013-03-18 14:57:23 -04:00