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>