File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -290,6 +290,17 @@ macro_rules! int_module {
290
290
assert_eq!( r. saturating_pow( 0 ) , 1 as $T) ;
291
291
}
292
292
293
+ #[ test]
294
+ fn test_isqrt( ) {
295
+ assert_eq!( $T:: MIN . checked_isqrt( ) , None ) ;
296
+ assert_eq!( ( -1 as $T) . checked_isqrt( ) , None ) ;
297
+ assert_eq!( ( 0 as $T) . isqrt( ) , 0 as $T) ;
298
+ assert_eq!( ( 1 as $T) . isqrt( ) , 1 as $T) ;
299
+ assert_eq!( ( 2 as $T) . isqrt( ) , 1 as $T) ;
300
+ assert_eq!( ( 99 as $T) . isqrt( ) , 9 as $T) ;
301
+ assert_eq!( ( 100 as $T) . isqrt( ) , 10 as $T) ;
302
+ }
303
+
293
304
#[ test]
294
305
fn test_div_floor( ) {
295
306
let a: $T = 8 ;
Original file line number Diff line number Diff line change @@ -206,6 +206,16 @@ macro_rules! uint_module {
206
206
assert_eq!( r. saturating_pow( 2 ) , MAX ) ;
207
207
}
208
208
209
+ #[ test]
210
+ fn test_isqrt( ) {
211
+ assert_eq!( ( 0 as $T) . isqrt( ) , 0 as $T) ;
212
+ assert_eq!( ( 1 as $T) . isqrt( ) , 1 as $T) ;
213
+ assert_eq!( ( 2 as $T) . isqrt( ) , 1 as $T) ;
214
+ assert_eq!( ( 99 as $T) . isqrt( ) , 9 as $T) ;
215
+ assert_eq!( ( 100 as $T) . isqrt( ) , 10 as $T) ;
216
+ assert_eq!( $T:: MAX . isqrt( ) , ( 1 << ( $T:: BITS / 2 ) ) - 1 ) ;
217
+ }
218
+
209
219
#[ test]
210
220
fn test_div_floor( ) {
211
221
assert_eq!( ( 8 as $T) . div_floor( 3 ) , 2 ) ;
You can’t perform that action at this time.
0 commit comments