File Coverage

blib/lib/cppAdaptive2.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition 1 2 50.0
subroutine 4 4 100.0
pod 0 1 0.0
total 18 20 90.0


line stmt bran cond sub pod time code
1             package cppAdaptive2 v3.0.2;
2              
3 2     2   49469 use strict;
  2         11  
  2         40  
4 2     2   7 use warnings;
  2         3  
  2         81  
5              
6             use cppAdaptive2::Inline(
7 2         177 CPP => <<'CPP',
8             #undef seed
9             #undef do_open
10             #undef do_close
11             #undef open
12             #undef read
13             #undef write
14             #undef close
15             #undef bind
16             #undef seekdir
17             #undef setbuf
18             #undef wait
19             #undef PP
20              
21             #include "cppAdaptive.cpp"
22              
23             AV* _update( char* obsVector, char* futVector, char* betaVector, int n_observed, int threads ) {
24             string obsVector1(obsVector);
25             string futVector1(futVector);
26             string betaVector1(betaVector);
27              
28             cppAdaptive( obsVector1, futVector1, betaVector1, n_observed, threads );
29              
30             AV* av = newAV();
31             sv_2mortal((SV*)av);
32              
33             av_push( av, newSVpv(betaVector1.c_str(), betaVector1.size()) );
34             av_push( av, newSVpv(futVector1.c_str(), futVector1.size()) );
35              
36             return av;
37             }
38             CPP
39              
40             # without omp
41             # inc => '-I../../../../src',
42             # ccflags => '-std=c++11',
43              
44             # with omp
45             inc => '-I../../../../src',
46             ccflags => '-std=c++11 -fopenmp',
47             lddlflags => '-shared -O2 -fstack-protector-strong -fopenmp',
48              
49             clean_after_build => 0,
50             clean_build_area => 0,
51 2     2   551 );
  2         4  
52              
53             sub update {
54 1     1 0 59 my ( $obsVector, $futVector, $betaVector, $n_observed, $threads ) = @_;
55              
56 1   50     3 $threads ||= 2;
57              
58 1         2 return @{ _update( $obsVector, $futVector, $betaVector, $n_observed, $threads ) };
  1         2004306  
59             }
60              
61             1;
62             __END__