Check if number is already power of two

This commit is contained in:
Indre Maksimovaite
2021-10-11 20:24:38 +03:00
parent 372348f64c
commit d6364548aa
2 changed files with 6 additions and 3 deletions

View File

@ -2,10 +2,13 @@
*
* This script will find next power of two
* of given number.
* More about it:
* https://www.techiedelight.com/round-next-highest-power-2/
*
*/
export const nextPowerOfTwo = (n) => {
if (n > 0 && (n & (n - 1)) === 0) return n
let result = 1
while (n > 0) {
result = result << 1

View File

@ -4,12 +4,12 @@ describe('NextPowerOfTwo', () => {
it.each`
input | result
${0} | ${1}
${1} | ${2}
${2} | ${4}
${1} | ${1}
${2} | ${2}
${3} | ${4}
${5} | ${8}
${125} | ${128}
${1024} | ${2048}
${1024} | ${1024}
${10000} | ${16384}
`('returns $result when is given $input', ({ input, result }) => {
const res = nextPowerOfTwo(input)