1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/// Gets the next power of two for a given value
///
/// # Examples
/// ```
/// use vex::next_power_of_two;
/// let n = next_power_of_two(1);
/// assert_eq!(n, 2);
/// ```
/// ```
/// use vex::next_power_of_two;
/// let n = next_power_of_two(2);
/// assert_eq!(n, 4);
/// ```
/// Determines whether or not a given value is a power of two
///
/// # Examples
/// ```
/// use vex::is_power_of_two;
/// let n = is_power_of_two(1);
/// assert_eq!(n, true);
/// ```
/// ```
/// use vex::is_power_of_two;
/// let n = is_power_of_two(2);
/// assert_eq!(n, true);
/// ```
/// ```
/// use vex::is_power_of_two;
/// let n = is_power_of_two(3);
/// assert_eq!(n, false);
/// ```
/// Returns 1 or -1 depending on the sign of the input value
///
/// # Examples
/// ```
/// use vex::sign;
/// let mul = sign(1234.0);
/// assert_eq!(mul, 1.0);
/// ```
/// ```
/// use vex::sign;
/// let mul = sign(-1234.0);
/// assert_eq!(mul, -1.0);
/// ```