malachite_nz/natural/logic/mod.rs
1// Copyright © 2025 Mikhail Hogrefe
2//
3// This file is part of Malachite.
4//
5// Malachite is free software: you can redistribute it and/or modify it under the terms of the GNU
6// Lesser General Public License (LGPL) as published by the Free Software Foundation; either version
7// 3 of the License, or (at your option) any later version. See <https://www.gnu.org/licenses/>.
8
9/// Bitwise and of [`Natural`](super::Natural)s.
10pub mod and;
11/// An implementation of [`BitAccess`](malachite_base::num::logic::traits::BitAccess), a trait for
12/// getting and setting individual bits of a number.
13pub mod bit_access;
14/// An implementation of [`BitBlockAccess`](malachite_base::num::logic::traits::BitBlockAccess), a
15/// trait for getting and setting adjacent blocks of bits in a number.
16pub mod bit_block_access;
17/// An implementation of [`BitConvertible`](malachite_base::num::logic::traits::BitConvertible), a
18/// trait for extracting all bits from a number or constructing a number from bits.
19pub mod bit_convertible;
20/// An implementation of [`BitIterable`](malachite_base::num::logic::traits::BitIterable), a trait
21/// for producing a double-ended iterator over a number's bits.
22pub mod bit_iterable;
23/// An implementation of [`BitScan`](malachite_base::num::logic::traits::BitScan), a trait for
24/// finding the next `true` or `false` bit in a number after a provided index.
25pub mod bit_scan;
26/// An implementation of [`CountOnes`](malachite_base::num::logic::traits::CountOnes), a trait for
27/// counting the number of ones in the binary representation of a number.
28pub mod count_ones;
29/// An implementation of [`HammingDistance`](malachite_base::num::logic::traits::HammingDistance), a
30/// trait for computing the Hamming distance between two numbers.
31pub mod hamming_distance;
32/// An implementation of [`LowMask`](malachite_base::num::logic::traits::LowMask), a trait for
33/// generating a low bit mask (a number in which only the $k$ least-significant bits are 1).
34pub mod low_mask;
35/// Bitwise negation of [`Natural`](super::Natural)s.
36pub mod not;
37/// Bitwise or of [`Natural`](super::Natural)s.
38pub mod or;
39/// An implementation of [`SignificantBits`](malachite_base::num::logic::traits::SignificantBits), a
40/// trait for determining how many significant bits a number has.
41pub mod significant_bits;
42/// An implementation of [`TrailingZeros`](malachite_base::num::logic::traits::TrailingZeros), a
43/// trait for determining the number of zeros that a number ends with when written in binary.
44pub mod trailing_zeros;
45/// Bitwise xor of [`Natural`](super::Natural)s.
46pub mod xor;