/**
 * Determines if the number is a power of 2
 * @param n The number to check.
 */
export function isPowerOfTwo(n: number) {
    if (isNaN(n)) {
        return false;
    }

    if (n === 0) {
        return false;
    }

    // Disabiling the bitwise rule because it's honestly the most effecient way to check for this.
    // tslint:disable-next-line:no-bitwise
    return (n & (n - 1)) === 0;
}