… | |
… | |
437 | |
437 | |
438 | =item uint32_t ecb_rotr32 (uint32_t x, unsigned int count) |
438 | =item uint32_t ecb_rotr32 (uint32_t x, unsigned int count) |
439 | |
439 | |
440 | =item uint32_t ecb_rotl32 (uint32_t x, unsigned int count) |
440 | =item uint32_t ecb_rotl32 (uint32_t x, unsigned int count) |
441 | |
441 | |
|
|
442 | =item uint64_t ecb_rotr64 (uint64_t x, unsigned int count) |
|
|
443 | |
|
|
444 | =item uint64_t ecb_rotl64 (uint64_t x, unsigned int count) |
|
|
445 | |
442 | These two functions return the value of C<x> after rotating all the bits |
446 | These two functions return the value of C<x> after rotating all the bits |
443 | by C<count> positions to the right or left respectively. |
447 | by C<count> positions to the right or left respectively. |
444 | |
448 | |
445 | Current GCC versions understand these functions and usually compile them |
449 | Current GCC versions understand these functions and usually compile them |
446 | to "optimal" code (e.g. a single C<roll> on x86). |
450 | to "optimal" code (e.g. a single C<roll> on x86). |