[BACK]Return to degrees_in_sets_of_unknowns.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Product

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Product/degrees_in_sets_of_unknowns.adb, Revision 1.1

1.1     ! maekawa     1: package body Degrees_in_Sets_of_Unknowns is
        !             2:
        !             3:   function Degree ( t : Term; s : Set ) return integer is
        !             4:
        !             5:     sum : integer := 0;
        !             6:
        !             7:   begin
        !             8:     if Extent_Of(s) > 0
        !             9:      then for i in t.dg'range loop
        !            10:             if Is_In(s,i)
        !            11:              then sum := sum + t.dg(i);
        !            12:             end if;
        !            13:           end loop;
        !            14:     end if;
        !            15:     return sum;
        !            16:   end Degree;
        !            17:
        !            18:   function Degree ( p : Poly; s : Set ) return integer is
        !            19:
        !            20:     res : integer := -1;
        !            21:
        !            22:     procedure Degree_Term ( t : in Term; continue : out boolean ) is
        !            23:       sum : integer := Degree(t,s);
        !            24:     begin
        !            25:       if sum > res
        !            26:        then res := sum;
        !            27:       end if;
        !            28:       continue := true;
        !            29:     end Degree_Term;
        !            30:     procedure Degree_Terms is new Visiting_Iterator(Degree_Term);
        !            31:
        !            32:   begin
        !            33:     Degree_Terms(p);
        !            34:     return res;
        !            35:   end Degree;
        !            36:
        !            37:   function Degree_Table ( p : Poly_Sys; z : Partition ) return matrix is
        !            38:
        !            39:     res : matrix(p'range,z'range);
        !            40:
        !            41:   begin
        !            42:     for i in p'range loop
        !            43:       for j in z'range loop
        !            44:         res(i,j) := Degree(p(i),z(j));
        !            45:       end loop;
        !            46:     end loop;
        !            47:     return res;
        !            48:   end Degree_Table;
        !            49:
        !            50: end Degrees_in_Sets_of_Unknowns;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>