with Standard_Integer_Vectors; use Standard_Integer_Vectors;
with Standard_Integer_VecVecs; use Standard_Integer_VecVecs;
with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors;
package Lists_of_Vectors_Utilities is
-- DESCRIPTION :
-- This package offers some utilities for working with
-- lists of integer vectors.
procedure Compute_Normal ( v : in VecVec; n : out Link_to_Vector;
deg : out natural );
function Compute_Normal ( v : VecVec ) return Link_to_Vector;
-- DESCRIPTION :
-- Returns the normal vector to the space generated by the
-- points in v. If deg = 0, then more than one solution is possible.
function Pointer_to_Last ( l : List ) return List;
-- DESCRIPTION :
-- Returns a pointer to the last element of the list.
procedure Move_to_Front ( l : in out List; v : in Vector );
-- DESCRIPTION :
-- Searches the vector v in the list l. When found, then this
-- vector v is swapped with the first element of the list.
function Difference ( l1,l2 : List ) return List;
-- DESCRIPTION :
-- Returns the list of points in l1 that do not belong to l2.
function Different_Points ( l : List ) return List;
-- DESCRIPTION :
-- Returns a lists of all different points out of l.
procedure Remove_Duplicates ( l : in out List );
-- DESCRIPTION :
-- Removes duplicate points out of the list l.
end Lists_of_Vectors_Utilities;