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

Comparing libecb/ecb.pod (file contents):
Revision 1.34 by root, Fri Jun 17 21:16:12 2011 UTC vs.
Revision 1.35 by root, Fri Jun 17 21:38:31 2011 UTC

412 412
413On systems that are neither, their return values are unspecified. 413On systems that are neither, their return values are unspecified.
414 414
415=item int ecb_ctz32 (uint32_t x) 415=item int ecb_ctz32 (uint32_t x)
416 416
417=item int ecb_ctz64 (uint64_t x)
418
417Returns the index of the least significant bit set in C<x> (or 419Returns the index of the least significant bit set in C<x> (or
418equivalently the number of bits set to 0 before the least significant bit 420equivalently the number of bits set to 0 before the least significant bit
419set), starting from 0. If C<x> is 0 the result is undefined. For example: 421set), starting from 0. If C<x> is 0 the result is undefined.
422
423For example:
420 424
421 ecb_ctz32 (3) = 0 425 ecb_ctz32 (3) = 0
422 ecb_ctz32 (6) = 1 426 ecb_ctz32 (6) = 1
423 427
428=item int ecb_ld32 (uint32_t x)
429
430=item int ecb_ld64 (uint64_t x)
431
432Returns the index of the most significant bit set in C<x>, or the number
433of digits the number requires in binary (so that C<< 2**ld <= x <
4342**(ld+1) >>). If C<x> is 0 the result is undefined. A common use case is
435to compute the integer binary logarithm, i.e. C<floor (log2 (n))>, for
436example to see how many bits a certain number requires to be encoded.
437
438This function is similar to the "count leading zero bits" function, except
439that that one returns how many zero bits are "in front" of the number (in
440the given data type), while C<ecb_ld> returns how many bits the number
441itself requires.
442
424=item int ecb_popcount32 (uint32_t x) 443=item int ecb_popcount32 (uint32_t x)
444
445=item int ecb_popcount64 (uint64_t x)
425 446
426Returns the number of bits set to 1 in C<x>. For example: 447Returns the number of bits set to 1 in C<x>. For example:
427 448
428 ecb_popcount32 (7) = 3 449 ecb_popcount32 (7) = 3
429 ecb_popcount32 (255) = 8 450 ecb_popcount32 (255) = 8

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines