@@ -177,6 +177,7 @@ var tests = [ // BEGIN TEST CASES
177
177
v = longVal . rotateLeft ( 32 ) ;
178
178
assert . deepEqual ( v , longValS ) ;
179
179
} ,
180
+
180
181
function testRotateRight ( ) {
181
182
var longVal = Long . fromBits ( 0x01234567 , 0x89ABCDEF ) ;
182
183
var longValL = Long . fromBits ( 0x12345678 , 0x9ABCDEF0 ) ;
@@ -191,6 +192,23 @@ var tests = [ // BEGIN TEST CASES
191
192
// swap
192
193
v = longVal . rotateRight ( 32 ) ;
193
194
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 ) ;
194
212
}
195
213
196
214
] ; // END TEST CASES
0 commit comments