@@ -3375,28 +3375,26 @@ def factor_sqf(p):
3375
3375
assert S (0 ).sqrt () == S (0 )
3376
3376
assert S (1 ).sqrt () == S (1 )
3377
3377
assert S (4 ).sqrt ()** 2 == S (4 )
3378
- for i in range (100 ):
3378
+
3379
+ for i in range (- 100 , 100 ):
3379
3380
try :
3380
3381
assert S (i ).sqrt () ** 2 == S (i )
3381
3382
except DomainError :
3382
3383
pass
3383
3384
3384
3385
if characteristic == 0 :
3385
3386
assert raises (lambda : S (- 1 ).sqrt (), DomainError )
3386
- else :
3387
- try :
3388
- assert S (- 1 ).sqrt () ** 2 == S (- 1 )
3389
- except DomainError :
3390
- pass
3391
3387
3392
3388
assert (0 * x ).sqrt () == 0 * x
3393
3389
assert (1 * x / x ).sqrt () == 0 * x + 1
3394
3390
assert (4 * x / x ).sqrt ()** 2 == 0 * x + 4
3395
- for i in range (100 ):
3391
+
3392
+ for i in range (- 100 , 100 ):
3396
3393
try :
3397
3394
assert (i * x ).sqrt () ** 2 == i * x
3398
3395
except DomainError :
3399
3396
pass
3397
+
3400
3398
assert (x ** 2 ).sqrt () == x
3401
3399
assert (S (4 )* x ** 2 ).sqrt ()** 2 == S (4 )* x ** 2
3402
3400
assert raises (lambda : (x ** 2 + 1 ).sqrt (), DomainError )
@@ -3416,6 +3414,14 @@ def factor_sqf(p):
3416
3414
assert factor_sqf (x ** 2 ) == (S (1 ), [(x , 2 )])
3417
3415
assert factor_sqf (2 * (x + 1 )) == (S (2 ), [(x + 1 , 1 )])
3418
3416
3417
+ assert (0 * x ).gcd (0 * x ) == 0 * x
3418
+ assert (0 * x ).gcd (0 * x + 1 ) == S (1 )
3419
+
3420
+ if not is_field :
3421
+ assert (0 * x ).gcd (0 * x + 3 ) == S (3 )
3422
+ else :
3423
+ assert (0 * x ).gcd (0 * x + 3 ) == S (1 )
3424
+
3419
3425
assert (2 * x ).gcd (x ) == x
3420
3426
assert (2 * x ).gcd (x ** 2 ) == x
3421
3427
assert (2 * x ).gcd (x ** 2 + 1 ) == S (1 )
0 commit comments