b256
Expand description
256 bits (32 bytes), i.e. a hash
Implementations
fn min() -> Self
fn min() -> Self
The smallest value that can be represented by this type.
Returns
- [b256] - The smallest
b256
value.
Examples
fn foo() {
let val = b256::min();
assert(val == b256::zero());
}
fn max() -> Self
fn max() -> Self
The largest value that can be represented by this type,
2256 - 1.
Returns
- [b256] - The largest
b256
value.
Examples
fn foo() {
let val == b256::max();
assert(val == 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
}
fn bits() -> u64
fn bits() -> u64
The size of this type in bits.
Returns
- [u64] - The number of bits for a
b256
.
Examples
fn foo() {
let bits == b256::bits();
assert(bits == 256);
}
fn zero() -> Self
fn zero() -> Self
Returns the zero value for the b256
type.
Returns
- [b256] -> The zero value for the
b256
type.
Examples
fn foo() {
let zero_b256 = b256::zero();
assert(zero_b256 == 0x0000000000000000000000000000000000000000000000000000000000000000);
}
fn as_u256(self) -> u256
fn as_u256(self) -> u256
Converts a b256
to a u256
.
Returns
- [u256] - The converted
b256
value.
Examples
fn foo() {
let val: b256 = 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20;
let result = val.as_u256();
assert(result == 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20u256);
}
Trait Implementations
impl Eq for b256
impl Eq for b256
fn eq(self, other: Self) -> bool
fn neq(self, other: Self) -> bool
fn neq(self, other: Self) -> bool
Evaluates if two values of the same type are not equal.
Additional Information
This function is inherited when eq()
is implemented.
Arguments
other
: [Self] - The value of the same type.
Returns
- [bool] -
true
if the two values are not equal, otherwisefalse
.
Examples
struct MyStruct {
val: u64,
}
impl Eq for MyStruct {
fn eq(self, other: Self) -> bool {
self.val == other.val
}
}
fn foo() {
let struct1 = MyStruct { val: 10 };
let struct2 = MyStruct { val: 2 };
let result = struct1 != struct2;
assert(result);
}
impl BitwiseAnd for b256
impl BitwiseAnd for b256
fn binary_and(self, other: Self) -> Self
impl BitwiseXor for b256
impl BitwiseXor for b256
fn binary_xor(self, other: Self) -> Self
impl OrdEq for b256
impl OrdEq for b256
fn ge(self, other: Self) -> bool
fn ge(self, other: Self) -> bool
Evaluates if one value of the same type is greater or equal to than another.
Additional Information
This trait requires that the Ord
and Eq
traits are implemented.
Arguments
other
: [Self] - The value of the same type.
Returns
- [bool] -
true
ifself
is greater than or equal toother
, otherwisefalse
.
Examples
struct MyStruct {
val: u64,
}
impl Eq for MyStruct {
fn eq(self, other: Self) -> bool {
self.val == other.val
}
}
impl Ord for MyStruct {
fn gt(self, other: Self) -> bool {
self.val > other.val
}
}
impl OrdEq for MyStruct {}
fn foo() {
let struct1 = MyStruct { val: 10 };
let struct2 = MyStruct { val: 10 };
let result = struct1 >= struct2;
assert(result);
}
fn le(self, other: Self) -> bool
fn le(self, other: Self) -> bool
Evaluates if one value of the same type is less or equal to than another.
Additional Information
This trait requires that the Ord
and Eq
traits are implemented.
Arguments
other
: [Self] - The value of the same type.
Returns
- [bool] -
true
ifself
is less than or equal toother
, otherwisefalse
.
Examples
struct MyStruct {
val: u64,
}
impl Eq for MyStruct {
fn eq(self, other: Self) -> bool {
self.val == other.val
}
}
impl Ord for MyStruct {
fn lt(self, other: Self) -> bool {
self.val < other.val
}
}
impl OrdEq for MyStruct {}
fn foo() {
let struct1 = MyStruct { val: 10 };
let struct2 = MyStruct { val: 10 };
let result = struct1 <= struct2;
assert(result);
}