Index: src/GenSys.cc =================================================================== RCS file: /cvs/ppl/ppl/src/GenSys.cc,v retrieving revision 1.86 retrieving revision 1.86.2.1 diff -c -d -c -r1.86 -r1.86.2.1 *** src/GenSys.cc 18 Aug 2004 07:48:22 -0000 1.86 --- src/GenSys.cc 8 Sep 2004 15:14:09 -0000 1.86.2.1 *************** *** 679,702 **** return false; break; case Constraint::NONSTRICT_INEQUALITY: ! // Non-strict inequalities must be satisfied by all generators. ! for (dimension_type i = gs.num_rows(); i-- > 0; ) ! if (sp_fp(c, gs[i]) < 0) ! return false; break; case Constraint::STRICT_INEQUALITY: ! // Strict inequalities must be satisfied by all generators ! // and must not be saturated by points. for (dimension_type i = gs.num_rows(); i-- > 0; ) { const Generator& g = gs[i]; ! if (g.is_point()) { if (sp_fp(c, g) <= 0) return false; ! } ! else ! // `g' is a line, ray or closure point. if (sp_fp(c, g) < 0) return false; } break; } --- 679,718 ---- return false; break; case Constraint::NONSTRICT_INEQUALITY: ! // Non-strict inequalities must be saturated by lines and ! // satisfied by all the other generators. ! for (dimension_type i = gs.num_rows(); i-- > 0; ) { ! const Generator& g = gs[i]; ! if (g.is_line()) { ! if (sp_fp(c, g) != 0) ! return false; ! } ! else ! // `g' is a ray, point or closure point. ! if (sp_fp(c, g) < 0) ! return false; ! } break; case Constraint::STRICT_INEQUALITY: ! // Strict inequalities must be saturated by lines, ! // satisfied by all generators, and must not be saturated by points. for (dimension_type i = gs.num_rows(); i-- > 0; ) { const Generator& g = gs[i]; ! switch (g.type()) { ! case Generator::POINT: if (sp_fp(c, g) <= 0) return false; ! break; ! case Generator::LINE: ! if (sp_fp(c, g) != 0) ! return false; ! break; ! default: ! // `g' is a ray or closure point. if (sp_fp(c, g) < 0) return false; + break; + } } break; }