From e9c7c2b139e573924a9c59b23e294c900d0349b2 Mon Sep 17 00:00:00 2001 From: Andrew Munger Date: Fri, 5 May 2006 15:10:59 +0000 Subject: [PATCH] "More efficient" IsPowerOf2 from Myria (myriachan at cox dot net). svn path=/trunk/; revision=21801 --- reactos/ntoskrnl/mm/pe.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/reactos/ntoskrnl/mm/pe.c b/reactos/ntoskrnl/mm/pe.c index c0f7df023f9..41502117a5c 100644 --- a/reactos/ntoskrnl/mm/pe.c +++ b/reactos/ntoskrnl/mm/pe.c @@ -103,12 +103,8 @@ static __inline BOOLEAN Intsafe_CanOffsetPointer(IN CONST VOID * Pointer, IN SIZ static __inline BOOLEAN IsPowerOf2(IN ULONG Number) { if(Number == 0) - return FALSE; - - while((Number % 2) == 0) - Number /= 2; - - return Number == 1; + return FALSE; + return (Number & (Number - 1)) == 0; } static __inline ULONG ModPow2(IN ULONG Address, IN ULONG Alignment)