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