with Standard_Integer_Vectors; use Standard_Integer_Vectors;
with Standard_Integer_VecVecs; use Standard_Integer_VecVecs;
package Face_Enumerators_Utilities is
-- DESCRIPTION :
-- This package contains utilities for the face enumerators.
function Is_Zero ( v : Vector ) return boolean;
-- DESCRIPTION :
-- Returns true if the given vector equals the zero vector.
function gcd ( v : Vector ) return integer;
-- DESCRIPTION :
-- Returns the greatest common divisor gcd(v(v'first),..,v(v'last)).
procedure Scale ( v : in out Vector );
-- DESCRIPTION :
-- Divides each element in v by gcd(v), when gcd(v) /= 0 of course.
function Is_In ( x : integer; v : Vector ) return boolean;
-- DESCRIPTION :
-- Returns true if there exists an entry in v, say v(k),
-- such that v(k) = x.
function In_Edge ( x,a,b : Vector ) return boolean;
-- DESCRIPTION :
-- Returns true if the vector x lies between a and b.
function In_Face ( k : in natural; face,x : Vector; pts : VecVec )
return boolean;
-- DESCRIPTION :
-- Returns true if x lies in the given k-face, which contains entries
-- to its elements in pts.
end Face_Enumerators_Utilities;