From 3d64a459357442dd52c745153adf6df82321c079 Mon Sep 17 00:00:00 2001 From: Alex Mastro Date: Sun, 16 Apr 2017 19:09:13 -0700 Subject: [PATCH] Replace onlyOneBitSet with canonical is power of 2 test --- Lib/Register/Utility.hpp | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/Lib/Register/Utility.hpp b/Lib/Register/Utility.hpp index cbc6f3a5..a0acd625 100644 --- a/Lib/Register/Utility.hpp +++ b/Lib/Register/Utility.hpp @@ -35,38 +35,7 @@ namespace Register{ } constexpr bool onlyOneBitSet(unsigned i){ - return (i==(1u<<0)) || - (i==(1u<<1)) || - (i==(1u<<2)) || - (i==(1u<<3)) || - (i==(1u<<4)) || - (i==(1u<<5)) || - (i==(1u<<6)) || - (i==(1u<<7)) || - (i==(1u<<8)) || - (i==(1u<<9)) || - (i==(1u<<10)) || - (i==(1u<<11)) || - (i==(1u<<12)) || - (i==(1u<<13)) || - (i==(1u<<14)) || - (i==(1u<<15)) || - (i==(1u<<16)) || - (i==(1u<<17)) || - (i==(1u<<18)) || - (i==(1u<<19)) || - (i==(1u<<20)) || - (i==(1u<<21)) || - (i==(1u<<22)) || - (i==(1u<<23)) || - (i==(1u<<24)) || - (i==(1u<<25)) || - (i==(1u<<26)) || - (i==(1u<<27)) || - (i==(1u<<28)) || - (i==(1u<<29)) || - (i==(1u<<30)) || - (i==(1u<<31)); + return i && ((i & (i - 1)) == 0); } constexpr unsigned orAllOf(){