File Coverage

xsi/PrecisionModel.xsi
Criterion Covered Total %
statement 23 25 92.0
branch 37 80 46.2
condition n/a
subroutine n/a
pod n/a
total 60 105 57.1


line stmt bran cond sub pod time code
1             MODULE = Geo::Geos PACKAGE = Geo::Geos::PrecisionModel
2             PROTOTYPES: DISABLE
3              
4             PrecisionModel* new(SV*, SV* arg1 = NULL, SV* arg2 = NULL, SV* arg3 = NULL) {
5 56           if (!arg1) RETVAL = new PrecisionModel();
6 28 100         else {
    50          
    50          
7             if(SvIOK(arg1)) {
8 13 100         PrecisionModel::Type model = static_cast(SvIV(arg1));
9 10 50         RETVAL = new PrecisionModel(model);
    0          
10 10 50         }
    50          
11             else {
12             double scale = SvNV(arg1);
13 3 50         if (arg2) {
    0          
14 3 100         if(!arg3) throw("undef not allowed");
15 1 50         double offsetX = SvNV(arg2);
16 1 50         double offsetY = SvNV(arg3);
    0          
17 1 50         RETVAL = new PrecisionModel(scale, offsetX, offsetY);
    0          
18 1 50         }
    50          
19             else RETVAL = new PrecisionModel(scale);
20 2 50         }
    50          
21             }
22             }
23              
24 2 50         double PrecisionModel::getScale()
25              
26 0 0         double PrecisionModel::getOffsetX()
27              
28 0 0         double PrecisionModel::getOffsetY()
29              
30 11 50         bool PrecisionModel::isFloating()
31              
32 1 50         int PrecisionModel::getMaximumSignificantDigits()
33              
34 7 50         int PrecisionModel::getType()
35              
36 1 50         double PrecisionModel::makePrecise(double val)
37              
38 9 50         std::string PrecisionModel::toString(...)
    50          
39              
40 3 50         int PrecisionModel::compareTo(PrecisionModel& other) { RETVAL = THIS->compareTo(&other); }
41              
42             BOOT {
43 92 50         auto this_stash = Stash(__PACKAGE__);
44 230 50         xs::exp::create_constants(this_stash, {
    50          
    50          
    50          
    100          
    0          
45             {"TYPE_FIXED", PrecisionModel::Type::FIXED},
46             {"TYPE_FLOATING", PrecisionModel::Type::FLOATING},
47             {"TYPE_FLOATING_SINGLE", PrecisionModel::Type::FLOATING_SINGLE}
48 184 50         });
49 46 50         xs::exp::autoexport(this_stash);
    50          
50             }