739 then error "[(3,[2,1])] %%|%% [(9,[1,1]),(12,[2,1]),(~3,[1,2])] = false changed" else (); |
739 then error "[(3,[2,1])] %%|%% [(9,[1,1]),(12,[2,1]),(~3,[1,2])] = false changed" else (); |
740 |
740 |
741 "----------- fun gcd_poly' ------------------------------"; |
741 "----------- fun gcd_poly' ------------------------------"; |
742 "----------- fun gcd_poly' ------------------------------"; |
742 "----------- fun gcd_poly' ------------------------------"; |
743 "----------- fun gcd_poly' ------------------------------"; |
743 "----------- fun gcd_poly' ------------------------------"; |
744 |
|
745 if gcd_poly' [(~3,[2,0]),(1,[5,0]),(3,[0,1]),(~6,[1,1]),(~1,[3,1]),(2,[4,1]),(1,[3,2]),(~1,[1,3]),(2,[2,3])] |
744 if gcd_poly' [(~3,[2,0]),(1,[5,0]),(3,[0,1]),(~6,[1,1]),(~1,[3,1]),(2,[4,1]),(1,[3,2]),(~1,[1,3]),(2,[2,3])] |
746 [(2,[2,0]),(~2,[0,1]),(4,[1,1]),(~1,[3,1]),(1,[1,2]),(~1,[2,2]),(~1,[0,3]),(2,[1,3])] 2 0 |
745 [(2,[2,0]),(~2,[0,1]),(4,[1,1]),(~1,[3,1]),(1,[1,2]),(~1,[2,2]),(~1,[0,3]),(2,[1,3])] 2 0 |
747 = [(1, [2, 0]), (~1, [0, 1]), (2, [1, 1])] then () else error |
746 = [(1, [2, 0]), (~1, [0, 1]), (2, [1, 1])] then () else error |
748 "gcd_poly' [(~3,[2,0]),(1,[5,0]),(3,[0,1]),(~6,[1,1]),(~1,[3,1]),(2,[4,1]),(1,[3,2]),(~1,[1,3]),(2,[2,3])]" |
747 "gcd_poly' [(~3,[2,0]),(1,[5,0]),(3,[0,1]),(~6,[1,1]),(~1,[3,1]),(2,[4,1]),(1,[3,2]),(~1,[1,3]),(2,[2,3])]" |
749 "[(2,[2,0]),(~2,[0,1]),(4,[1,1]),(~1,[3,1]),(1,[1,2]),(~1,[2,2]),(~1,[0,3]),(2,[1,3])] 2 0 " |
748 "[(2,[2,0]),(~2,[0,1]),(4,[1,1]),(~1,[3,1]),(1,[1,2]),(~1,[2,2]),(~1,[0,3]),(2,[1,3])] 2 0 " |
750 "= [(1, [2, 0]), (~1, [0, 1]), (2, [1, 1])] changed"; |
749 "= [(1, [2, 0]), (~1, [0, 1]), (2, [1, 1])] changed"; |
751 (* -xy +xy^2z+yz - 1*)(* xy +1*) (*=*) (*xy -1*) |
750 (* -xy +xy^2z+yz - 1*)(* xy +1*) (*=*) (*xy -1*) |
752 if gcd_poly' [(~1,[0,0,0]),(1,[0,1,1]),(1,[1,2,1]),(~1,[1,1,0])] [(1,[0,0,0]),(1,[1,1,0])] 3 0 |
751 if gcd_poly' [(~1,[0,0,0]),(1,[0,1,1]),(1,[1,2,1]),(~1,[1,1,0])] [(1,[0,0,0]),(1,[1,1,0])] 3 0 |
753 = [(1, [0, 0, 0]), (1, [1, 1, 0])] then () else error |
752 = [(~1, [0, 0, 0]), (~1, [1, 1, 0])] then () else error |
754 "gcd_poly' [(~1,[0,0,0]),(1,[0,1,1]),(1,[1,2,1]),(~1,[1,1,0])] [(1,[0,0,0]),(1,[1,1,0])] 3 0 " |
753 "gcd_poly' [(~1,[0,0,0]),(1,[0,1,1]),(1,[1,2,1]),(~1,[1,1,0])] [(1,[0,0,0]),(1,[1,1,0])] 3 0 " |
755 "= [(1, [0, 0, 0]), (1, [1, 1, 0])] changed"; |
754 "= [(1, [0, 0, 0]), (1, [1, 1, 0])] changed"; |
756 |
755 |
757 "----------- fun gcd_poly ------------------------------"; |
756 "----------- fun gcd_poly ------------------------------"; |
758 "----------- fun gcd_poly ------------------------------"; |
757 "----------- fun gcd_poly ------------------------------"; |
807 (* regression test for --- fun gcd_poly downto division by zero ---*) |
806 (* regression test for --- fun gcd_poly downto division by zero ---*) |
808 val a = [(9, [5, 2, 4])]: poly |
807 val a = [(9, [5, 2, 4])]: poly |
809 val b = [(15, [6, 3, 1])]: poly |
808 val b = [(15, [6, 3, 1])]: poly |
810 val ((a', b'), c) = gcd_poly a b; |
809 val ((a', b'), c) = gcd_poly a b; |
811 if a = (a' %%*%% c) andalso b = (b' %%*%% c) then () else error "regression test changed"; |
810 if a = (a' %%*%% c) andalso b = (b' %%*%% c) then () else error "regression test changed"; |
|
811 |
|
812 (* regression test for --- integration lev.1 -- lev.5 in rational.sml *) |
|
813 val a = [(1, [0, 1, 1, 0, 1]), (1, [1, 0, 0, 1, 1])]: poly |
|
814 val b = [(1, [0, 1, 0, 1, 1])]: poly |
|
815 val ((a', b'), c) = gcd_poly a b; |
|
816 |
|
817 a' = [(1, [0, 1, 1, 0, 0]), (1, [1, 0, 0, 1, 0])]; |
|
818 b' = [(1, [0, 1, 0, 1, 0])]; |
|
819 c = [(1, [0, 0, 0, 0, 1])]; |
|
820 if a = (a' %%*%% c) andalso b = (b' %%*%% c) then () else error "gcd_monom changed"; |
812 |
821 |
813 "----------- fun gcd_poly downto division by zero -------"; |
822 "----------- fun gcd_poly downto division by zero -------"; |
814 "----------- fun gcd_poly downto division by zero -------"; |
823 "----------- fun gcd_poly downto division by zero -------"; |
815 "----------- fun gcd_poly downto division by zero -------"; |
824 "----------- fun gcd_poly downto division by zero -------"; |
816 "-------- example 187a: exception Div raised... REGRSSION TEST FOR REMOVAL OF THIS BUG IS ABOVE"; |
825 "-------- example 187a: exception Div raised... REGRSSION TEST FOR REMOVAL OF THIS BUG IS ABOVE"; |