File Coverage

xsi/precision.xsi
Criterion Covered Total %
statement 25 25 100.0
branch 45 86 52.3
condition n/a
subroutine n/a
pod n/a
total 70 111 63.0


line stmt bran cond sub pod time code
1             MODULE = Geo::Geos PACKAGE = Geo::Geos::Precision
2             PROTOTYPES: DISABLE
3              
4             int64 signExpBits(int64 num) {
5 2           RETVAL = CommonBits::signExpBits(num);
6 1 50         }
7              
8             int numCommonMostSigMantissaBits (int64 num1, int64 num2) {
9 1 50         RETVAL = CommonBits::numCommonMostSigMantissaBits(num1, num2);
10             }
11              
12             int64 zeroLowerBits (int64 bits, int nBits) {
13 2           RETVAL = CommonBits::zeroLowerBits(bits, nBits);
14 1 50         }
15              
16             int getBit (int64 bits, int i) {
17 1 50         RETVAL = CommonBits::getBit (bits, i);
18             }
19              
20             Sv commonIntersection (Geometry& g0, Geometry& g1, bool nReturnToOriginalPrecision = false) {
21 2 50         RETVAL = Helper::uplift(CommonBitsOp(nReturnToOriginalPrecision).intersection(&g0, &g1));
    50          
    50          
22             }
23              
24             Sv commonUnion (Geometry& g0, Geometry& g1, bool nReturnToOriginalPrecision = false) {
25 2 50         RETVAL = Helper::uplift(CommonBitsOp(nReturnToOriginalPrecision).Union(&g0, &g1));
    50          
    50          
26             }
27              
28             Sv commonDifference (Geometry& g0, Geometry& g1, bool nReturnToOriginalPrecision = false) {
29 2 50         RETVAL = Helper::uplift(CommonBitsOp(nReturnToOriginalPrecision).difference(&g0, &g1));
    50          
    50          
30             }
31              
32             Sv commonSymDifference (Geometry& g0, Geometry& g1, bool nReturnToOriginalPrecision = false) {
33 2 50         RETVAL = Helper::uplift(CommonBitsOp(nReturnToOriginalPrecision).symDifference(&g0, &g1));
    50          
    50          
34             }
35              
36             Sv commonBuffer (Geometry& g0, double distance, bool nReturnToOriginalPrecision = false) {
37 2 50         RETVAL = Helper::uplift(CommonBitsOp(nReturnToOriginalPrecision).buffer(&g0, distance));
    50          
    50          
38             }
39              
40             Sv enhancedIntersection (Geometry& g0, Geometry& g1) {
41 1 50         RETVAL = Helper::uplift(EnhancedPrecisionOp().intersection(&g0, &g1));
    50          
42             }
43              
44             Sv enhancedUnion (Geometry& g0, Geometry& g1){
45 1 50         RETVAL = Helper::uplift(EnhancedPrecisionOp().Union(&g0, &g1));
    50          
46             }
47              
48             Sv enhancedDifference (Geometry& g0, Geometry& g1){
49 1 50         RETVAL = Helper::uplift(EnhancedPrecisionOp().difference(&g0, &g1));
    50          
50             }
51              
52             Sv enhancedSymDifference (Geometry& g0, Geometry& g1){
53 1 50         RETVAL = Helper::uplift(EnhancedPrecisionOp().symDifference(&g0, &g1));
    50          
54             }
55              
56             Sv enhancedBuffer (Geometry& g, double distance){
57 1 50         RETVAL = Helper::uplift(EnhancedPrecisionOp().buffer(&g, distance));
    50          
58             }
59              
60             Coordinate* removeCommonBits(Geometry& target, Array sources): ALIAS(addCommonBits=1) {
61 4           CommonBitsRemover cbr;
62 4 50         for(const auto& it: sources) {
63 6 50         cbr.add(&xs::in(it));
    50          
    100          
    50          
64 4 50         }
    50          
65              
66             switch (ix) {
67 2 100         case 0: cbr.removeCommonBits(&target); break;
68 1 50         default: cbr.addCommonBits(&target); break;
69 1 50         }
70             RETVAL = new Coordinate(cbr.getCommonCoordinate());
71 2 50         }
    50          
72              
73             BOOT {
74 46 50         xs::exp::autoexport(Stash(__PACKAGE__));
    50          
75             }