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

Comparing libecb/ecb.h (file contents):
Revision 1.70 by root, Sat Dec 10 11:58:38 2011 UTC vs.
Revision 1.71 by root, Sat Dec 10 11:59:19 2011 UTC

289 289
290 return r + ecb_ld32 (x); 290 return r + ecb_ld32 (x);
291 } 291 }
292#endif 292#endif
293 293
294ecb_function_ uint8_t ecb_bitrev8 (uint8_t x) ecb_const;
294ecb_function_ uint8_t ecb_bitrev8 (uint8_t x) 295ecb_function_ uint8_t ecb_bitrev8 (uint8_t x)
295{ 296{
296 return ( (x * 0x0802U & 0x22110U) 297 return ( (x * 0x0802U & 0x22110U)
297 | (x * 0x8020U & 0x88440U)) * 0x10101U >> 16; 298 | (x * 0x8020U & 0x88440U)) * 0x10101U >> 16;
298} 299}
299 300
301ecb_function_ uint16_t ecb_bitrev16 (uint16_t x) ecb_const;
300ecb_function_ uint16_t ecb_bitrev16 (uint16_t x) 302ecb_function_ uint16_t ecb_bitrev16 (uint16_t x)
301{ 303{
302 x = ((x >> 1) & 0x5555) | ((x & 0x5555) << 1); 304 x = ((x >> 1) & 0x5555) | ((x & 0x5555) << 1);
303 x = ((x >> 2) & 0x3333) | ((x & 0x3333) << 2); 305 x = ((x >> 2) & 0x3333) | ((x & 0x3333) << 2);
304 x = ((x >> 4) & 0x0f0f) | ((x & 0x0f0f) << 4); 306 x = ((x >> 4) & 0x0f0f) | ((x & 0x0f0f) << 4);
305 x = ( x >> 8 ) | ( x << 8); 307 x = ( x >> 8 ) | ( x << 8);
306 308
307 return x; 309 return x;
308} 310}
309 311
312ecb_function_ uint32_t ecb_bitrev32 (uint32_t x) ecb_const;
310ecb_function_ uint32_t ecb_bitrev32 (uint32_t x) 313ecb_function_ uint32_t ecb_bitrev32 (uint32_t x)
311{ 314{
312 x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1); 315 x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);
313 x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2); 316 x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);
314 x = ((x >> 4) & 0x0f0f0f0f) | ((x & 0x0f0f0f0f) << 4); 317 x = ((x >> 4) & 0x0f0f0f0f) | ((x & 0x0f0f0f0f) << 4);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines