Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/generic_position.adb, Revision 1.1
1.1 ! maekawa 1: with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors;
! 2: with Integer_Support_Functions; use Integer_Support_Functions;
! 3: with Power_Lists; use Power_Lists;
! 4:
! 5: function Generic_Position ( p : Poly_Sys; tv : Tree_of_Vectors )
! 6: return boolean is
! 7:
! 8: -- ALGORITHM :
! 9: -- Because tv contains the useful directions for the mixed volume,
! 10: -- only the cardinality of the faces of the first support list will be
! 11: -- checked, for all top directions in tv.
! 12:
! 13: res : boolean := true;
! 14: tmp : Tree_of_Vectors := tv;
! 15: l : List := Create(p(p'first));
! 16:
! 17: begin
! 18: while not Is_Null(tmp) loop
! 19: declare
! 20: nd : Node := Head_Of(tmp);
! 21: fc : List;
! 22: begin
! 23: exit when nd.d'length < Head_Of(l)'length;
! 24: fc := Outer_Face(l,nd.d.all);
! 25: res := (Length_Of(fc) <= 1);
! 26: Deep_Clear(fc);
! 27: end;
! 28: exit when not res;
! 29: tmp := Tail_Of(tmp);
! 30: end loop;
! 31: return res;
! 32: end Generic_Position;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>