… | |
… | |
893 | ecb_function_ uint_fast32_t ecb_gray32_encode (uint_fast32_t b) { return b ^ (b >> 1); } |
893 | ecb_function_ uint_fast32_t ecb_gray32_encode (uint_fast32_t b) { return b ^ (b >> 1); } |
894 | ecb_function_ uint_fast64_t ecb_gray64_encode (uint_fast64_t b) { return b ^ (b >> 1); } |
894 | ecb_function_ uint_fast64_t ecb_gray64_encode (uint_fast64_t b) { return b ^ (b >> 1); } |
895 | |
895 | |
896 | ecb_function_ uint8_t ecb_gray8_decode (uint8_t g) |
896 | ecb_function_ uint8_t ecb_gray8_decode (uint8_t g) |
897 | { |
897 | { |
898 | g = g ^ (g >> 1); |
898 | g ^= g >> 1; |
899 | g = g ^ (g >> 2); |
899 | g ^= g >> 2; |
900 | g = g ^ (g >> 4); |
900 | g ^= g >> 4; |
|
|
901 | |
901 | return g; |
902 | return g; |
902 | } |
903 | } |
903 | |
904 | |
904 | ecb_function_ uint16_t ecb_gray16_decode (uint16_t g) |
905 | ecb_function_ uint16_t ecb_gray16_decode (uint16_t g) |
905 | { |
906 | { |
906 | g = g ^ (g >> 1); |
907 | g ^= g >> 1; |
907 | g = g ^ (g >> 2); |
908 | g ^= g >> 2; |
908 | g = g ^ (g >> 4); |
909 | g ^= g >> 4; |
909 | g = g ^ (g >> 8); |
910 | g ^= g >> 8; |
|
|
911 | |
910 | return g; |
912 | return g; |
911 | } |
913 | } |
912 | |
914 | |
913 | ecb_function_ uint32_t ecb_gray32_decode (uint32_t g) |
915 | ecb_function_ uint32_t ecb_gray32_decode (uint32_t g) |
914 | { |
916 | { |
915 | g = g ^ (g >> 1); |
917 | g ^= g >> 1; |
916 | g = g ^ (g >> 2); |
918 | g ^= g >> 2; |
917 | g = g ^ (g >> 4); |
919 | g ^= g >> 4; |
918 | g = g ^ (g >> 8); |
920 | g ^= g >> 8; |
919 | g = g ^ (g >> 16); |
921 | g ^= g >> 16; |
|
|
922 | |
920 | return g; |
923 | return g; |
921 | } |
924 | } |
922 | |
925 | |
923 | ecb_function_ uint64_t ecb_gray64_decode (uint64_t g) |
926 | ecb_function_ uint64_t ecb_gray64_decode (uint64_t g) |
924 | { |
927 | { |
925 | g = g ^ (g >> 1); |
928 | g ^= g >> 1; |
926 | g = g ^ (g >> 2); |
929 | g ^= g >> 2; |
927 | g = g ^ (g >> 4); |
930 | g ^= g >> 4; |
928 | g = g ^ (g >> 8); |
931 | g ^= g >> 8; |
929 | g = g ^ (g >> 16); |
932 | g ^= g >> 16; |
930 | g = g ^ (g >> 32); |
933 | g ^= g >> 32; |
|
|
934 | |
931 | return g; |
935 | return g; |
932 | } |
936 | } |
933 | |
937 | |
934 | #if ECB_CPP |
938 | #if ECB_CPP |
935 | |
939 | |