Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/Framework.x/i/xs/Simple.h
Criterion Covered Total %
branch 10 32 31.2


line true false branch
21 5 0 template inline panda::enable_if_signed_integral_t _getnum (SV* sv) { return SvIV_nomg(sv); }
22 1 0 template inline panda::enable_if_unsigned_integral_t _getnum (SV* sv) { return SvUV_nomg(sv); }
11 0 template inline panda::enable_if_unsigned_integral_t _getnum (SV* sv) { return SvUV_nomg(sv); }
23 0 167 template inline panda::enable_if_floatp_t _getnum (SV* sv) { return SvNV_nomg(sv); }
53 0 0 Simple (SV* sv, bool policy = INCREMENT) : Scalar(sv, policy) { _validate(); }
70 2 0 Simple (T val) { sv = detail::_newnum(val); }
2164 0 Simple (T val) { sv = detail::_newnum(val); }
6 0 Simple (T val) { sv = detail::_newnum(val); }
141 167 0 operator T () const { return sv ? detail::_getnum(sv) : T(); }
155 0 1 if (!sv) return T();
157 1 0 const char* buf = SvPV_nomg(sv, len);
0 0 const char* buf = SvPV_nomg(sv, len);
188 0 0 if (!sv) return;
189 0 0 if (SvTYPE(sv) > SVt_PVMG || SvROK(sv)) {
0 0 if (SvTYPE(sv) > SVt_PVMG || SvROK(sv)) {
191 0 0 throw std::invalid_argument("wrong SV* type for Simple");