174 lines
5.2 KiB
Plaintext
174 lines
5.2 KiB
Plaintext
|
Release Notes
|
||
|
=============
|
||
|
|
||
|
1.11.0 release (2013-11-16):
|
||
|
----------------------------
|
||
|
|
||
|
- Made tie-breaking behaviour in round to nearest configurable by
|
||
|
`HALF_ROUND_TIES_TO_EVEN` macro.
|
||
|
- Completed support for all C++11 mathematical functions even if single-
|
||
|
precision versions from `<cmath>` are unsupported.
|
||
|
- Fixed inability to disable support for C++11 mathematical functions on
|
||
|
*VC++ 2013*.
|
||
|
|
||
|
|
||
|
1.10.0 release (2013-11-09):
|
||
|
----------------------------
|
||
|
|
||
|
- Made default rounding mode configurable by `HALF_ROUND_STYLE` macro.
|
||
|
- Added support for non-IEEE single-precision implementations.
|
||
|
- Added `HALF_ENABLE_CPP11_TYPE_TRAITS` preprocessor flag for checking
|
||
|
support for C++11 type traits and TMP features.
|
||
|
- Restricted `half_cast` to support built-in arithmetic types only.
|
||
|
- Changed behaviour of `half_cast` to respect rounding mode when casting
|
||
|
to/from integer types.
|
||
|
|
||
|
|
||
|
1.9.2 release (2013-11-01):
|
||
|
---------------------------
|
||
|
|
||
|
- Tested for *gcc 4.8*.
|
||
|
- Tested and fixed for *VC++ 2013*.
|
||
|
- Removed unnecessary warnings in *MSVC*.
|
||
|
|
||
|
|
||
|
1.9.1 release (2013-08-08):
|
||
|
---------------------------
|
||
|
|
||
|
- Fixed problems with older gcc and MSVC versions.
|
||
|
- Small fix to non-C++11 implementations of `remainder` and `remquo`.
|
||
|
|
||
|
|
||
|
1.9.0 release (2013-08-07):
|
||
|
---------------------------
|
||
|
|
||
|
- Changed behaviour of `nearbyint`, `rint`, `lrint` and `llrint` to use
|
||
|
rounding mode of half-precision implementation (which is
|
||
|
truncating/indeterminate) instead of single-precision rounding mode.
|
||
|
- Added support for more C++11 mathematical functions even if single-
|
||
|
precision versions from `<cmath>` are unsupported, in particular
|
||
|
`remainder`, `remquo` and `cbrt`.
|
||
|
- Minor implementation changes.
|
||
|
|
||
|
|
||
|
1.8.1 release (2013-01-22):
|
||
|
---------------------------
|
||
|
|
||
|
- Fixed bug resulting in multiple definitions of the `nanh` function due to
|
||
|
a missing `inline` specification.
|
||
|
|
||
|
|
||
|
1.8.0 release (2013-01-19):
|
||
|
---------------------------
|
||
|
|
||
|
- Added support for more C++11 mathematical functions even if single-
|
||
|
precision versions from `<cmath>` are unsupported, in particular
|
||
|
exponential and logarithm functions, hyperbolic area functions and the
|
||
|
hypotenuse function.
|
||
|
- Made `fma` function use default implementation if single-precision version
|
||
|
from `<cmath>` is not faster and thus `FP_FAST_FMAH` to be defined always.
|
||
|
- Fixed overload resolution issues when invoking certain mathematical
|
||
|
functions by unqualified calls.
|
||
|
|
||
|
|
||
|
1.7.0 release (2012-10-26):
|
||
|
---------------------------
|
||
|
|
||
|
- Added support for C++11 `noexcept` specifiers.
|
||
|
- Changed C++11 `long long` to be supported on *VC++ 2003* and up.
|
||
|
|
||
|
|
||
|
1.6.1 release (2012-09-13):
|
||
|
---------------------------
|
||
|
|
||
|
- Made `fma` and `fdim` functions available even if corresponding
|
||
|
single-precision functions are not.
|
||
|
|
||
|
|
||
|
1.6.0 release (2012-09-12):
|
||
|
---------------------------
|
||
|
|
||
|
- Added `HALF_ENABLE_CPP11_LONG_LONG` to control support for `long long`
|
||
|
integers and corresponding mathematical functions.
|
||
|
- Fixed C++98 compatibility on non-VC compilers.
|
||
|
|
||
|
|
||
|
1.5.1 release (2012-08-17):
|
||
|
---------------------------
|
||
|
|
||
|
- Recorrected `std::numeric_limits::round_style` to always return
|
||
|
`std::round_indeterminate`, due to overflow-handling deviating from
|
||
|
correct round-toward-zero behaviour.
|
||
|
|
||
|
|
||
|
1.5.0 release (2012-08-16):
|
||
|
---------------------------
|
||
|
|
||
|
- Added `half_cast` for explicitly casting between half and any type
|
||
|
convertible to/from `float` and allowing the explicit specification of
|
||
|
the rounding mode to use.
|
||
|
|
||
|
|
||
|
1.4.0 release (2012-08-12):
|
||
|
---------------------------
|
||
|
|
||
|
- Added support for C++11 generalized constant expressions (`constexpr`).
|
||
|
|
||
|
|
||
|
1.3.1 release (2012-08-11):
|
||
|
---------------------------
|
||
|
|
||
|
- Fixed requirement for `std::signbit` and `std::isnan` (even if C++11
|
||
|
`<cmath>` functions disabled) on non-VC compilers.
|
||
|
|
||
|
|
||
|
1.3.0 release (2012-08-10):
|
||
|
---------------------------
|
||
|
|
||
|
- Made requirement for `<cstdint>` and `static_assert` optional and thus
|
||
|
made the library C++98-compatible.
|
||
|
- Made support for C++11 features user-overridable through explicit
|
||
|
definition of corresponding preprocessor symbols to either 0 or 1.
|
||
|
- Renamed `HALF_ENABLE_HASH` to `HALF_ENABLE_CPP11_HASH` in correspondence
|
||
|
with other C++11 preprocessor symbols.
|
||
|
|
||
|
|
||
|
1.2.0 release (2012-08-07):
|
||
|
---------------------------
|
||
|
|
||
|
- Added proper preprocessor definitions for `HUGE_VALH` and `FP_FAST_FMAH`
|
||
|
in correspondence with their single-precision counterparts from `<cmath>`.
|
||
|
- Fixed internal preprocessor macros to be properly undefined after use.
|
||
|
|
||
|
|
||
|
1.1.2 release (2012-08-07):
|
||
|
---------------------------
|
||
|
|
||
|
- Revised `std::numeric_limits::round_style` to return
|
||
|
`std::round_toward_zero` if the `float` version also does and
|
||
|
`std::round_indeterminate` otherwise.
|
||
|
- Fixed `std::numeric_limits::round_error` to reflect worst-case round
|
||
|
toward zero behaviour.
|
||
|
|
||
|
|
||
|
1.1.1 release (2012-08-06):
|
||
|
---------------------------
|
||
|
|
||
|
- Fixed `std::numeric_limits::min` to return smallest positive normal
|
||
|
number, instead of subnormal number.
|
||
|
- Fixed `std::numeric_limits::round_style` to return
|
||
|
`std::round_indeterminate` due to mixture of separately rounded
|
||
|
single-precision arithmetics with truncating single-to-half conversions.
|
||
|
|
||
|
|
||
|
1.1.0 release (2012-08-06):
|
||
|
---------------------------
|
||
|
|
||
|
- Added half-precision literals.
|
||
|
|
||
|
|
||
|
1.0.0 release (2012-08-05):
|
||
|
---------------------------
|
||
|
|
||
|
- First release.
|