Revision 1.34 by

Revision 1.35 by

… | … | ||
---|---|---|---|

412 | 412 | ||

413 | On systems that are neither, their return values are unspecified. | 413 | On 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 | |||

417 | Returns the index of the least significant bit set in C<x> (or | 419 | Returns the index of the least significant bit set in C<x> (or |

418 | equivalently the number of bits set to 0 before the least significant bit | 420 | equivalently the number of bits set to 0 before the least significant bit |

419 | set), starting from 0. If C<x> is 0 the result is undefined. For example: | 421 | set), starting from 0. If C<x> is 0 the result is undefined. |

422 | |||

423 | For 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 | |||

432 | Returns the index of the most significant bit set in C<x>, or the number | ||

433 | of digits the number requires in binary (so that C<< 2**ld <= x < | ||

434 | 2**(ld+1) >>). If C<x> is 0 the result is undefined. A common use case is | ||

435 | to compute the integer binary logarithm, i.e. C<floor (log2 (n))>, for | ||

436 | example to see how many bits a certain number requires to be encoded. | ||

437 | |||

438 | This function is similar to the "count leading zero bits" function, except | ||

439 | that that one returns how many zero bits are "in front" of the number (in | ||

440 | the given data type), while C<ecb_ld> returns how many bits the number | ||

441 | itself 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 | ||

426 | Returns the number of bits set to 1 in C<x>. For example: | 447 | Returns 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 |

– |
Removed lines |

+ |
Added lines |

< |
Changed lines |

> |
Changed lines |