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.39 by root, Fri Mar 25 08:44:14 2022 UTC

1TODO: naming of cutnions, index_to_coord, xy_to_s, xy_to_linear/seq, 32/64
2TODO: returning packed coordinates, really
3TODO: support order=0?
40x0001000c
5 - added ecb_hilbert2d function family.
6
70x0001000b
8 - added ecb_gray*_{de,en}code functions.
9
100x0001000a
11 - added ecb_ptrmix.
12
130x00010009
14 - added ecb_i2a family of functions.
15 - added ECB_64BIT_NATIVE.
16
1TODO: 17TODO:
208:30:06 <b_jonas> I think it could be worth to add a macro that works like alignof or _Alignof on sane 1808: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 19 compilers, and like __alignof on MS compilers that support it, see
4 http://msdn.microsoft.com/en-us/library/45t0s5f4.aspx 20 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 2108: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, 2608: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 27 which is something I can do on any compiler portably
12 28
13TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) 29TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2)
14 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) 30 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL))
31
32TODO: ecb_minpot, either using bit tricks or ecb_ldXX
33
34TODO: __builtin_popcountll exists...
15 35
16TODO: __builtin_powi 36TODO: __builtin_powi
17 37
18TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ 38TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/
19 39
63 83
64#include <byteswap.h> 84#include <byteswap.h>
65 85
66#endif 86#endif
67 87
88TODO: generic poprcount etc., also fast_t for them?
89
90 - allow any rotate count in rcb_rot*, at the expense
91 of bad optimisation results on some platforms or with
92 some word sizes.
93 - try to use inttypes.h on mingw.
94
950x00010008
96 - aligned/unaligned load/store, bswap, host order
97 conversion.
98 - generic C++ ecb_rot[lr], ecb_popcount, ecb_ctz,
99 ecb_is_pot32 and ecb_bitrev functions.
100
1010x00010007
102 - new ECB_OPTIMIZE_SIZE symbol.
103
1040x00010006
105 - new ECB_MEMORY_FENCE_RELAXED memory fence.
106 - use acquire/eelease memory barriers on sun workshop pro, not read/write.
107 - rely on c++ compiler barriers to do the right thing in gcc/clang.
68 - change release memory fence to memory barrier on ia32/ia64. 108 - change release memory fence to memory barrier on ia32/ia64.
69 - apply ctz/ld patch for msc by Zsbán Ambrus. 109 - apply ctz/ld patch for msc by Zsbán Ambrus.
70 - ECB_PTRSIZE erroneously was 8 on most 32bit systems ( 110 - ECB_PTRSIZE erroneously was 8 on most 32bit systems (
71 found by Zsbán Ambrus). 111 found by Zsbán Ambrus).
72 - improved compiletime detection of endianness, also, allow 112 - improved compiletime detection of endianness, also, allow

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines