Match Java `CompareUtils.compare(byte[], byte[])`, which compares signed bytes lexicographically.
(a: &[u8], b: &[u8])
| 185 | /// Match Java `CompareUtils.compare(byte[], byte[])`, which compares signed |
| 186 | /// bytes lexicographically. |
| 187 | fn java_bytes_cmp(a: &[u8], b: &[u8]) -> Ordering { |
| 188 | for (&lhs, &rhs) in a.iter().zip(b.iter()) { |
| 189 | let cmp = (lhs as i8).cmp(&(rhs as i8)); |
| 190 | if cmp != Ordering::Equal { |
| 191 | return cmp; |
| 192 | } |
| 193 | } |
| 194 | a.len().cmp(&b.len()) |
| 195 | } |
| 196 | |
| 197 | /// 10^exp as i128. Returns i128::MAX for exponents that would overflow. |
| 198 | fn pow10_i128(exp: u32) -> i128 { |