test/Tools/isac/Knowledge/gcd_poly_ml.sml
changeset 52099 2a95fc276d0a
parent 52098 bb49dd92fa04
child 59368 c69a314184f3
equal deleted inserted replaced
52098:bb49dd92fa04 52099:2a95fc276d0a
   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";