|
| 1 | +Change log for vectorclass.zip |
| 2 | +------------------------------ |
| 3 | + |
| 4 | +Projected future version, 2018: |
| 5 | + * use mask registers for boolean vectors of all sizes with AVX512VL |
| 6 | + * use C++14 |
| 7 | + * replace long template argument lists by constant arrays |
| 8 | + |
| 9 | +2017-07-27 version 1.30 |
| 10 | + * fixed bug in permute8f for a particular combination of indexes |
| 11 | + |
| 12 | +2017-05-10 version 1.29 |
| 13 | + * Reversed Apple Clang patch in version 1.28 because the problem has reoccurred in |
| 14 | + later versions of Clang |
| 15 | + |
| 16 | +2017-05-02 version 1.28 |
| 17 | + * Fixed problem with Apple Clang version 6.2 in vectorf128.h |
| 18 | + * Fixed return type for Vec8sb operator > (Vec8us, Vec8us) |
| 19 | + * cpuid function modified in instrset_detect.cpp |
| 20 | + |
| 21 | +2017-02-19 version 1.27 |
| 22 | + * fixed problem with scatter functions in MS Visual Studio |
| 23 | + |
| 24 | +2016-12-21 version 1.26 |
| 25 | + * added constant4ui template |
| 26 | + * fixed error for complexvec.h with clang |
| 27 | + * fixed error in vectormath_exp.h for MAX_VECTOR_SIZE < 512 |
| 28 | + |
| 29 | +2016-11-25 version 1.25 |
| 30 | + * scatter functions |
| 31 | + * new functions to_float for unsigned integer vectors |
| 32 | + * instrset_detect function can detect AVX512VL, AVX512BW, AVX512DQ |
| 33 | + * functions hasF16C and hasAVX512ER for detecting instruction set extensions |
| 34 | + * fix bugs in horizontal_and and pow(0,0) for AVX512 |
| 35 | + * functions improved for AVX512 and AVX512VL: pow, approx_recipr, |
| 36 | + approx_rsqrt |
| 37 | + * functions improved for AVX512DQ: 64 bit multiplication, to_double, |
| 38 | + 32 and 64 bit rotate_left, round_to_int64, truncate_to_int64 |
| 39 | + * functions improved for AVX512ER: approx_recipr, approx_rsqrt, |
| 40 | + exponential functions |
| 41 | + |
| 42 | +2016-10-31 version 1.24 |
| 43 | + * fix bug in Vec8uq constructor in vectori512e.h |
| 44 | + |
| 45 | +2016-09-27 version 1.23 |
| 46 | + * temporary fix of a problem in Clang version 3.9 inserted in vectorf128.h |
| 47 | + |
| 48 | +2016-05-03 version 1.22 |
| 49 | + * added optional namespace |
| 50 | + * fixed problem with decimal.h |
| 51 | + |
| 52 | +2016-04-24 version 1.21 |
| 53 | + * fix problems with XOP option in gcc |
| 54 | + * improved horizontal_and/or for sse2 |
| 55 | + * improved Vec2q and Vec4q constructor on Microsoft Visual Studio 2015 |
| 56 | + * removed warnings by gcc option -Wcast-qual |
| 57 | + |
| 58 | +2015-12-04 version 1.20 |
| 59 | + * round functions: suppress precision exception under SSE4.1 and higher |
| 60 | + * fix compiler problems with AVX512 multiplication in gcc version 5.1 |
| 61 | + * fix compiler problems with pow function in Microsoft Visual Studio 2015 |
| 62 | + |
| 63 | +2015-11-14 version 1.19 |
| 64 | + * fix various problems with Clang compiler |
| 65 | + |
| 66 | +2015-09-25 version 1.18 |
| 67 | + * fix compiler error for Vec8s divide_by_i(Vec8s const & x) under Clang compiler |
| 68 | + * fix error in Vec4d::size() in vectorf256e.h |
| 69 | + |
| 70 | +2015-07-31 version 1.17 |
| 71 | + * improved operator > for Vec4uq |
| 72 | + * more special cases in blend4q |
| 73 | + * nan_code functions made static inline |
| 74 | + * template parameter BTYPE renamed to BVTYPE in mathematical functions to avoid clash |
| 75 | + with macro named BTYPE in winnt.h |
| 76 | + * fixed bug in Vec4db constructor |
| 77 | + |
| 78 | +2014-10-24 version 1.16 |
| 79 | + * workaround for problem in Clang compiler extended to version 3.09 because not |
| 80 | + fixed yet by Clang (vectorf128.h line 134) |
| 81 | + * recognize problem with Apple version of Clang reporting wrong version number |
| 82 | + * remove various minor problems with Clang |
| 83 | + * function pow(vector, int) modified to strengthen type checking and avoid compiler warnings |
| 84 | + * manual discusses dynamic allocation of arrays of vectors |
| 85 | + * various minor changes |
| 86 | + |
| 87 | +2014-10-17 version 1.15 |
| 88 | + * added files ranvec1.h and ranvec1.cpp for random number generator |
| 89 | + * constructors to make boolean vectors from their elements |
| 90 | + * constructors and = operators to broadcast boolean scalar into boolean vectors |
| 91 | + * various lookup functions improved |
| 92 | + * operators &, |, ^, ~, etc. defined for various boolean vectors to avoid converson |
| 93 | + to integer vectors |
| 94 | + * nmul_add functions |
| 95 | + * mul_add etc. moved to main header files |
| 96 | + * explicit fused multiply-and-add used in math functions to improve performance |
| 97 | + on compilers that don't automatically insert FMA |
| 98 | + |
| 99 | +2014-07-24 version 1.14 |
| 100 | + * support for AVX-512f instruction set and 512-bit vectors: |
| 101 | + Vec16i, Vec16ui, Vec8q, Vec8uq, Vec16f, Vec8d, and corresponding boolean vectors |
| 102 | + * new define MAX_VECTOR_SIZE, valid values are 128, 256 and 512 |
| 103 | + * added hyperbolic functions sinh, cosh, tanh, asinh, acosh, atanh |
| 104 | + * size() member function on all vector classes returns the number of elements |
| 105 | + * functions for conversion between boolean vectors and integer bitfields |
| 106 | + * extracting an element from a boolean vector now returns a bool, not an int |
| 107 | + * improved precision in exp2 and exp10 functions |
| 108 | + * various bug fixes |
| 109 | + |
| 110 | +2014-05-11 version 1.13 |
| 111 | + * pow function improved |
| 112 | + * mul_add, mul_sub, mul_sub_x functions |
| 113 | + * propagation of error codes through nan_code function |
| 114 | + * "denormal" renamed to "subnormal" everywhere, in accordance with IEEE 754-2008 standard |
| 115 | + |
| 116 | +2014-04-20 version 1.12 |
| 117 | + * inline implementation of mathematical functions added (vectormath_exp.h vectormath_trig.h |
| 118 | + vectormath_common.h) |
| 119 | + * vectormath.h renamed to vectormath_lib.h because a new alternative is added |
| 120 | + * gather functions with constant indexes |
| 121 | + * function sign_combine |
| 122 | + * function pow_const(vector, const int) |
| 123 | + * function pow_ratio(vector, const int, const int) |
| 124 | + * functions horizontal_find_first, horizontal_count |
| 125 | + * function recipr_sqrt removed |
| 126 | + * functions round_to_int64_limited, truncate_to_int64_limited, to_double_limited |
| 127 | + * function cubic_root renamed to cbrt |
| 128 | + * function atan(vector,vector) renamed to atan2 |
| 129 | + * function if_mul |
| 130 | + * function Vec4i round_to_int(Vec2d) |
| 131 | + * operator & (float vector, boolean vector) |
| 132 | + * operator &= (int vector, int vector) |
| 133 | + * removed constructor Vec128b(int) and Vec256b(int) to avoid implicit conversion |
| 134 | + * removed signalling nan function |
| 135 | + * minor improvements in various blend and lookup functions |
| 136 | + |
| 137 | +2014-03-01 version 1.11 |
| 138 | + * fixed missing unsigned operators >>= in vectori256.h |
| 139 | + |
| 140 | +2013-10-04 version 1.10 |
| 141 | + * clear distinction between boolean vectors and integer vectors for the sake of |
| 142 | + compatibility with mask registers in forthcoming AVX512 instruction set |
| 143 | + * added function if_add |
| 144 | + * tentative support for clang version 3.3 with workaround for bugs |
| 145 | + * remove ambiguity for builtin m128i operator == in clang compiler. |
| 146 | + * problems in clang compiler, bug reports filed at clang |
| 147 | + (http://llvm.org/bugs/show_bug.cgi?id=17164, 17312) |
| 148 | + * instrset.h fixes problem with macros named min and max in MS windows.h |
| 149 | + * workaround problem in MS Visual Studio 11.0. Bug report 735861 and 804274 |
| 150 | + * minor bug fixes |
| 151 | + |
| 152 | +2013-03-31 version 1.03 beta |
| 153 | + * bug fix for Vec2d cos (Vec2d const & x), VECTORMATH = 1 |
| 154 | + |
| 155 | +2012-08-01 version 1.02 beta |
| 156 | + * added file vector3d.h for 3-dimensional vectors |
| 157 | + * added file complexvec.h for complex numbers and complex vectors |
| 158 | + * added file quaternion.h for quaternions |
| 159 | + * added function change_sign for floating point vectors |
| 160 | + * added operators +, -, *, / between floating point vectors and scalars to remove |
| 161 | + overloading ambiguity |
| 162 | + |
| 163 | +2012-07-08 version 1.01 beta |
| 164 | + * added file decimal.h with Number <-> string conversion functions: |
| 165 | + bin2bcd, bin2ascii, bin2hex_ascii, ascii2bin |
| 166 | + * added andnot function for boolean vectors |
| 167 | + * added functions shift_bytes_up and shift_bytes_down |
| 168 | + * added operators for unsigned integer vector classes: >>=, &, &&, |, ||, ^, ~ |
| 169 | + * inteldispatchpatch.cpp removed. Use asmlib instead (www.agner.org/optimize/#asmlib) |
| 170 | + * prefix ++ and -- operators now return a reference, postfix operators return a value |
| 171 | + * various improvements in permute and blend functions |
| 172 | + * minor improvement in abs function |
| 173 | + * added version number to VECTORCLASS_H |
| 174 | + |
| 175 | +2012-05-30 version 1.00 beta |
| 176 | + * first public release |
0 commit comments