@@ -649,56 +649,59 @@ end
649
649
@test lcm (a, T (0 )// T (1 )) === T (0 )// T (1 )
650
650
@test gcdx (a, T (0 )// T (1 )) === (a, T (1 ), T (0 ))
651
651
652
- @test gcdx (T (1 )// T (0 ), T (1 )// T (2 )) === ( T ( 1 ) // T ( 0 ), T ( 1 ), T ( 0 ))
653
- @test gcdx (T (1 )// T (2 ), T (1 )// T (0 )) === ( T ( 1 ) // T ( 0 ), T ( 0 ), T ( 1 ))
654
- @test gcdx (T (1 )// T (0 ), T (1 )// T (1 )) === ( T ( 1 ) // T ( 0 ), T ( 1 ), T ( 0 ))
655
- @test gcdx (T (1 )// T (1 ), T (1 )// T (0 )) === ( T ( 1 ) // T ( 0 ), T ( 0 ), T ( 1 ))
652
+ @test_throws ArgumentError gcdx (T (1 )// T (0 ), T (1 )// T (2 ))
653
+ @test_throws ArgumentError gcdx (T (1 )// T (2 ), T (1 )// T (0 ))
654
+ @test_throws ArgumentError gcdx (T (1 )// T (0 ), T (1 )// T (1 ))
655
+ @test_throws ArgumentError gcdx (T (1 )// T (1 ), T (1 )// T (0 ))
656
656
@test gcdx (T (1 )// T (0 ), T (1 )// T (0 )) === (T (1 )// T (0 ), T (1 ), T (1 ))
657
- @test gcdx (T (1 )// T (0 ), T (0 )// T (1 )) === ( T ( 1 ) // T ( 0 ), T ( 1 ), T ( 0 ))
657
+ @test_throws ArgumentError gcdx (T (1 )// T (0 ), T (0 )// T (1 ))
658
658
@test gcdx (T (0 )// T (1 ), T (0 )// T (1 )) === (T (0 )// T (1 ), T (0 ), T (0 ))
659
659
660
660
if T <: Signed
661
- @test gcdx (T (- 1 )// T (0 ), T (1 )// T (2 )) === ( T ( 1 ) // T ( 0 ), T ( 1 ), T ( 0 ))
662
- @test gcdx (T (1 )// T (2 ), T (- 1 )// T (0 )) === ( T ( 1 ) // T ( 0 ), T ( 0 ), T ( 1 ))
663
- @test gcdx (T (- 1 )// T (0 ), T (1 )// T (1 )) === ( T ( 1 ) // T ( 0 ), T ( 1 ), T ( 0 ))
664
- @test gcdx (T (1 )// T (1 ), T (- 1 )// T (0 )) === ( T ( 1 ) // T ( 0 ), T ( 0 ), T ( 1 ))
661
+ @test_throws ArgumentError gcdx (T (- 1 )// T (0 ), T (1 )// T (2 ))
662
+ @test_throws ArgumentError gcdx (T (1 )// T (2 ), T (- 1 )// T (0 ))
663
+ @test_throws ArgumentError gcdx (T (- 1 )// T (0 ), T (1 )// T (1 ))
664
+ @test_throws ArgumentError gcdx (T (1 )// T (1 ), T (- 1 )// T (0 ))
665
665
@test gcdx (T (- 1 )// T (0 ), T (1 )// T (0 )) === (T (1 )// T (0 ), T (1 ), T (1 ))
666
666
@test gcdx (T (1 )// T (0 ), T (- 1 )// T (0 )) === (T (1 )// T (0 ), T (1 ), T (1 ))
667
667
@test gcdx (T (- 1 )// T (0 ), T (- 1 )// T (0 )) === (T (1 )// T (0 ), T (1 ), T (1 ))
668
- @test gcdx (T (- 1 )// T (0 ), T (0 )// T (1 )) === ( T ( 1 ) // T ( 0 ), T ( 1 ), T ( 0 ))
669
- @test gcdx (T (0 )// T (1 ), T (- 1 )// T (0 )) === ( T ( 1 ) // T ( 0 ), T ( 0 ), T ( 1 ))
668
+ @test_throws ArgumentError gcdx (T (- 1 )// T (0 ), T (0 )// T (1 ))
669
+ @test_throws ArgumentError gcdx (T (0 )// T (1 ), T (- 1 )// T (0 ))
670
670
end
671
671
672
672
@test gcdx (T (1 )// T (3 ), T (2 )) === (T (1 )// T (3 ), T (1 ), T (0 ))
673
673
@test lcm (T (1 )// T (3 ), T (1 )) === T (1 )// T (1 )
674
- @test lcm (T (3 )// T (1 ), T (1 )// T (0 )) === T ( 3 ) // T ( 1 )
675
- @test lcm (T (0 )// T (1 ), T (1 )// T (0 )) === T ( 0 ) // T ( 1 )
674
+ @test_throws ArgumentError lcm (T (3 )// T (1 ), T (1 )// T (0 ))
675
+ @test_throws ArgumentError lcm (T (0 )// T (1 ), T (1 )// T (0 ))
676
676
677
- @test lcm (T (1 )// T (0 ), T (1 )// T (2 )) === T ( 1 ) // T ( 2 )
678
- @test lcm (T (1 )// T (2 ), T (1 )// T (0 )) === T ( 1 ) // T ( 2 )
679
- @test lcm (T (1 )// T (0 ), T (1 )// T (1 )) === T ( 1 ) // T ( 1 )
680
- @test lcm (T (1 )// T (1 ), T (1 )// T (0 )) === T ( 1 ) // T ( 1 )
677
+ @test_throws ArgumentError lcm (T (1 )// T (0 ), T (1 )// T (2 ))
678
+ @test_throws ArgumentError lcm (T (1 )// T (2 ), T (1 )// T (0 ))
679
+ @test_throws ArgumentError lcm (T (1 )// T (0 ), T (1 )// T (1 ))
680
+ @test_throws ArgumentError lcm (T (1 )// T (1 ), T (1 )// T (0 ))
681
681
@test lcm (T (1 )// T (0 ), T (1 )// T (0 )) === T (1 )// T (0 )
682
- @test lcm (T (1 )// T (0 ), T (0 )// T (1 )) === T ( 0 ) // T ( 1 )
682
+ @test_throws ArgumentError lcm (T (1 )// T (0 ), T (0 )// T (1 ))
683
683
@test lcm (T (0 )// T (1 ), T (0 )// T (1 )) === T (0 )// T (1 )
684
684
685
685
if T <: Signed
686
- @test lcm (T (- 1 )// T (0 ), T (1 )// T (2 )) === T ( 1 ) // T ( 2 )
687
- @test lcm (T (1 )// T (2 ), T (- 1 )// T (0 )) === T ( 1 ) // T ( 2 )
688
- @test lcm (T (- 1 )// T (0 ), T (1 )// T (1 )) === T ( 1 ) // T ( 1 )
689
- @test lcm (T (1 )// T (1 ), T (- 1 )// T (0 )) === T ( 1 ) // T ( 1 )
686
+ @test_throws ArgumentError lcm (T (- 1 )// T (0 ), T (1 )// T (2 ))
687
+ @test_throws ArgumentError lcm (T (1 )// T (2 ), T (- 1 )// T (0 ))
688
+ @test_throws ArgumentError lcm (T (- 1 )// T (0 ), T (1 )// T (1 ))
689
+ @test_throws ArgumentError lcm (T (1 )// T (1 ), T (- 1 )// T (0 ))
690
690
@test lcm (T (- 1 )// T (0 ), T (1 )// T (0 )) === T (1 )// T (0 )
691
691
@test lcm (T (1 )// T (0 ), T (- 1 )// T (0 )) === T (1 )// T (0 )
692
692
@test lcm (T (- 1 )// T (0 ), T (- 1 )// T (0 )) === T (1 )// T (0 )
693
- @test lcm (T (- 1 )// T (0 ), T (0 )// T (1 )) === T ( 0 ) // T ( 1 )
694
- @test lcm (T (0 )// T (1 ), T (- 1 )// T (0 )) === T ( 0 ) // T ( 1 )
693
+ @test_throws ArgumentError lcm (T (- 1 )// T (0 ), T (0 )// T (1 ))
694
+ @test_throws ArgumentError lcm (T (0 )// T (1 ), T (- 1 )// T (0 ))
695
695
end
696
696
697
697
@test gcd ([T (5 ), T (2 ), T (1 )// T (2 )]) === T (1 )// T (2 )
698
698
@test gcd (T (5 ), T (2 ), T (1 )// T (2 )) === T (1 )// T (2 )
699
699
700
700
@test lcm ([T (5 ), T (2 ), T (1 )// T (2 )]) === T (10 )// T (1 )
701
701
@test lcm (T (5 ), T (2 ), T (1 )// T (2 )) === T (10 )// T (1 )
702
+
703
+ @test_throws ArgumentError gcd (T (1 )// T (1 ), T (1 )// T (0 ))
704
+ @test_throws ArgumentError gcd (T (1 )// T (0 ), T (0 )// T (1 ))
702
705
end
703
706
end
704
707
0 commit comments