180 Commits

Author SHA1 Message Date
Beman
4066443d89 Rework intrinsic.hpp to handle GCC and Clang __builtin_bswap* if available. Add test program. 2013-05-16 10:40:18 -04:00
Beman
88268249a9 Remove inclusion of unreferenced headers. Add comment about Microsoft/Visual Studio availability of intrinsics. 2013-05-15 15:38:34 -04:00
Beman
8b4bd2adfc Add synonyms based on names popularized by BSD, e.g. OS X, Linux. 2013-05-15 08:51:05 -04:00
Beman
09b361e161 Simulated function template partial specialization working. converter_test and pair_test passing. 2013-05-14 17:59:50 -04:00
Beman
1a496f277e Signs of life 2013-05-14 09:59:18 -04:00
Beman
c407260b51 Initial commit 2013-05-13 16:00:56 -04:00
Beman
6cf5464cd2 Distinguish between ReversibleValue and Reversible in both name and behavior. 2013-05-13 14:16:54 -04:00
Beman
2f6dba3ab6 Fixes for older gcc. Fixes for big endian machines. 2013-05-13 10:09:25 -04:00
Beman
4c0bd87c18 Tweaks to get tests running with various compilers. 2013-05-12 17:42:48 -04:00
Beman
a7475d0f63 Really fix the bug this time. Add TODO list. 2013-05-12 14:28:20 -04:00
Beman
ccc71a9ec8 Change T to Reversible to indicate requirement on template parameters. Fix bug in big_endian. 2013-05-12 11:45:04 -04:00
Beman
6c00b65eb4 Add light test of modify-in-place interface 2013-05-12 11:31:32 -04:00
Beman
89d13e9d02 Add modify in place interface, implementation. No tests yet. 2013-05-12 10:16:35 -04:00
Beman
0fef88ab3f Change names to make room for modify-in-place names. 2013-05-12 08:58:44 -04:00
Beman
854c27939a Change name of conditional conversion functions to big_endian and little_endian. 2013-05-12 07:52:42 -04:00
Beman
50c1a27386 Change name convert_bytes to convert. Given the namespace, template parameters, and function arguments, it is obvious what is being converted, and "bytes" is too low level for this function. 2013-05-12 07:25:12 -04:00
Beman
2794810b29 converter_test.cpp refactoring complete 2013-05-11 17:41:06 -04:00
Beman
97b024bcf6 Continue refactoring converter_test.cpp. 2013-05-11 17:18:17 -04:00
Beman
c349e35e91 Enable double, fix bug in generic reverse_bytes implementation. Begin refactoring converter_test code. 2013-05-11 16:08:15 -04:00
Beman
9e96faf4c1 float showing signs of life. 2013-05-11 08:13:55 -04:00
Beman
6af16cc339 compile-time convert_bytes working, all signed and unsigned integer cases being tested. 2013-05-10 17:51:58 -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
fcb5386537 All tests passing, all VC++ projects consistent 2013-05-10 11:26:17 -04:00
Beman
6f496a40cd Unstable work-in-progress. Define order enum in either header. Add runtime function implementations. 2013-05-10 08:56:14 -04:00
Beman
cd9117941f Unstable work in progress.
Change names to reverse_bytes and convert_bytes.
Add runtime convert_bytes function.
compile-time generic byte order conversion.
2013-05-10 07:36:21 -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
35a3fcb709 Set up infrastructure, change to new names, clean up comments. 2013-03-18 20:39:21 -04:00
Beman
d7120e6fac Delete the original conversion.hpp.
Rename conversion2.hpp to converters.hpp.
Adjust infrastructure accordingly.
2013-03-18 20:12:41 -04:00
Beman
c177062bf5 Delete some obsolete files, cleanup the Jamefile. 2013-03-18 19:38:25 -04:00
Beman
8b25b2148c Directory reorg to follow Boost Git practice. 2013-03-18 15:02:04 -04:00