Branch Coverage

xsi/algorithm.xsi
Criterion Covered Total %
branch 143 266 53.7


line true false branch
4 8 0 double toDegrees (double radians) { RETVAL = Angle::toDegrees(radians); }
6 1 0 double toRadians (double angleDegrees) { RETVAL = Angle::toRadians(angleDegrees); }
8 1 0 double angle (Coordinate& p0) { RETVAL = Angle::angle(p0); }
11 1 0 RETVAL = Angle::isAcute(*p0, *p1, *p2);
15 1 0 RETVAL = Angle::isObtuse(p0, p1, p2);
19 1 0 RETVAL = Angle::angleBetween(tip1, tail, tip2);
23 1 0 RETVAL = Angle::angleBetweenOriented (tip1, tail, tip2);
27 1 0 RETVAL = Angle::interiorAngle(p0, p1, p2);
30 1 0 int getTurn (double ang1, double ang2) { RETVAL = Angle::getTurn(ang1, ang2); }
32 1 0 double normalize (double angle) { RETVAL = Angle::normalize(angle); }
34 1 0 double normalizePositive (double angle) { RETVAL = Angle::normalizePositive(angle); }
36 1 0 double diff (double ang1, double ang2) { RETVAL = Angle::diff(ang1, ang2); }
40 2 0 if (Centroid::getCentroid(g, c)) RETVAL = new Coordinate(c);
41 2 0 else XSRETURN_UNDEF;
1 1 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
45 2 1 Coordinate result;
46 3 0 CentroidArea acc;
47 3 0 for(size_t i = 0; i < geoms.size(); ++i) {
2 1 for(size_t i = 0; i < geoms.size(); ++i) {
48 5 0 auto item = geoms.at(i);
2 3 auto item = geoms.at(i);
49 2 0 if (item.is_array_ref()) {
50 1 1 auto seq = Helper::convert_coords(Array(item));
51 1 0 acc.add(&seq);
1 0 acc.add(&seq);
52 1 0 }
55 1 0 }
1 0 }
58 3 0 else XSRETURN_UNDEF;
2 1 else XSRETURN_UNDEF;
2 0 else XSRETURN_UNDEF;
63 1 1 Coordinate result;
64 2 0 CentroidLine acc;
65 2 0 for(size_t i = 0; i < geoms.size(); ++i) {
1 1 for(size_t i = 0; i < geoms.size(); ++i) {
66 3 0 auto item = geoms.at(i);
1 2 auto item = geoms.at(i);
67 1 0 if (item.is_array_ref()) {
68 0 1 auto seq = Helper::convert_coords(Array(item));
69 0 0 acc.add(&seq);
0 0 acc.add(&seq);
70 0 0 }
73 1 0 }
1 0 }
76 2 0 else XSRETURN_UNDEF;
1 1 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
80 1 1 Coordinate result;
81 3 0 CentroidPoint acc;
82 3 0 for(size_t i = 0; i < geoms.size(); ++i) {
1 1 for(size_t i = 0; i < geoms.size(); ++i) {
83 6 0 Object item = Object(geoms.at(i));
4 2 Object item = Object(geoms.at(i));
84 4 0 if (!item) throw ("invalid argument");
4 0 if (!item) throw ("invalid argument");
85 1 3 if (item.stash().name() == "Geo::Geos::Coordinate") {
86 3 0 acc.add(&xs::in(item));
3 0 acc.add(&xs::in(item));
0 3 acc.add(&xs::in(item));
87 0 0 }
0 0 }
89 3 0 }
3 0 }
91 2 0 else XSRETURN_UNDEF;
1 1 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
95 1 0 auto seq = Helper::convert_coords(ring);
1 0 auto seq = Helper::convert_coords(ring);
96 1 0 RETVAL = CGAlgorithms::isPointInRing(p, &seq);
100 1 0 auto seq = Helper::convert_coords(ring);
1 0 auto seq = Helper::convert_coords(ring);
101 1 0 RETVAL = CGAlgorithms::locatePointInRing(p, seq);
105 1 0 auto seq = Helper::convert_coords(line);
1 0 auto seq = Helper::convert_coords(line);
106 1 0 RETVAL = CGAlgorithms::isPointInRing(p, &seq);
110 1 0 auto seq = Helper::convert_coords(ring);
1 0 auto seq = Helper::convert_coords(ring);
111 1 0 RETVAL = CGAlgorithms::isCCW(&seq);
115 1 0 RETVAL = CGAlgorithms::computeOrientation(p1, p2, q);
119 1 0 RETVAL = CGAlgorithms::distancePointLine(p, A, B);
123 1 0 RETVAL = CGAlgorithms::distancePointLinePerpendicular(p, A, B);
127 1 0 RETVAL = CGAlgorithms::distanceLineLine(A, B, C, D);
131 1 0 auto seq = Helper::convert_coords(ring);
1 0 auto seq = Helper::convert_coords(ring);
132 1 0 RETVAL = CGAlgorithms::signedArea(&seq);
136 1 0 auto seq = Helper::convert_coords(pts);
1 0 auto seq = Helper::convert_coords(pts);
137 1 0 RETVAL = CGAlgorithms::signedArea(&seq);
141 1 0 RETVAL = CGAlgorithms::computeOrientation(p1, p2, q);
148 1 0 auto& c = intor.getIntersection();
150 1 0 }
153 1 0 auto ch = ConvexHull(&newGeometry);
1 0 auto ch = ConvexHull(&newGeometry);
154 1 0 RETVAL = Helper::uplift(ch.getConvexHull());
1 0 RETVAL = Helper::uplift(ch.getConvexHull());
159 1 0 Coordinate c;
1 0 Coordinate c;
160 1 0 if (ip.getInteriorPoint(c)) RETVAL = new Coordinate(c);
161 1 0 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
166 1 0 Coordinate c;
1 0 Coordinate c;
167 1 0 if (ip.getInteriorPoint(c)) RETVAL = new Coordinate(c);
168 1 0 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
173 1 0 Coordinate c;
1 0 Coordinate c;
174 1 0 if (ip.getInteriorPoint(c)) RETVAL = new Coordinate(c);
175 1 0 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
1 0 else XSRETURN_UNDEF;
180 1 0 RETVAL = pl.locate(p, &geom);
185 1 0 RETVAL = pl.intersects(p, &geom);
189 1 0 RETVAL = RobustDeterminant::signOfDet2x2(x1, y1, x2, y2);
193 1 0 locate::IndexedPointInAreaLocator locator(geom);
194 1 0 RETVAL = locator.locate(&p);
199 1 0 RETVAL = locator.locate(&p);
203 46 0 auto this_stash = Stash(__PACKAGE__);
204 46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
276 46 xs::exp::create_constants(this_stash, {
0 0 xs::exp::create_constants(this_stash, {
212 46 0 });
213 46 0 xs::exp::autoexport(this_stash);
46 0 xs::exp::autoexport(this_stash);