blob: 801a108f77474dfaf0e284d1745c94c56c536414 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
pub fn powmod(x: u64, p: u64, m: u64) -> u64 {
let mut res = x;
for _ in 1..p {
res = (res * x) % m;
}
return res;
}
pub fn to_bytes(x: u64) -> (u8, u8, u8, u8) {
return (
((x >> 0) & 0xFF) as u8,
((x >> 8) & 0xFF) as u8,
((x >> 16) & 0xFF) as u8,
((x >> 24) & 0xFF) as u8,
);
}
pub fn from_bytes(x1: u8, x2: u8, x3: u8, x4: u8) -> u64 {
return (x1 as u64) << 0 | (x2 as u64) << 8 | (x3 as u64) << 16 | (x4 as u64) << 24;
}
|