# NAME

intersect_positive_hulls - Finds the intersection of positive convex hulls.
# SYNOPSIS

#include "h/h_intersect.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int intersect_positive_hulls
(
Queue_element *hull_list_head,
unsigned long options,
Hull **result_hp_ptr
);

# DESCRIPTION

This routine finds the intersection of a list of positive convex hulls and
returns the result as a convex hull.
This routine is essentially a wrapper for intersect_hulls(). It checks that
the hulls to be intersected are all positive, uses intersect_hulls() to
intersect them, and then checks that the result is positive. If either an
input hull, or the output hull is almost positive (the magnitude of negative
values are less than a threshold), then this routine silently truncates the
data at zero. As the degree of deviation from positive increases, the routine
outputs messages of increasing verbose level. Finally, if the degree of
deviation from positive is too large, then the intersection fails and ERROR
is returned.
# RETURNS

NO_ERROR on success, with the address of the result in "result_hp_ptr",
NO_SOLUTION if the intersection in empty, and ERROR if there are more
serious problems.
# WARNING

If an input hull has a negative coordinate, then this hull will be
destructively changed by this routine.
# RELATED

intersect_hulls().
# DISCLAIMER

This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
# AUTHOR

Kobus Barnard
# DOCUMENTER

Kobus Barnard
# SEE ALSO

intersect_hulls