53 Commits

Author SHA1 Message Date
ivanpanch 9dfc404d6e Update crc.hpp 2025-08-22 15:30:16 +02:00
Peter Dimov bd22b63fd2 boost::uint_t<64>::fast is unsigned long under macOS, but uint_least64_t is unsigned long long 2024-09-03 21:12:40 +03:00
Peter Dimov 56b3d95bb5 Use uint_leastN_t for uint_t<N>::fast, to match boost::uint_t<N>::fast. Remove uint_t<N>::least, as it's not used. 2024-09-03 17:50:37 +03:00
Peter Dimov 887b557d2f Remove use of Boost.Config in crc.hpp 2024-04-14 14:24:47 +03:00
Peter Dimov 7a02e88925 Avoid triggering the max macro from <windows.h>. Fixes #25. 2024-04-14 03:07:48 +03:00
Peter Dimov 470537f62b Remove use of Boost.Integer 2024-04-13 22:05:17 +03:00
Peter Dimov 492d6b7817 Remove uses of Boost.Array 2024-04-13 21:38:59 +03:00
Peter Dimov 0a5477cfdd Remove uses of Boost.TypeTraits 2024-04-13 21:31:12 +03:00
Peter Dimov a756f9f471 Remove use of boost/cstdint.hpp 2024-04-13 21:26:55 +03:00
Peter Dimov 601c2f430a Remove use of boost/limits.hpp 2024-04-13 21:23:40 +03:00
Peter Dimov 68594874ba Remove C++03 deprecation message 2024-04-13 21:22:26 +03:00
Peter Dimov e3b1e56890 Add C++03 deprecation message 2023-09-30 14:17:51 +03:00
Peter Dimov 502d254fba Merge branch 'patch-1' of https://github.com/zdewitt/crc into feature/pr-21 2023-09-27 21:15:52 +03:00
Peter Dimov e0d26eef44 Replace sizeof(R)*8 with numeric_limits<R>::digits 2023-09-27 21:04:31 +03:00
Peter Dimov ef0afcdf5c Merge branch 'fix-crc_modulo_word_update-bug' of https://github.com/te2ikd/crc into feature/pr-15 2023-09-27 21:02:18 +03:00
Peter Dimov ed2d83cf4e Merge branch 'pr-no-operator-names' of https://github.com/mpsuzuki/boost-crc-pr into feature/pr-22 2023-09-27 20:35:05 +03:00
Peter Dimov 30fd750cb6 Merge branch 'develop' of https://github.com/achartier/crc into feature/pr-6 2023-09-27 20:25:27 +03:00
mpsuzuki 6b4249bdc6 Reflect a8dd4858 to augmented_crc_modulo_word_update() too
The commit a8dd4858 replaced the operator "not" by the conventional "!" in crc_modulo_word_update() for MSVC.
But "not" is still used for augmented_crc_modulo_word_update().
This patch replaces the "not" in augmented_crc_modulo_word_update() by "!".
2023-09-16 15:56:41 +09:00
Zoltan DeWitt 94eaaec2b7 Add a static_cast to allow strict type conversion errors
When compiling with -Wconversion enabled, there is an implicit narrowing here when Unsigned type is a char and is promoted to an int during these arithmetic operations. Use a cast to resolve this
2023-06-02 15:49:55 -07:00
Glen Fernandes 96daae9fcd Workaround for MSVC warnings 2022-04-16 08:28:44 -04:00
tohru 7e75814c18 Fixed bug with crc_optimal computes wrong checksum. (such as CRC-14/DARC, CRC-24/BLE) 2021-01-24 15:14:56 +09:00
Aurelien Chartier 72d3fcdecd Initialize result in make_partial_xor_products_table to avoid warning 2019-08-23 14:55:18 -07:00
Glen Fernandes 7e9a89d2df Drop dependency on MPL and use TypeTraits 2018-09-14 22:12:41 -04:00
Stephen Kelly 38c6c7ede3 CRC: Remove obsolete MSVC ifdef.
[SVN r85878]
2013-09-25 07:48:32 +00:00
Stephen Kelly a0499e55a3 CRC: Remove use of BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
This macro is no longer defined for any compiler.

[SVN r85877]
2013-09-25 07:46:46 +00:00
Steven Watanabe 8d9cd56f9d Add missing inline
[SVN r84832]
2013-06-19 03:53:26 +00:00
Steven Watanabe a8dd485837 Fix crc on msvc
[SVN r83212]
2013-02-28 22:38:48 +00:00
Daryle Walker b7d90ac11c Re-did documentation for Boost.CRC, using QuickBook and such.
[SVN r76335]
2012-01-06 21:18:45 +00:00
Daryle Walker d60f9c7824 Re-did the compile-time reflection and CRC-table systems, making CRC configurations with mixed-reflection parameters and sub-byte width work, and doubling the speed\!
[SVN r76197]
2011-12-27 00:39:25 +00:00
Daryle Walker 896b8d16db Changed the two internal core CRC routines: made the single-bit version call the bit-group version instead of the reverse, switched the appearance of the two routines in their file, moved the register bit-length from a compile-time parameter to run-time, made the single-bit version inline and no longer return any quotient.
[SVN r76160]
2011-12-25 21:11:07 +00:00
Daryle Walker 3ef4bbe03e Added some optimizations (hopefully) during reflecting when the register size is a byte.
[SVN r76158]
2011-12-25 19:37:32 +00:00
Daryle Walker de091e8fea Re-did the code for possibly-reflecting functions that decide at compile-time.
[SVN r76150]
2011-12-25 16:53:36 +00:00
Daryle Walker be34033738 Added a couple of 'inline' markers to internal functions; added Doxygen notes to internal functionality; re-escaped the spelling of the numeric-limits class in Doxygen comments.
[SVN r76149]
2011-12-25 03:38:36 +00:00
Daryle Walker b1cee7c1da Corrected a misspelling; renamed a function formal parameter that hid a class member; reduced use of template formal parameters within class members; tweaked some internal functionality; removed some unneeded qualifications.
[SVN r76110]
2011-12-22 21:33:55 +00:00
Daryle Walker 328bf50f66 Added new example CRC computer types to correct the mistaken ones; added test cases for those new types.
[SVN r76104]
2011-12-22 12:07:23 +00:00
Daryle Walker c0a10f58d6 Added Doxygen comments; marked some example CRC computer types as not matching their supposed standard.
[SVN r76102]
2011-12-22 11:51:49 +00:00
Daryle Walker 929cf0f97f Changed some copyright blocks.
[SVN r76101]
2011-12-22 11:33:14 +00:00
Daryle Walker d98c9fa072 Folded both versions of boost::augmented_crc into a single one with a defaulted trailing argument; updated a web link.
[SVN r76059]
2011-12-19 05:20:39 +00:00
Daryle Walker 3454bd1012 Factored CRC-modulo code to dedicated function templates; streamlined reflection code; did minor tweaks to the bit-mask class templates and the copyright block.
[SVN r76019]
2011-12-17 13:28:34 +00:00
Daryle Walker 9e210efd16 Changed reflection routines from a function-containing class template to a bunch of functions and function templates.
[SVN r75993]
2011-12-16 15:32:27 +00:00
Daryle Walker 3c5a9af963 Changed expressions of bit-mask constants to use Boost.MPL.
[SVN r75982]
2011-12-16 09:10:13 +00:00
Steven Watanabe 371f963d42 Workaround gcc problems with -pedantic. Fixes #613
[SVN r53646]
2009-06-05 00:42:44 +00:00
Douglas Gregor c1abdded4c Merged from Version_1_33_1
[SVN r31949]
2005-12-08 03:23:02 +00:00
Daryle Walker 52cf759c50 Fixed (hopefully) bugs with CRC polymoninals shorter than a byte, with a patch from Bert Klaps
[SVN r24802]
2004-08-29 03:54:33 +00:00
Daryle Walker a3092c7d33 Moved some of my stuff to the Boost Software License, Version 1.0
[SVN r20681]
2003-11-05 07:04:53 +00:00
Daryle Walker eed54008fe Merged in fixes from the Boost 1.30.2 release branch
[SVN r20601]
2003-11-02 08:49:45 +00:00
Jens Maurer 3645fbff27 work around peculiar "static const" problem on old EDG-based compilers
[SVN r19052]
2003-07-11 15:08:00 +00:00
Jens Maurer 8cac421b05 DEC/Compaq C++ needs to use unsigned long integral constant arithmetic
[SVN r19005]
2003-07-09 21:30:28 +00:00
Beman Dawes 6f3371431a add or update See www.boost.org comments
[SVN r16708]
2002-12-27 16:51:53 +00:00
John Maddock 60d80ae3f1 Borland C++ 6 fixes
[SVN r13657]
2002-05-04 10:45:53 +00:00