diff --git a/doc/mini_review_topics.html b/doc/mini_review_topics.html new file mode 100644 index 0000000..9d5e6bd --- /dev/null +++ b/doc/mini_review_topics.html @@ -0,0 +1,107 @@ + + +
+ + + +Here is what needs to be done to get the library ready for a mini-review: + + + +
+ +Common use case scenarios should be developed.
++ +++
Example programs should be developed for the common use case scenarios.
++++
Documentation should illuminate the differences between endian +integer/float type and endian conversion approaches to the common use +case scenarios, and provide guidelines for choosing the most appropriate +approach in user's applications.
++++
Conversion functions supplying results via return should be provided.
+++Done. See conversion docs.
+
Platform specific performance enhancements such as use of compiler intrinsics or relaxed alignment requirements should be supported.
+++Done. Compiler (Clang, GCC, VisualC++, etc.) intrinsics and built-in + functions are used in the implementation where appropriate, as requested. See + Built-in support for Intrinsics. See + Timings for Example 2 to gauge the impact of + intrinsics.
+
Endian integer (and floating) types should be implemented via the +conversion functions. If that can't be done efficiently, consideration +should be given to expanding the conversion function signatures to +resolve the inefficiencies.
+++Done. For the endian types, the implementation uses the endian conversion + functions, and thus the intrinsics, as requested.
+
Benchmarks that measure performance should be provided. It should be +possible to compare platform specific performance enhancements against +portable base implementations, and to compare endian integer approaches +against endian conversion approaches for the common use case scenarios.
+++Done. See Timings for Example 2. Also note + that the
+endian/test
directory contains a number of additional + benchmark and speed test programs.
Float (32-bits) and double (64-bits) should be supported. IEEE 754 is +the primary use case.
+++Done. The endian types and + endian conversion functions now support 32-bit (
+float)
+ and 64-bit(double)
floating point, as requested.
Support for user defined types (UDTs) is desirable, and should be +provided where there would be no conflict with the other concerns.
++++
There is some concern that endian integer/float arithmetic operations +might used inadvertently or inappropriately. The impact of adding an endian_buffer + class without arithmetic operations should be investigated.
++++
Stream insertion and extraction of the endian integer/float types should + be documented and included in the test coverage.
++
Binary I/O support that was investigated during development of the Endian + library should be put up for mini-review for inclusion in the Boost I/O + library.
+ ++++ +
Last revised: +11 November, 2014
+© Copyright Beman Dawes, 2014
+Distributed under the Boost Software License, Version 1.0. See +www.boost.org/ LICENSE_1_0.txt
+ + + + \ No newline at end of file