@@ -649,56 +649,59 @@ end
649649 @test lcm (a, T (0 )// T (1 )) === T (0 )// T (1 )
650650 @test gcdx (a, T (0 )// T (1 )) === (a, T (1 ), T (0 ))
651651
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 ))
656656 @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 ))
658658 @test gcdx (T (0 )// T (1 ), T (0 )// T (1 )) === (T (0 )// T (1 ), T (0 ), T (0 ))
659659
660660 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 ))
665665 @test gcdx (T (- 1 )// T (0 ), T (1 )// T (0 )) === (T (1 )// T (0 ), T (1 ), T (1 ))
666666 @test gcdx (T (1 )// T (0 ), T (- 1 )// T (0 )) === (T (1 )// T (0 ), T (1 ), T (1 ))
667667 @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 ))
670670 end
671671
672672 @test gcdx (T (1 )// T (3 ), T (2 )) === (T (1 )// T (3 ), T (1 ), T (0 ))
673673 @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 ))
676676
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 ))
681681 @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 ))
683683 @test lcm (T (0 )// T (1 ), T (0 )// T (1 )) === T (0 )// T (1 )
684684
685685 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 ))
690690 @test lcm (T (- 1 )// T (0 ), T (1 )// T (0 )) === T (1 )// T (0 )
691691 @test lcm (T (1 )// T (0 ), T (- 1 )// T (0 )) === T (1 )// T (0 )
692692 @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 ))
695695 end
696696
697697 @test gcd ([T (5 ), T (2 ), T (1 )// T (2 )]) === T (1 )// T (2 )
698698 @test gcd (T (5 ), T (2 ), T (1 )// T (2 )) === T (1 )// T (2 )
699699
700700 @test lcm ([T (5 ), T (2 ), T (1 )// T (2 )]) === T (10 )// T (1 )
701701 @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 ))
702705 end
703706end
704707
0 commit comments