1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/// Get the number of qubits needed to represent a number. /// /// Equivilent to ceil(log2(n))s pub fn get_width(n: i32) -> i32 { ((n as f32) + 1.0).log2().ceil() as i32 } /// Calculate the greatest common divisor (Euclid's algorithm) pub fn gcd(mut a: i32, mut b: i32) -> i32 { while b != 0 { let tmp = a; a = b; b = tmp % b; } a }