ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/Changes
(Generate patch)

Comparing libecb/Changes (file contents):
Revision 1.27 by root, Sat Oct 27 04:49:39 2018 UTC vs.
Revision 1.37 by root, Fri Aug 20 19:39:15 2021 UTC

10x0001000a
2 - added ecb_ptrmix.
3
40x00010009
5 - added ecb_i2a family of functions.
6 - added ECB_64BIT_NATIVE.
7
1TODO: 8TODO:
208:30:06 <b_jonas> I think it could be worth to add a macro that works like alignof or _Alignof on sane 908:30:06 <b_jonas> I think it could be worth to add a macro that works like alignof or _Alignof on sane
3 compilers, and like __alignof on MS compilers that support it, see 10 compilers, and like __alignof on MS compilers that support it, see
4 http://msdn.microsoft.com/en-us/library/45t0s5f4.aspx 11 http://msdn.microsoft.com/en-us/library/45t0s5f4.aspx
508:30:24 <b_jonas> even if you can't support it on all the old compilers 1208:30:24 <b_jonas> even if you can't support it on all the old compilers
1008:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type, 1708:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type,
11 which is something I can do on any compiler portably 18 which is something I can do on any compiler portably
12 19
13TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) 20TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2)
14 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) 21 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL))
22
23TODO: ecb_minpot, either using bit tricks or ecb_ldXX
24
25TODO: __builtin_popcountll exists...
15 26
16TODO: __builtin_powi 27TODO: __builtin_powi
17 28
18TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ 29TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/
19 30
63 74
64#include <byteswap.h> 75#include <byteswap.h>
65 76
66#endif 77#endif
67 78
79TODO: generic poprcount etc., also fast_t for them?
80
81 - allow any rotate count in rcb_rot*, at the expense
82 of bad optimisation results on some platforms or with
83 some word sizes.
84 - try to use inttypes.h on mingw.
85
860x00010008
87 - aligned/unaligned load/store, bswap, host order
88 conversion.
89 - generic C++ ecb_rot[lr], ecb_popcount, ecb_ctz,
90 ecb_is_pot32 and ecb_bitrev functions.
91
920x00010007
93 - new ECB_OPTIMIZE_SIZE symbol.
94
950x00010006
96 - new ECB_MEMORY_FENCE_RELAXED memory fence.
97 - use acquire/eelease memory barriers on sun workshop pro, not read/write.
98 - rely on c++ compiler barriers to do the right thing in gcc/clang.
68 - change release memory fence to memory barrier on ia32/ia64. 99 - change release memory fence to memory barrier on ia32/ia64.
69 - apply ctz/ld patch for msc by Zsbán Ambrus. 100 - apply ctz/ld patch for msc by Zsbán Ambrus.
70 - ECB_PTRSIZE erroneously was 8 on most 32bit systems ( 101 - ECB_PTRSIZE erroneously was 8 on most 32bit systems (
71 found by Zsbán Ambrus). 102 found by Zsbán Ambrus).
72 - improved compiletime detection of endianness, also, allow 103 - improved compiletime detection of endianness, also, allow

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines