diff options
author | Nigel Tao <nigeltao@golang.org> | 2021-06-28 10:12:04 +1000 |
---|---|---|
committer | Nigel Tao <nigeltao@golang.org> | 2021-06-28 10:12:04 +1000 |
commit | f3caaea659695bb087c06c8a10247060b6dfba71 (patch) | |
tree | 42a5636473f0b7be1c1763467738c8fed0de1bfb | |
parent | bb778715e5c49aac7f03bb8782907d61c93c0e29 (diff) | |
download | wuffs-mirror-release-c-f3caaea659695bb087c06c8a10247060b6dfba71.tar.gz |
Run script/sync.sh
-rw-r--r-- | release/c/wuffs-v0.3.c | 72 | ||||
-rw-r--r-- | sync.txt | 8 |
2 files changed, 67 insertions, 13 deletions
diff --git a/release/c/wuffs-v0.3.c b/release/c/wuffs-v0.3.c index 2b69393..ed138c9 100644 --- a/release/c/wuffs-v0.3.c +++ b/release/c/wuffs-v0.3.c @@ -82,15 +82,15 @@ extern "C" { // each major.minor branch, the commit count should increase monotonically. // // WUFFS_VERSION was overridden by "wuffs gen -version" based on revision -// f6945c061289cfbc6f6e415b0fd77b70f6cd46f2 committed on 2021-06-25. +// b9a10d051a05c5749d54e2db8d0bd1848dd57181 committed on 2021-06-28. #define WUFFS_VERSION 0x000030000 #define WUFFS_VERSION_MAJOR 0 #define WUFFS_VERSION_MINOR 3 #define WUFFS_VERSION_PATCH 0 -#define WUFFS_VERSION_PRE_RELEASE_LABEL "beta.3" -#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3051 -#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20210625 -#define WUFFS_VERSION_STRING "0.3.0-beta.3+3051.20210625" +#define WUFFS_VERSION_PRE_RELEASE_LABEL "beta.4" +#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3058 +#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20210628 +#define WUFFS_VERSION_STRING "0.3.0-beta.4+3058.20210628" // ---------------- Configuration @@ -805,6 +805,56 @@ wuffs_base__u64__max(uint64_t x, uint64_t y) { // -------- +static inline uint8_t // +wuffs_base__u8__rotate_left(uint8_t x, uint32_t n) { + n &= 7; + return ((uint8_t)(x << n)) | ((uint8_t)(x >> (8 - n))); +} + +static inline uint8_t // +wuffs_base__u8__rotate_right(uint8_t x, uint32_t n) { + n &= 7; + return ((uint8_t)(x >> n)) | ((uint8_t)(x << (8 - n))); +} + +static inline uint16_t // +wuffs_base__u16__rotate_left(uint16_t x, uint32_t n) { + n &= 15; + return ((uint16_t)(x << n)) | ((uint16_t)(x >> (16 - n))); +} + +static inline uint16_t // +wuffs_base__u16__rotate_right(uint16_t x, uint32_t n) { + n &= 15; + return ((uint16_t)(x >> n)) | ((uint16_t)(x << (16 - n))); +} + +static inline uint32_t // +wuffs_base__u32__rotate_left(uint32_t x, uint32_t n) { + n &= 31; + return ((uint32_t)(x << n)) | ((uint32_t)(x >> (32 - n))); +} + +static inline uint32_t // +wuffs_base__u32__rotate_right(uint32_t x, uint32_t n) { + n &= 31; + return ((uint32_t)(x >> n)) | ((uint32_t)(x << (32 - n))); +} + +static inline uint64_t // +wuffs_base__u64__rotate_left(uint64_t x, uint32_t n) { + n &= 63; + return ((uint64_t)(x << n)) | ((uint64_t)(x >> (64 - n))); +} + +static inline uint64_t // +wuffs_base__u64__rotate_right(uint64_t x, uint32_t n) { + n &= 63; + return ((uint64_t)(x >> n)) | ((uint64_t)(x << (64 - n))); +} + +// -------- + // Saturating arithmetic (sat_add, sat_sub) branchless bit-twiddling algorithms // are per https://locklessinc.com/articles/sat_arithmetic/ // @@ -10062,14 +10112,18 @@ extern "C" { // Denote intentional fallthroughs for -Wimplicit-fallthrough. // -// The order matters here. Clang also defines "__GNUC__". -#if defined(__clang__) && defined(__cplusplus) && (__cplusplus >= 201103L) -#define WUFFS_BASE__FALLTHROUGH [[clang::fallthrough]] -#elif !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 7) +// The two #if lines are deliberately separate. Combining the two conditions +// into a single "#if foo && bar" line would not be portable. See +// https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005fattribute.html +#if defined(__has_attribute) +#if __has_attribute(fallthrough) #define WUFFS_BASE__FALLTHROUGH __attribute__((fallthrough)) #else #define WUFFS_BASE__FALLTHROUGH #endif +#else +#define WUFFS_BASE__FALLTHROUGH +#endif // Use switch cases for coroutine suspension points, similar to the technique // in https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html @@ -1,8 +1,8 @@ -script/sync.sh ran on 2021-06-25 -Sibling directory (../wuffs) git revision is b2b8961126502d2ab00daa20d19a976964c012a3 +script/sync.sh ran on 2021-06-28 +Sibling directory (../wuffs) git revision is 6bfaf0f008ae0f54e05f23d14256f4a7d35146f2 Manifest (sha256sum values, filenames, versions): bb28889a02c5d89edf6544ded21495462d1f998f8ffa5d095f53ca5db29e2937 release/c/README.md 3b6a0c78f663bb495d1972fbb2a87c717d70fbac5ea8cc1a50cb9afaa4b03f92 release/c/wuffs-v0.2.c #define WUFFS_VERSION_STRING "0.2.0+2078.20191219" -6984ecf235815c9c921527cc956f137ae542cc7a75e606645e206feddeb40dfd release/c/wuffs-v0.3.c - #define WUFFS_VERSION_STRING "0.3.0-beta.3+3051.20210625" +f30a747983cb8e00f8e906bf605af7e69d4c77cb2c02c7f2680a8f80b4e21f77 release/c/wuffs-v0.3.c + #define WUFFS_VERSION_STRING "0.3.0-beta.4+3058.20210628" |