mirror of https://github.com/zcash/halo2.git
More idiomatic implementation of Ord for Field
Co-authored-by: str4d <jack@z.cash>
This commit is contained in:
parent
89fd6e4d44
commit
6f6378b2ea
|
@ -66,15 +66,14 @@ impl std::cmp::Ord for Fp {
|
|||
fn cmp(&self, other: &Self) -> std::cmp::Ordering {
|
||||
let left = self.to_bytes();
|
||||
let right = other.to_bytes();
|
||||
for (left_byte, right_byte) in left.iter().zip(right.iter()).rev() {
|
||||
let tmp = left_byte.cmp(right_byte);
|
||||
if let std::cmp::Ordering::Equal = tmp {
|
||||
continue;
|
||||
} else {
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
std::cmp::Ordering::Equal
|
||||
left.iter()
|
||||
.zip(right.iter())
|
||||
.rev()
|
||||
.find_map(|(left_byte, right_byte)| match left_byte.cmp(right_byte) {
|
||||
std::cmp::Ordering::Equal => None,
|
||||
res => Some(res),
|
||||
})
|
||||
.unwrap_or(std::cmp::Ordering::Equal)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,15 +66,14 @@ impl std::cmp::Ord for Fq {
|
|||
fn cmp(&self, other: &Self) -> std::cmp::Ordering {
|
||||
let left = self.to_bytes();
|
||||
let right = other.to_bytes();
|
||||
for (left_byte, right_byte) in left.iter().zip(right.iter()).rev() {
|
||||
let tmp = left_byte.cmp(right_byte);
|
||||
if let std::cmp::Ordering::Equal = tmp {
|
||||
continue;
|
||||
} else {
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
std::cmp::Ordering::Equal
|
||||
left.iter()
|
||||
.zip(right.iter())
|
||||
.rev()
|
||||
.find_map(|(left_byte, right_byte)| match left_byte.cmp(right_byte) {
|
||||
std::cmp::Ordering::Equal => None,
|
||||
res => Some(res),
|
||||
})
|
||||
.unwrap_or(std::cmp::Ordering::Equal)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue