29 t = - (a*x0 + b*y0 +
c);
38 if (sign > 0) {
if (t < 0.)
return 0.;}
39 else if (sign < 0) {
if (t > 0.)
return 0.;}
42 t /= sqrt (a*a + b*b);
53 if ((xpr < lb) || (xpr > ub)) {
55 if (xpr < lb) xpr = lb;
56 else if (xpr > ub) xpr = ub;
58 ypr = (- c - a * xpr) / b - y0;
61 t = sqrt (xpr * xpr + ypr * ypr);
90 return project (a, b, c, x0, y0, x1, x2, sign, xp, yp);
void fint fint fint real * a
CouNumber project(CouNumber a, CouNumber b, CouNumber c, CouNumber x0, CouNumber y0, CouNumber lb, CouNumber ub, int sign, CouNumber *xp=NULL, CouNumber *yp=NULL)
Compute projection of point (x0, y0) on the segment defined by line ax + by + c <>= 0 (sign provided ...
CouNumber projectSeg(CouNumber x0, CouNumber y0, CouNumber x1, CouNumber y1, CouNumber x2, CouNumber y2, int sign, CouNumber *xp=NULL, CouNumber *yp=NULL)
Compute projection of point (x0, y0) on the segment defined by two points (x1,y1), (x2, y2) – sign provided by parameter sign.
double CouNumber
main number type in Couenne