@@ -177,6 +177,7 @@ var tests = [ // BEGIN TEST CASES
177177 v = longVal . rotateLeft ( 32 ) ;
178178 assert . deepEqual ( v , longValS ) ;
179179 } ,
180+
180181 function testRotateRight ( ) {
181182 var longVal = Long . fromBits ( 0x01234567 , 0x89ABCDEF ) ;
182183 var longValL = Long . fromBits ( 0x12345678 , 0x9ABCDEF0 ) ;
@@ -191,6 +192,23 @@ var tests = [ // BEGIN TEST CASES
191192 // swap
192193 v = longVal . rotateRight ( 32 ) ;
193194 assert . deepEqual ( v , longValS ) ;
195+ } ,
196+
197+ function testClzAndCtz ( ) {
198+ var longVal0 = Long . fromBits ( 0 , 0 ) ;
199+ var longVal1 = Long . fromBits ( 1 , 0 ) ;
200+ var longVal2 = Long . fromBits ( 0 , 1 ) ;
201+ var longVal3 = Long . fromBits ( 1 , 1 ) ;
202+
203+ assert . deepEqual ( longVal0 . clz ( ) , 64 ) ;
204+ assert . deepEqual ( longVal1 . clz ( ) , 63 ) ;
205+ assert . deepEqual ( longVal2 . clz ( ) , 31 ) ;
206+ assert . deepEqual ( longVal3 . clz ( ) , 31 ) ;
207+
208+ assert . deepEqual ( longVal0 . ctz ( ) , 64 ) ;
209+ assert . deepEqual ( longVal1 . ctz ( ) , 0 ) ;
210+ assert . deepEqual ( longVal2 . ctz ( ) , 32 ) ;
211+ assert . deepEqual ( longVal3 . ctz ( ) , 0 ) ;
194212 }
195213
196214] ; // END TEST CASES
0 commit comments