BitAnd
The bitwise AND operator &
. # ExamplesAn implementation of BitAnd
for a wrapper around bool
.
use core::traits::BitAnd;
[derive(Drop, PartialEq)]
struct Scalar {
inner: bool,
}
impl BitAndScalar of BitAnd<Scalar> {
fn bitand(lhs: Scalar, rhs: Scalar) -> Scalar {
Scalar { inner: lhs.inner & rhs.inner }
}
}
assert!(Scalar { inner: true } & Scalar { inner: true } == Scalar { inner: true });
assert!(Scalar { inner: true } & Scalar { inner: false } == Scalar { inner: false });
assert!(Scalar { inner: false } & Scalar { inner: true } == Scalar { inner: false });
assert!(Scalar { inner: false } & Scalar { inner: false } == Scalar { inner: false });
Fully qualified path: core::traits::BitAnd
pub trait BitAnd<T>
Trait functions
bitand
Performs the &
operation. # Examples
assert_eq!(true & false, false);
assert_eq!(5_u8 & 1_u8, 1);
assert_eq!(true & true, true);
assert_eq!(5_u8 & 2_u8, 0);
Fully qualified path: core::traits::BitAnd::bitand
fn bitand(lhs: T, rhs: T) -> T