blob: 9100b6ab74d3aa529b86884f9b73acb8fbb21ebf [file] [log] [blame]
telsoa01c577f2c2018-08-31 09:22:23 +01001Release Notes {#changelog}
2=============
3
41.12.0 release (2017-03-06):
5----------------------------
6
7- Changed behaviour of `half_cast` to perform conversions to/from `double`
8 and `long double` directly according to specified rounding mode, without an
9 intermediate `float` conversion.
10- Added `noexcept` specifiers to constructors.
11- Fixed minor portability problem with `logb` and `ilogb`.
12- Tested for *VC++ 2015*.
13
14
151.11.0 release (2013-11-16):
16----------------------------
17
18- Made tie-breaking behaviour in round to nearest configurable by
19 `HALF_ROUND_TIES_TO_EVEN` macro.
20- Completed support for all C++11 mathematical functions even if single-
21 precision versions from `<cmath>` are unsupported.
22- Fixed inability to disable support for C++11 mathematical functions on
23 *VC++ 2013*.
24
25
261.10.0 release (2013-11-09):
27----------------------------
28
29- Made default rounding mode configurable by `HALF_ROUND_STYLE` macro.
30- Added support for non-IEEE single-precision implementations.
31- Added `HALF_ENABLE_CPP11_TYPE_TRAITS` preprocessor flag for checking
32 support for C++11 type traits and TMP features.
33- Restricted `half_cast` to support built-in arithmetic types only.
34- Changed behaviour of `half_cast` to respect rounding mode when casting
35 to/from integer types.
36
37
381.9.2 release (2013-11-01):
39---------------------------
40
41- Tested for *gcc 4.8*.
42- Tested and fixed for *VC++ 2013*.
43- Removed unnecessary warnings in *MSVC*.
44
45
461.9.1 release (2013-08-08):
47---------------------------
48
49- Fixed problems with older gcc and MSVC versions.
50- Small fix to non-C++11 implementations of `remainder` and `remquo`.
51
52
531.9.0 release (2013-08-07):
54---------------------------
55
56- Changed behaviour of `nearbyint`, `rint`, `lrint` and `llrint` to use
57 rounding mode of half-precision implementation (which is
58 truncating/indeterminate) instead of single-precision rounding mode.
59- Added support for more C++11 mathematical functions even if single-
60 precision versions from `<cmath>` are unsupported, in particular
61 `remainder`, `remquo` and `cbrt`.
62- Minor implementation changes.
63
64
651.8.1 release (2013-01-22):
66---------------------------
67
68- Fixed bug resulting in multiple definitions of the `nanh` function due to
69 a missing `inline` specification.
70
71
721.8.0 release (2013-01-19):
73---------------------------
74
75- Added support for more C++11 mathematical functions even if single-
76 precision versions from `<cmath>` are unsupported, in particular
77 exponential and logarithm functions, hyperbolic area functions and the
78 hypotenuse function.
79- Made `fma` function use default implementation if single-precision version
80 from `<cmath>` is not faster and thus `FP_FAST_FMAH` to be defined always.
81- Fixed overload resolution issues when invoking certain mathematical
82 functions by unqualified calls.
83
84
851.7.0 release (2012-10-26):
86---------------------------
87
88- Added support for C++11 `noexcept` specifiers.
89- Changed C++11 `long long` to be supported on *VC++ 2003* and up.
90
91
921.6.1 release (2012-09-13):
93---------------------------
94
95- Made `fma` and `fdim` functions available even if corresponding
96 single-precision functions are not.
97
98
991.6.0 release (2012-09-12):
100---------------------------
101
102- Added `HALF_ENABLE_CPP11_LONG_LONG` to control support for `long long`
103 integers and corresponding mathematical functions.
104- Fixed C++98 compatibility on non-VC compilers.
105
106
1071.5.1 release (2012-08-17):
108---------------------------
109
110- Recorrected `std::numeric_limits::round_style` to always return
111 `std::round_indeterminate`, due to overflow-handling deviating from
112 correct round-toward-zero behaviour.
113
114
1151.5.0 release (2012-08-16):
116---------------------------
117
118- Added `half_cast` for explicitly casting between half and any type
119 convertible to/from `float` and allowing the explicit specification of
120 the rounding mode to use.
121
122
1231.4.0 release (2012-08-12):
124---------------------------
125
126- Added support for C++11 generalized constant expressions (`constexpr`).
127
128
1291.3.1 release (2012-08-11):
130---------------------------
131
132- Fixed requirement for `std::signbit` and `std::isnan` (even if C++11
133 `<cmath>` functions disabled) on non-VC compilers.
134
135
1361.3.0 release (2012-08-10):
137---------------------------
138
139- Made requirement for `<cstdint>` and `static_assert` optional and thus
140 made the library C++98-compatible.
141- Made support for C++11 features user-overridable through explicit
142 definition of corresponding preprocessor symbols to either 0 or 1.
143- Renamed `HALF_ENABLE_HASH` to `HALF_ENABLE_CPP11_HASH` in correspondence
144 with other C++11 preprocessor symbols.
145
146
1471.2.0 release (2012-08-07):
148---------------------------
149
150- Added proper preprocessor definitions for `HUGE_VALH` and `FP_FAST_FMAH`
151 in correspondence with their single-precision counterparts from `<cmath>`.
152- Fixed internal preprocessor macros to be properly undefined after use.
153
154
1551.1.2 release (2012-08-07):
156---------------------------
157
158- Revised `std::numeric_limits::round_style` to return
159 `std::round_toward_zero` if the `float` version also does and
160 `std::round_indeterminate` otherwise.
161- Fixed `std::numeric_limits::round_error` to reflect worst-case round
162 toward zero behaviour.
163
164
1651.1.1 release (2012-08-06):
166---------------------------
167
168- Fixed `std::numeric_limits::min` to return smallest positive normal
169 number, instead of subnormal number.
170- Fixed `std::numeric_limits::round_style` to return
171 `std::round_indeterminate` due to mixture of separately rounded
172 single-precision arithmetics with truncating single-to-half conversions.
173
174
1751.1.0 release (2012-08-06):
176---------------------------
177
178- Added half-precision literals.
179
180
1811.0.0 release (2012-08-05):
182---------------------------
183
184- First release.