24 int xi,
int yi,
int wi,
25 int brind,
double *brpt,
int nPts) {
36 x0 = info -> solution_ [xi],
37 y0 = info -> solution_ [yi],
38 w0 = info -> solution_ [wi];
40 double *dist = (
double *) malloc (2 *
sizeof (
double));
72 bool side = (((x0*y0 > *brpt) && (*brpt > 0)) ||
73 ((x0*y0 < *brpt) && (*brpt < 0)));
75 dist [side ? 1 : 0] = CoinMax
76 (fabs (w0 - x0*y0), CoinMin
77 ((fabs (y0) >
COUENNE_EPS) ? fabs (x0 - *brpt / y0) : 0.,
78 (fabs (x0) >
COUENNE_EPS) ? fabs (y0 - *brpt / x0) : 0.));
80 dist [side ? 0 : 1] = fabs (w0 - x0*y0);
88 bool side = (diff > 0.);
90 dist [side ? 0 : 1] = CoinMax (fabs (w0 - x0 * y0), fabs (diff));
91 dist [side ? 1 : 0] = fabs (w0 - x0 *y0);
static Bigint * diff(Bigint *a, Bigint *b)
void fint fint fint real fint real real real real real real real real real fint real fint fint fint real fint fint fint fint * info
double * computeMulBrDist(const OsiBranchingInformation *info, int xi, int yi, int wi, int brind, double *brpt, int nPts)
compute distance from future convexifications in set with x,y,w bounded.
double CouNumber
main number type in Couenne