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

Comparing libecb/Changes (file contents):
Revision 1.23 by root, Tue Nov 24 19:46:20 2015 UTC vs.
Revision 1.28 by root, Mon Jun 24 22:22:59 2019 UTC

1008:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type, 1008: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 11 which is something I can do on any compiler portably
12 12
13TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) 13TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2)
14 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) 14 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL))
15
16TODO: ecb_minpot, either using bit tricks or ecb_ldXX
17
18TODO: __builtin_popcountll exists...
19
20TODO: unaligned access
21
22TODO: __builtin_powi
15 23
16TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ 24TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/
17 25
18implement is_constant for c11: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/ 26implement is_constant for c11: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/
19 27
61 69
62#include <byteswap.h> 70#include <byteswap.h>
63 71
64#endif 72#endif
65 73
740x00010006
75 - new ECB_MEMORXY_FENCE_RELAXED memory fence.
76 - use acquire/eelease memory barriers on sun workshop pro, not read/write.
77 - rely on c++ compiler barriers to do the right thing in gcc/clang.
78 - change release memory fence to memory barrier on ia32/ia64.
66 - apply ctz/ld patch for msc by Zsbán Ambrus. 79 - apply ctz/ld patch for msc by Zsbán Ambrus.
80 - ECB_PTRSIZE erroneously was 8 on most 32bit systems (
81 found by Zsbán Ambrus).
82 - improved compiletime detection of endianness, also, allow
83 runtime detection to indicate other-than-big/little endianness.
84 - no memory barrier neded on arm < 6.
67 85
680x00010005 860x00010005
69 - improve ecb_binary16_to_float. 87 - improve ecb_binary16_to_float.
70 - add ecb_float_to_binary16. 88 - add ecb_float_to_binary16.
71 - add ecb_binary16_to_binary32 and ecb_binary32_to_binary16 pair. 89 - add ecb_binary16_to_binary32 and ecb_binary32_to_binary16 pair.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines