#[inline]
pub fn index_byte(s: &[u8], c: u8) -> i64 {
s.iter().position(|&b| b == c).map_or(-1, |i| i as i64)
}
pub fn index(s: &[u8], sep: &[u8]) -> i64 {
if sep.is_empty() {
return 0;
}
if sep.len() > s.len() {
return -1;
}
s.windows(sep.len())
.position(|w| w == sep)
.map_or(-1, |i| i as i64)
}
pub fn compare(a: &[u8], b: &[u8]) -> i64 {
match a.cmp(b) {
core::cmp::Ordering::Less => -1,
core::cmp::Ordering::Equal => 0,
core::cmp::Ordering::Greater => 1,
}
}
pub fn count(s: &[u8], c: u8) -> i64 {
s.iter().filter(|&&b| b == c).count() as i64
}