Branch Coverage

blib/lib/Math/BigFloat.pm
Criterion Covered Total %
branch 1260 1902 66.2


line true false branch
41 0 73 $_[2] ? :
46 0 12 $_[2] ? :
49 0 0 $_[2] ? :
52 0 7 $_[2] ? :
55 0 0 $_[2] ? :
58 0 0 $_[2] ? :
85 0 301 $_[2] ? :
88 0 857 $_[2] ? :
91 0 879 $_[2] ? :
94 140 37 $_[2] ? :
104 0 0 defined $cmp && $_[2] ? :
106 0 5923 $_[2] ? :
129 0 0 $_[2] ? :
134 0 0 $_[2] ? :
139 0 0 $_[2] ? :
174 0 0 $_[2] ? :
193 0 280 $_[0]->is_zero ? :
277 3 0 if $IMPORT == 0
278 3 0 unless (_method_alias($name))
279 0 3 unless (defined $name)
283 0 3 unless (_method_hand_up($name))
323 1131 23557 if $class =~ /^Math::BigInt/
333 23 32 if (@_ == 1 and ref $_[0] ne "HASH")
335 2 21 if $param eq "class"
336 5 16 if $param eq "with"
367 2 17118 if $IMPORT == 0
372 8 17112 unless @_
376 0 17112 unless (defined $wanted)
384 0 17112 if (not ref $wanted and $wanted eq "")
395 17112 0 unless $selfref
399 344 16768 if (defined &blessed($wanted) and $wanted->isa("Math::BigFloat"))
408 0 11 unless @r >= 2 and not defined $r[0] and not defined $r[1]
415 523 16245 if (defined &blessed($wanted))
416 522 1 if ($wanted->isa("Math::BigInt"))
424 0 1 if ($wanted->can("as_number"))
436 7885 8361 if ($wanted =~ / ^ \s* # optional leading whitespace ( [+-]? ) # optional sign 0* # optional leading zeros ( [1-9] (?: [0-9]* [1-9] )? ) # significand \s* # optional trailing whitespace $ /x)
446 8 7877 if defined $downgrade
451 24 1960 unless @r >= 2 and not defined $r[0] and not defined $r[1]
458 1727 6634 if ($wanted =~ / ^ \s* ( [+-]? ) inf (?: inity )? \s* \z /xi)
472 475 6159 if ($wanted =~ / ^ \s* ( [+-]? ) nan \s* \z /xi)
485 5668 451 if ($wanted =~ /^\s*[+-]?0?[Xx]/ and @parts = $class->_hex_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Oo]/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0?[Bb]/ and @parts = $class->_bin_str_to_flt_lib_parts($wanted) or @parts = $class->_dec_str_to_flt_lib_parts($wanted) or $wanted =~ /^\s*[+-]?0_*\d/ and @parts = $class->_oct_str_to_flt_lib_parts($wanted))
529 4 1452 unless @r >= 2 and not defined $r[0] and not defined $r[1]
532 2 5706 if defined $downgrade and $self->is_int
550 0 1 if $selfref and $self->modify("from_dec")
557 1 0 unless $selfref
559 1 0 if (my(@parts) = $class->_dec_str_to_flt_lib_parts($str))
562 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
565 1 0 if defined $downgrade and $self->is_int
580 0 1 if $selfref and $self->modify("from_hex")
587 1 0 unless $selfref
589 1 0 if (my(@parts) = $class->_hex_str_to_flt_lib_parts($str))
592 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
595 1 0 if defined $downgrade and $self->is_int
610 0 1 if $selfref and $self->modify("from_oct")
617 1 0 unless $selfref
619 1 0 if (my(@parts) = $class->_oct_str_to_flt_lib_parts($str))
622 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
625 1 0 if defined $downgrade and $self->is_int
640 0 3 if $selfref and $self->modify("from_bin")
647 3 0 unless $selfref
649 3 0 if (my(@parts) = $class->_bin_str_to_flt_lib_parts($str))
652 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
655 3 0 if defined $downgrade and $self->is_int
670 0 1 if $selfref and $self->modify("from_ieee754")
679 1 0 if ($format =~ /^binary(\d+)\z/) { }
0 0 elsif ($format =~ /^decimal(\d+)(dpd|bcd)?\z/) { }
0 0 elsif ($format eq 'half') { }
0 0 elsif ($format eq 'single') { }
0 0 elsif ($format eq 'double') { }
0 0 elsif ($format eq 'quadruple') { }
0 0 elsif ($format eq 'octuple') { }
0 0 elsif ($format eq 'sexdecuple') { }
706 1 0 if ($b == 2)
714 0 1 if ($k == 16) { }
1 0 elsif ($k == 32) { }
0 0 elsif ($k == 64) { }
727 0 0 if ($k < 128 or $k != 32 * sprintf("%.0f", $k / 32))
744 0 1 unless (defined $in)
752 1 0 if (8 * $len == $k) { }
0 0 elsif (4 * $len == $k) { }
0 0 elsif ($len == $k) { }
755 0 0 if ($in =~ /([^\da-f])/i)
760 0 0 if ($in =~ /([^01])/)
769 0 1 substr($in, 0, 1) eq '1' ? :
777 0 1 if ($expo < $emin) { }
0 1 elsif ($expo > $emax) { }
778 0 0 if ($mant == 0) { }
784 0 0 if $sign eq "-"
789 0 0 if ($mant == 0) { }
798 1 0 if ($expo < $t) { }
806 0 1 if $sign eq "-"
809 0 1 if ($selfref) { }
818 1 0 if defined $downgrade and $self->is_int
830 0 603 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
842 1 602 if $IMPORT == 0
846 0 603 if $selfref and $self->modify("bzero")
852 1 602 if defined $downgrade
856 107 495 unless $selfref
869 64 538 if (@r) { }
870 0 15 if @r >= 2 and defined $r[0] and defined $r[1]
875 101 437 unless ($selfref)
888 0 1589 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
900 1 1588 if $IMPORT == 0
904 0 1589 if $selfref and $self->modify("bone")
906 1 1588 if defined $downgrade
911 163 1425 if (defined $_[0] and $_[0] =~ /^\s*([+-])\s*$/)
922 1006 582 unless $selfref
935 29 1559 if (@r) { }
936 0 15 if @r >= 2 and defined $r[0] and defined $r[1]
941 1000 559 unless ($selfref)
954 0 2071 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
968 5 2066 if (${"${class}::_trap_inf";})
973 1 2065 if $IMPORT == 0
977 0 2066 if $selfref and $self->modify("binf")
979 7 2059 if $downgrade
984 1968 91 if (defined $_[0] and $_[0] =~ /^\s*([+-])(inf|$)/i)
995 1752 307 unless $selfref
1008 530 1529 if (@r) { }
1009 0 518 if @r >= 2 and defined $r[0] and defined $r[1]
1014 1234 295 unless ($selfref)
1027 0 2115 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1041 3 2112 if (${"${class}::_trap_nan";})
1046 1 2111 if $IMPORT == 0
1050 0 2112 if $selfref and $self->modify("bnan")
1052 14 2098 if defined $downgrade
1060 1027 1071 unless $selfref
1073 296 1802 if (@r) { }
1074 0 273 if @r >= 2 and defined $r[0] and defined $r[1]
1079 751 1051 unless ($selfref)
1091 1 204 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1122 83 122 if ($selfref) { }
1123 0 83 if $self->modify("bpi")
1133 0 14 defined $r[1] ? :
191 14 defined $r[0] ? :
1137 191 14 defined $r[2] ? :
1141 205 0 if ($n <= 1000) { }
1180 0 205 if ($rmode eq 'trunc') { }
1184 86 119 $next_digit lt '5' ? :
1195 119 86 if ($round_up)
1197 108 11 if ($last_digit lt '9') { }
1221 0 0 unless ref $HALF
1240 191 14 if (defined $r[0]) { }
0 14 elsif (defined $r[1]) { }
1250 0 205 if defined $downgrade and $self->is_int
1257 17365 0 if (ref $_[0]) { }
1265 0 17365 if @_
1273 14723 2642 if exists $x->{'_a'}
1274 14545 2820 if exists $x->{'_p'}
1281 650 0 ref $_[0] ? :
1282 0 650 if @r
1284 0 650 if $x->isa("Math::BigInt")
1295 8 642 if ($x->is_inf) { }
4 638 elsif ($x->is_nan) { }
1301 183 455 if ($x->{'_es'} eq '-') { }
14 441 elsif (not $LIB->_is_zero($x->{'_e'})) { }
1318 2 0 ref $_[0] ? :
1319 0 2 if @r
1321 2 0 if $x->isa("Math::BigFloat")
1347 110805 4 ref $_[0] ? :
1349 1725 109084 $x->{'sign'} eq '+' && $LIB->_is_zero($x->{'_m'}) ? :
1354 2954 4 ref $_[0] ? :
1356 2375 583 if not defined $sign or $sign ne "-"
1360 285 2673 $x->{'sign'} eq $sign && $LIB->_is_zero($x->{'_e'}) && $LIB->_is_one($x->{'_m'}) ? :
1365 104 0 ref $_[0] ? :
1369 40 64 $x->{'sign'} =~ /^[+-]$/ && $LIB->_is_zero($x->{'_e'}) && $LIB->_is_odd($x->{'_m'}) ? :
1374 72 0 ref $_[0] ? :
1378 24 48 $x->{'sign'} =~ /^[+-]$/ && $x->{'_es'} eq '+' && $LIB->_is_even($x->{'_m'}) ? :
1383 2548 0 ref $_[0] ? :
1386 2217 331 $x->{'sign'} =~ /^[+-]$/ && $x->{'_es'} eq '+' ? :
1397 2799 114 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1401 0 2913 if @r
1405 58 2855 if $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1410 8 2847 if $x->{'sign'} eq "+inf" and $y->{'sign'} eq "+inf" or $x->{'sign'} eq "-inf" and $y->{'sign'} eq "-inf"
1411 56 2791 if $x->{'sign'} eq "+inf"
1412 64 2727 if $x->{'sign'} eq "-inf"
1413 0 2727 if $y->{'sign'} eq "+inf"
1414 4 2723 if $y->{'sign'} eq "-inf"
1418 456 2267 if $x->{'sign'} eq "+" and $y->{'sign'} eq "-"
1419 306 1961 if $x->{'sign'} eq "-" and $y->{'sign'} eq "+"
1425 134 1827 if $xz and $yz
1426 120 1707 if $xz and $y->{'sign'} eq "+"
1427 452 1255 if $yz and $x->{'sign'} eq "+"
1444 1134 121 if ($mxl == $myl)
1448 0 1134 if ($x->{'_es'} eq '+' and $y->{'_es'} eq '-') { }
16 1118 elsif ($x->{'_es'} eq '-' and $y->{'_es'} eq '+') { }
1458 78 1040 if $x->{'_es'} eq "-"
1464 128 1006 if $x->{'sign'} eq "-"
1465 68 1066 if $cmp
1478 1051 136 if ($x->{'_es'} eq '+') { }
1483 1042 9 if ($y->{'_es'} eq '+') { }
1502 25 111 if ($y->{'_es'} eq '+') { }
1526 136 1051 if $x->{'sign'} eq "-"
1527 90 1097 if $cmp
1536 26 1071 if ($mxl > $myl) { }
5 1066 elsif ($mxl < $myl) { }
1543 128 969 if $x->{'sign'} eq "-"
1553 8948 31 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1557 0 8979 if @r
1560 92 8887 unless ($x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/)
1561 28 64 if $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1562 16 48 if $x->is_inf and $y->is_inf
1563 32 16 if $x->is_inf and not $y->is_inf
1570 4 8883 if $xz and $yz
1571 40 8843 if $xz and not $yz
1572 40 8803 if $yz and not $xz
1578 8161 642 if $x->{'_es'} ne "+"
1579 7968 835 if $y->{'_es'} ne "+"
1584 4982 3821 if $l != 0
1591 578 3243 if ($diff > 0) { }
258 2985 elsif ($diff < 0) { }
1608 475 0 ref $_[0] ? :
1610 0 475 if $x->modify("bneg")
1612 9 466 if $x->is_nan
1616 461 5 unless $x->{'sign'} eq "+" and $LIB->_is_zero($x->{'_m'})
1618 1 2 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
1628 72362 0 ref $_[0] ? :
1630 0 72362 if @r
1633 6 72356 unless ($x->{'sign'} =~ /^[+-]$/)
1634 2 4 if defined $downgrade
1639 29435 42921 if ($zeros != 0) { }
1642 27727 1708 if ($x->{'_es'} eq '-') { }
1643 27387 340 if ($LIB->_acmp($x->{'_e'}, $z) >= 0) { }
1645 226 27161 if $LIB->_is_zero($x->{'_e'})
1656 399 42522 if ($LIB->_is_zero($x->{'_m'}))
1663 20 72336 if defined $downgrade and $x->is_int
1670 4362 0 ref $_[0] ? :
1672 0 4362 if $x->modify("binc")
1676 5 4357 if $x->is_nan
1677 9 4348 if $x->is_inf
1681 461 3887 if ($x->{'_es'} eq "-")
1688 350 3537 unless ($LIB->_is_zero($x->{'_e'}))
1697 3871 16 if ($x->{'sign'} eq '+') { }
16 0 elsif ($x->{'sign'} eq '-') { }
1702 4 12 if $LIB->_is_zero($x->{'_m'})
1706 0 0 if defined $downgrade and $x->is_int
1713 168 0 ref $_[0] ? :
1715 0 168 if $x->modify("bdec")
1719 5 163 if $x->is_nan
1720 9 154 if $x->is_inf
1724 113 41 if ($x->{'_es'} eq "-")
1731 8 33 unless ($LIB->_is_zero($x->{'_e'}))
1739 21 20 if ($x->{'sign'} eq '-' or $zero) { }
20 0 elsif ($x->{'sign'} eq '+') { }
1741 5 16 if $zero
1742 0 21 if $LIB->_is_zero($x->{'_m'})
1750 0 0 if defined $downgrade and $x->is_int
1757 13424 34 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1761 0 13458 if $x->modify("badd")
1764 226 13232 unless ($x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/)
1767 110 116 if ($x->{'sign'} eq $nan or $y->{'sign'} eq $nan) { }
56 60 elsif ($x->{'sign'} =~ /^[+-]inf$/ and $y->{'sign'} =~ /^[+-]inf$/) { }
38 22 elsif ($y->{'sign'} =~ /^[+-]inf$/) { }
1774 24 32 if $x->{'sign'} ne $y->{'sign'}
1782 8 218 if defined $downgrade
1786 1 13231 if defined $upgrade
1791 24 13207 if ($y->is_zero) { }
102 13105 elsif ($x->is_zero) { }
1810 0 13105 unless defined $e
1819 7475 5630 if ($es eq '-') { }
789 4841 elsif (not $LIB->_is_zero($e)) { }
1828 11511 1594 if ($x->{'sign'} eq $y->{'sign'}) { }
1839 7 13224 if defined $downgrade and $x->is_int
1846 1622 33 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1850 0 1655 if $x->modify("bsub")
1852 42 1613 if ($y->is_zero) { }
1862 24 1589 if ($xsign ne $x->{'sign'})
1864 16 8 if ($xsign =~ /^[+-]$/) { }
1869 0 24 if defined $downgrade
1876 4 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
1885 19213 299 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1889 0 19512 if $x->modify("bmul")
1891 57 19455 if $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
1894 85 19370 if ($x->{'sign'} =~ /^[+-]inf$/ or $y->{'sign'} =~ /^[+-]inf$/)
1895 12 73 if $x->is_zero or $y->is_zero
1899 23 50 if $x->{'sign'} =~ /^\+/ and $y->{'sign'} =~ /^\+/
1900 14 36 if $x->{'sign'} =~ /^-/ and $y->{'sign'} =~ /^-/
1904 1 19369 if defined $upgrade
1914 559 18810 $x->{'sign'} ne $y->{'sign'} ? :
1917 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
1926 246 1 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
1931 0 247 if $x->modify("bmuladd")
1935 16 214 if $x->{'sign'} eq $nan or $y->{'sign'} eq $nan or $z->{'sign'} eq $nan
1938 18 196 if ($x->{'sign'} =~ /^[+-]inf$/ or $y->{'sign'} =~ /^[+-]inf$/)
1939 0 18 if $x->is_zero or $y->is_zero
1943 6 12 if $x->{'sign'} =~ /^\+/ and $y->{'sign'} =~ /^\+/
1944 4 8 if $x->{'sign'} =~ /^-/ and $y->{'sign'} =~ /^-/
1956 44 152 $x->{'sign'} ne $y->{'sign'} ? :
1959 1 195 if ($z->{'sign'} =~ /^[+-]inf$/)
1961 1 0 if defined $downgrade
1967 0 195 unless defined $e
1976 4 191 if ($es eq '-') { }
9 182 elsif (not $LIB->_is_zero($e)) { }
1986 151 44 if ($x->{'sign'} eq $z->{'sign'}) { }
1997 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
2009 137 8937 if (not ref $_[0] or ref $_[0] ne ref $_[1])
2013 0 9074 if $x->modify("bdiv")
2020 68 9006 if ($x->is_nan or $y->is_nan)
2021 24 44 $wantarray ? :
2029 55 8951 if ($y->is_zero)
2031 16 39 if ($wantarray)
2033 0 16 if defined $downgrade and $rem->is_int
2036 21 34 if ($x->is_zero) { }
2041 16 36 $wantarray ? :
2048 40 8911 if ($x->is_inf)
2050 16 24 if $wantarray
2051 16 24 if ($y->is_inf) { }
2054 12 12 $x->bcmp(0) == $y->bcmp(0) ? :
2057 16 24 $wantarray ? :
2066 40 8871 if ($y->is_inf)
2068 16 24 if ($wantarray) { }
2069 12 4 if ($x->is_zero or $x->bcmp(0) == $y->bcmp(0)) { }
2071 0 12 if defined $downgrade and $rem->is_int
2080 24 0 if ($y->is_inf)
2081 0 24 if ($x->is_nan or $x->is_inf) { }
2094 58 8813 if ($x->is_zero)
2097 1 57 if defined $downgrade and $quo->is_int
2099 13 45 if ($wantarray)
2110 0 0 if defined $upgrade and not wantarray and not $LIB->_is_one($y->{'_m'})
2117 0 8813 if $x->is_nan
2120 506 8307 if (scalar @params == 0) { }
2133 49 8764 if wantarray
2135 0 8813 unless $y->isa("Math::BigFloat")
2139 1112 7701 if $lx > $scale
2140 613 8200 if $ly > $scale
2142 3146 5667 if $diff > 0
2152 8 8805 if ($xsign ne $x->{'sign'}) { }
2162 25 8780 if (wantarray and $y_not_one)
2166 561 8244 $x->{'sign'} ne $y->sign ? :
2169 8636 169 if ($y_not_one)
2172 0 8636 unless $y->isa("Math::BigFloat")
2190 8780 33 if (defined $params[0]) { }
2197 506 8307 if ($fallback)
2203 49 8764 if (wantarray)
2204 25 24 if ($y_not_one)
2208 49 0 if ($fallback)
2213 0 49 if defined $downgrade and $x->is_int
2215 0 49 if defined $downgrade and $rem->is_int
2220 0 8764 if defined $downgrade and $x->is_int
2229 734 9 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2233 0 743 if $x->modify("bmod")
2238 36 707 if $x->is_nan or $y->is_nan
2242 40 667 if ($y->is_zero)
2249 48 619 if ($x->is_inf)
2256 40 579 if ($y->is_inf)
2257 28 12 if ($x->is_zero or $x->bcmp(0) == $y->bcmp(0)) { }
2267 96 448 if $x->is_zero or $x->is_int and ($LIB->_is_zero($y->{'_e'}) and $LIB->_is_one($y->{'_m'}))
2270 30 453 if ($cmp == 0)
2275 51 402 $x->{'sign'} ne $y->{'sign'} ? :
2278 48 405 if ($cmp < 0 and $neg == 0)
2286 25 380 if $y->{'_es'} eq "+" and not $LIB->_is_zero($y->{'_e'})
2290 16 389 if ($y->{'_es'} eq "-")
2300 27 378 if ($x->{'_es'} eq "-")
2307 117 288 if ($x->{'_es'} eq "+" and not $LIB->_is_zero($x->{'_e'}))
2313 35 370 if $shiftx != 0 or $shifty != 0
2314 16 389 if $shifty != 0
2320 101 304 if $LIB->_is_zero($x->{'_m'})
2324 51 354 if ($neg != 0 and not $x->is_zero)
2329 0 51 if $LIB->_is_zero($x->{'_m'})
2334 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
2343 20 0 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
2348 0 20 if $num->modify("bmodpow")
2350 0 20 if $mod->is_nan or $exp->is_nan or $mod->is_nan
2354 0 20 if $mod->{'sign'} ne "+" or $mod->is_zero
2357 0 20 if ($exp->{'sign'} =~ /\w/)
2362 0 20 if $exp->{'sign'} eq "-"
2365 0 20 unless $num->{'sign'} =~ /^[+-]$/
2372 0 0 if defined $downgrade and $num->is_int || $num->is_inf || $num->is_nan
2385 110 932 if (not ref $_[0] or ref $_[0] ne ref $_[1])
2389 0 1042 if $x->modify("bpow")
2392 116 926 if $x->is_nan or $y->is_nan
2395 60 866 if ($x->is_inf('-')) { }
60 806 elsif ($x->is_inf('+')) { }
44 762 elsif ($y->is_inf('-')) { }
44 718 elsif ($y->is_inf('+')) { }
2396 28 32 if $y->is_negative
2397 4 28 if $y->is_zero
2398 8 20 if $y->is_odd
2401 28 32 if $y->is_negative
2402 4 28 if $y->is_zero
2405 4 40 if $x->is_one("-")
2406 12 28 if $x > -1 and $x < 1
2407 4 24 if $x->is_one("+")
2410 4 40 if $x->is_one("-")
2411 12 28 if $x > -1 and $x < 1
2412 4 24 if $x->is_one("+")
2416 48 670 if ($x->is_zero)
2417 4 44 if $y->is_zero
2418 20 24 if $y->is_negative
2424 80 590 if ($x->is_negative and not $y->is_int)
2425 0 80 if defined $upgrade
2429 119 471 if ($x->is_one("+") or $y->is_one)
2433 24 447 if ($x->is_one("-"))
2434 12 12 if $y->is_odd
2438 114 333 unless $y->is_int
2443 54 54 $LIB->_is_odd($y1) ? :
108 225 if $x->{'sign'} ne "+"
2454 105 228 if ($y->{'sign'} eq "-")
2464 0 1 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
2480 18 238 if (not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/) { }
2482 3 15 defined $_[2] ? :
2486 39 199 defined $_[1] ? :
2490 0 256 if $x->modify("blog")
2495 4 252 if $x->is_nan
2497 42 210 if (defined $base)
2498 0 42 unless defined &blessed($base) and $base->isa("Math::BigFloat")
2500 8 34 if ($base->is_nan or $base->is_one) { }
4 30 elsif ($base->is_inf or $base->is_zero) { }
4 26 elsif ($base->is_negative) { }
2503 0 4 if $x->is_inf or $x->is_zero
2506 0 4 if $x->is_one
2507 0 4 if $x == $base
2509 0 4 if defined $upgrade
2512 11 15 if $x == $base
2515 8 217 if ($x->is_inf) { }
16 201 elsif ($x->is_neg) { }
16 185 elsif ($x->is_one) { }
8 177 elsif ($x->is_zero) { }
2516 0 8 defined $base && $base < 1 ? :
2519 0 16 if defined $upgrade
2524 0 8 defined $base && $base < 1 ? :
2534 91 86 if (scalar @params == 0) { }
2566 11 0 if (defined $base and $base->is_int and $x->is_int)
2570 10 1 if ($exact)
2582 167 10 unless ($done)
2584 1 166 if (defined $base)
2593 177 0 if (defined $params[0]) { }
2598 91 86 if ($fallback)
2607 1 176 if defined $downgrade and $x->is_int
2614 11 9 ref $_[0] ? :
2616 0 20 if $x->modify("bexp")
2618 0 20 if $x->is_nan
2619 0 20 if $x->{'sign'} eq "+inf"
2620 0 20 if $x->{'sign'} eq "-inf"
2628 0 20 if $x->{'sign'} eq "NaN"
2631 11 9 if (scalar @params == 0) { }
2644 0 20 if $x->is_zero
2646 0 20 unless ($x->isa("Math::BigFloat"))
2723 17 3 if ($scale <= 75) { }
2770 10 10 if (not $x_org->is_one) { }
2777 5 5 if ($lshift == 0) { }
2789 10 0 if (defined $params[0]) { }
2796 11 9 if ($fallback)
2810 0 20 if defined $downgrade and $x->is_int
2818 60 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2822 0 60 if @r
2824 0 60 if $x->modify("bnok")
2826 12 48 if $x->is_nan or $y->is_nan
2827 0 48 if $x->is_finite and not $x->is_int or $y->is_finite and not $y->is_int
2834 0 48 if defined $downgrade
2848 40 0 ref $_[0] ? :
2854 0 40 if $x->modify("bsin")
2856 8 32 if $x->is_zero
2857 12 20 if $x->is_nan or $x->is_inf
2865 0 20 if $x->is_nan
2868 0 20 if (scalar @params == 0) { }
2917 20 176 if $next->bacmp($limit) <= 0
2919 80 96 if ($sign == 0) { }
2934 20 0 if (defined $params[0]) { }
2939 0 20 if ($fallback)
2948 0 20 if defined $downgrade and $x->is_int
2955 36 0 ref $_[0] ? :
2967 4 32 if $x->modify("bcos") or $x->is_nan
2968 8 24 if $x->is_inf
2969 8 16 if $x->is_zero
2972 0 16 if (scalar @params == 0) { }
3015 16 140 if $next->bacmp($limit) <= 0
3017 68 72 if ($sign == 0) { }
3032 16 0 if (defined $params[0]) { }
3037 0 16 if ($fallback)
3046 0 16 if defined $downgrade and $x->is_int
3053 175 0 ref $_[0] ? :
3059 0 175 if $x->modify("batan")
3061 4 171 if $x->is_nan
3071 0 171 if $x->is_nan
3073 16 155 if ($x->{'sign'} =~ /^[+-]inf\z/)
3088 26 129 if $x->is_zero
3091 0 129 if (scalar @params == 0) { }
3106 27 102 if ($LIB->_is_one($x->{'_m'}) and $LIB->_is_zero($x->{'_e'}))
3120 40 62 if ($x->bacmp($x->copy->bone) >= 0)
3175 102 888 if $next->bacmp($limit) <= 0
3177 416 472 if ($sign == 0) { }
3189 40 62 if (defined $pi)
3200 102 0 if (defined $params[0]) { }
3205 0 102 if ($fallback)
3215 0 0 if defined $downgrade and $x->is_int || $x->is_inf
3224 213 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3229 0 213 if $y->modify("batan2")
3232 12 201 if $x->{'sign'} eq $nan or $y->{'sign'} eq $nan
3240 0 201 if $y->is_nan
3243 45 156 if (scalar @params == 0) { }
3256 20 181 if ($x->is_inf('+')) { }
20 161 elsif ($x->is_inf('-')) { }
87 74 elsif ($x > 0) { }
20 54 elsif ($x < 0) { }
3257 4 16 if ($y->is_inf('+')) { }
4 12 elsif ($y->is_inf('-')) { }
3265 4 16 if ($y->is_inf('+')) { }
4 12 elsif ($y->is_inf('-')) { }
8 4 elsif ($y >= 0) { }
3275 4 83 if ($y->is_inf('+')) { }
4 79 elsif ($y->is_inf('-')) { }
3284 12 8 if ($y >= 0) { }
3292 25 29 if ($y > 0) { }
22 7 elsif ($y < 0) { }
3303 42 140 if ($fallback)
3313 420 22 ref $_[0] ? :
3315 0 442 if $x->modify("bsqrt")
3319 8 434 if $x->is_nan
3320 4 430 if $x->{'sign'} eq "+inf"
3321 10 420 if $x->is_zero or $x->is_one
3325 20 400 if ($x->is_neg)
3326 0 20 if defined $upgrade
3336 0 400 if $x->is_nan
3339 123 277 if (scalar @params == 0) { }
3373 315 85 unless $LIB->_is_zero($x->{'_e'})
3379 50 350 if ($x->{'_es'} ne "-" and $xas->bacmp($gs * $gs) == 0)
3389 50 0 if (defined $params[0]) { }
3394 33 17 if ($fallback)
3423 2 348 if $shift < 0
3434 139 211 if $LIB->_is_odd($x->{'_e'})
3447 278 72 if $x->{'_es'} eq "-"
3450 320 30 if ($dat > 0) { }
3459 350 0 if ($dat < 0) { }
3471 328 22 if (defined $params[0]) { }
3476 90 260 if ($fallback)
3485 0 0 if defined $downgrade and $x->is_int || $x->is_inf
3494 176 10 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3498 0 186 if $x->modify("broot")
3502 36 150 if $x->is_nan or $y->is_nan
3504 44 106 if ($x->is_neg)
3506 4 28 if $x->is_int and $y->is_int and $y->is_neg
3508 0 40 if defined $upgrade
3514 24 82 if not $x->{'sign'} =~ /^\+/ or $y->is_zero or not $y->{'sign'} =~ /^\+$/
3516 8 66 if $x->is_zero or $x->is_one or $x->is_inf or $y->is_one
3523 0 66 if $x->is_nan
3526 66 0 if (scalar @params == 0) { }
3561 0 66 if $x->{'sign'} eq "-"
3565 66 0 if ($y->isa('Math::BigFloat')) { }
3573 46 20 if ($is_two) { }
0 20 elsif ($y->is_one('-')) { }
3587 20 0 if ($y->is_int and $x->is_int)
3589 0 20 unless $LIB->_is_zero($x->{'_e'})
3594 14 6 if ($int->copy->bpow($y) == $x)
3603 6 14 if ($done == 0)
3610 0 66 if $sign == 1
3613 66 0 if (defined $params[0]) { }
3618 66 0 if ($fallback)
3627 0 0 if defined $downgrade and $x->is_int || $x->is_inf
3637 80 0 ref $_[0] ? :
3640 0 80 if $x->modify("bfac")
3642 8 72 if $x->is_nan or $x->is_inf("-")
3643 4 68 if $x->is_inf("+")
3644 8 60 if $x->is_zero or $x->is_one
3646 4 56 if ($x->is_neg or not $x->is_int)
3647 0 4 if defined $upgrade
3651 8 48 unless ($LIB->_is_zero($x->{'_e'}))
3660 0 0 if defined $downgrade and $x->is_int || $x->is_inf
3669 72 0 ref $_[0] ? :
3671 0 72 if $x->modify("bdfac")
3673 8 64 if $x->is_nan or $x->is_inf("-")
3674 4 60 if $x->is_inf("+")
3676 4 56 if ($x <= -2 or not $x->is_int)
3677 0 4 if defined $upgrade
3681 12 44 if $x <= 1
3683 0 44 unless $LIB->can("_dfac")
3686 4 40 unless ($LIB->_is_zero($x->{'_e'}))
3695 0 44 if defined $downgrade and $x->is_int
3704 76 0 ref $_[0] ? :
3706 0 76 if $x->modify("btfac")
3708 8 68 if $x->is_nan or $x->is_inf("-")
3709 4 64 if $x->is_inf("+")
3711 4 60 if ($x <= -3 or not $x->is_int)
3712 0 4 if defined $upgrade
3717 0 60 if $x <= -$k
3720 16 44 if $x <= $one
3729 0 44 if defined $downgrade and $x->is_int
3735 364 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3739 0 364 if $x->modify("bmfac")
3741 36 308 if $x->is_nan or $x->is_inf("-") or not $k->is_pos
3742 20 288 if $x->is_inf("+")
3744 4 264 if ($x <= -$k or not $x->is_int or $k->is_finite and not $k->is_int)
3747 0 24 if defined $upgrade
3752 80 184 if $x <= $one
3761 0 184 if defined $downgrade and $x->is_int
3770 0 33 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
3775 0 33 if $x->modify("blsft")
3777 4 29 if $x->is_nan or $y->is_nan
3779 29 0 unless defined $b
3780 29 0 unless defined &blessed($b) and $b->isa("Math::BigFloat")
3782 0 29 if $b->is_nan
3787 0 29 if $y->{'sign'} =~ /^-/
3791 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
3800 0 48 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
3805 0 48 if $x->modify("brsft")
3807 4 44 if $x->is_nan or $y->is_nan
3811 33 11 unless defined $b
3812 44 0 unless defined &blessed($b) and $b->isa("Math::BigFloat")
3814 0 44 if $b->is_nan
3817 0 44 if $y->{'sign'} =~ /^-/
3822 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
3834 8 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3860 0 8 if defined $downgrade
3867 8 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3893 0 8 if defined $downgrade
3898 0 1 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3902 0 1 if $x->modify("band")
3904 0 1 if $x->is_nan or $y->is_nan
3911 0 1 if defined $downgrade
3923 0 1 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3927 0 1 if $x->modify("bior")
3929 0 1 if $x->is_nan or $y->is_nan
3936 0 1 if defined $downgrade
3948 0 1 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3952 0 1 if $x->modify("bxor")
3954 0 1 if $x->is_nan or $y->is_nan
3961 0 1 if defined $downgrade
3973 4 0 ref $_[0] ? :
3975 0 4 if $x->modify("bnot")
3977 0 4 if $x->is_nan
3982 0 4 if defined $downgrade
4000 41467 0 ref $_[0] ? :
4002 3 41464 if (($a[0] || 0) < 0)
4006 0 41464 if $x->modify("bround")
4009 3889 37575 unless (defined $scale)
4010 2 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4020 4 37571 if (defined $x->{'_a'} and $x->{'_a'} < $scale)
4021 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4030 12 37559 if ($scale <= 0 or not $x->{'sign'} =~ /^[+-]$/)
4031 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4038 12805 24754 if ($x->is_zero or $LIB->_len($x->{'_m'}) <= $scale)
4039 1979 10826 if not defined $x->{'_a'} or $x->{'_a'} > $scale
4040 0 1 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4062 724 0 ref $_[0] ? :
4064 0 724 if $x->modify("bfround")
4067 4 720 unless (defined $scale)
4068 2 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4075 20 700 if ($x->is_zero)
4076 20 0 if not defined $x->{'_p'} or $x->{'_p'} < $scale
4077 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4082 12 688 unless ($x->{'sign'} =~ /^[+-]$/)
4083 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4089 0 7 if (defined $x->{'_p'} and $x->{'_p'} < 0 and $scale < $x->{'_p'})
4090 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4097 532 156 if ($scale < 0) { }
4100 28 504 if ($x->{'_es'} eq "+")
4101 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4113 195 309 if -$dad < -$len
4125 47 457 if ($scale > $dad)
4126 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4134 40 417 if ($scale < $zad)
4135 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4140 41 376 if ($scale == $zad) { }
4144 78 298 if ($zad != 0) { }
4148 0 298 if $dbd < 0
4161 103 53 if $scale == 0
4163 10 146 if ($scale == 1 and $dbt <= $dbd)
4164 0 0 if defined $downgrade and $x->is_int || $x->is_inf || $x->is_nan
4171 27 119 if ($scale > $dbd) { }
72 47 elsif ($scale == $dbd) { }
4173 0 27 if defined $downgrade
4194 84 0 ref $_[0] ? :
4196 0 84 if $x->modify("bfloor")
4198 5 79 if $x->is_nan
4200 70 9 if ($x->{'sign'} =~ /^[+-]$/)
4202 47 23 if ($x->{'_es'} eq "-")
4207 6 41 if $x->{'sign'} eq "-"
4211 2 77 if defined $downgrade
4217 43 0 ref $_[0] ? :
4219 0 43 if $x->modify("bceil")
4221 5 38 if $x->is_nan
4224 29 9 if ($x->{'sign'} =~ /^[+-]$/)
4225 17 12 if ($x->{'_es'} eq "-")
4229 9 8 if ($x->{'sign'} eq '+') { }
4232 4 4 if $LIB->_is_zero($x->{'_m'})
4238 2 36 if defined $downgrade
4244 179 0 ref $_[0] ? :
4246 0 179 if $x->modify("bint")
4248 5 174 if $x->is_nan
4250 165 9 if ($x->{'sign'} =~ /^[+-]$/)
4252 13 152 if ($x->{'_es'} eq "-")
4256 5 8 if $LIB->_is_zero($x->{'_m'})
4261 2 172 if defined $downgrade
4274 1 132 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
4285 133 0 defined &blessed($x) && $x->isa('Math::BigFloat') ? :
4287 28 105 unless $x->is_int
4291 0 116 unless defined &blessed($y) and $y->isa("Math::BigFloat")
4293 12 104 unless $y->is_int
4300 40 64 if $x->is_one
4304 0 93 if defined $downgrade and $x->is_int
4315 1 34 unless (@_ and defined &blessed($_[0]) && $_[0]->isa('Math::BigFloat') || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
4326 35 0 defined &blessed($x) && $x->isa('Math::BigFloat') ? :
4328 8 27 unless $x->{'sign'} =~ /^[+-]$/
4332 0 30 unless defined &blessed($y) and $y->isa("Math::BigFloat")
4334 4 26 unless $y->is_int
4341 0 23 if defined $downgrade and $x->is_int
4351 24 0 ref $_[0] ? :
4353 0 24 if @r
4355 4 20 if $LIB->_is_zero($x->{'_m'})
4358 20 0 if $x->{'_es'} eq "+"
4359 0 20 if (wantarray)
4361 0 0 if $x->{'_es'} eq "-"
4369 36 0 ref $_[0] ? :
4375 4 32 if $x->is_nan
4377 8 24 unless ($x->{'sign'} =~ /^[+-]$/)
4383 8 16 if $x->{'sign'} eq "-"
4389 36 0 ref $_[0] ? :
4395 4 32 if $x->is_nan
4397 8 24 unless ($x->{'sign'} =~ /^[+-]$/)
4407 32 0 ref $_[0] ? :
4409 0 32 if @r
4411 12 20 unless ($x->{'sign'} =~ /^[+-]$/)
4421 8 12 if $x->{'sign'} eq "-"
4430 0 0 ref $_[0] ? :
4432 0 0 if @r
4436 0 0 if ($x->is_nan)
4438 0 0 unless wantarray
4445 0 0 if ($x->is_inf)
4447 0 0 unless wantarray
4457 0 0 if defined $downgrade
4458 0 0 unless wantarray
4461 0 0 if defined $downgrade
4470 0 0 ref $_[0] ? :
4472 0 0 if @r
4476 0 0 if $x->is_nan or $x->is_inf
4482 0 0 if ($mant->bcmp(0))
4486 0 0 if ($expo10adj > 0)
4488 0 0 unless wantarray
4494 0 0 unless wantarray
4503 0 0 ref $_[0] ? :
4505 0 0 if @r
4509 0 0 if $x->is_nan or $x->is_inf
4517 0 0 unless wantarray
4527 0 0 ref $_[0] ? :
4529 0 0 if @r
4533 0 0 if ($x->is_nan)
4535 0 0 unless wantarray
4542 0 0 if ($x->is_inf)
4544 0 0 unless wantarray
4556 0 0 if ($int->{'_es'} eq '+') { }
4566 0 0 if $LIB->_is_zero($int->{'_m'})
4567 0 0 unless wantarray
4572 0 0 if defined $downgrade
4573 0 0 unless wantarray
4581 0 0 ref $_[0] ? :
4583 0 0 if @r
4587 0 0 if ($x->is_nan)
4588 0 0 unless wantarray
4594 0 0 if ($x->is_inf)
4596 0 0 unless wantarray
4605 0 0 if defined $downgrade
4611 0 0 if $rat_parts[0] eq "-"
4612 0 0 unless wantarray
4619 0 0 ref $_[0] ? :
4621 0 0 if @r
4623 0 0 if $x->is_nan
4624 0 0 if $x->is_inf
4625 0 0 if $x->is_zero
4629 0 0 if defined $downgrade
4631 0 0 if ($x->{'_es'} eq '-') { }
0 0 elsif (not $LIB->_is_zero($x->{'_e'})) { }
4653 0 0 ref $_[0] ? :
4655 0 0 if @r
4657 0 0 if $x->is_nan
4661 0 0 if defined $downgrade
4663 0 0 if ($x->{'_es'} eq '-') { }
4684 8468 12 ref $_[0] ? :
4686 0 8480 if @r
4690 2477 6003 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4691 1928 549 unless $x->{'sign'} eq "+inf"
4704 4725 1278 if ($not_zero)
4708 1602 3123 if $x->{'_es'} eq "-"
4709 1586 3139 if ($e < 0) { }
678 2461 elsif ($e > 0) { }
4712 576 1010 if ($e <= -$len) { }
4719 1010 0 if $x->{'_es'} eq "-"
4729 1013 4990 if $x->{'sign'} eq "-"
4731 694 5309 if (defined $x->{'_a'} and $not_zero) { }
502 4807 elsif (($x->{'_p'} || 0) < 0) { }
4734 694 0 if $cad != $len
4735 35 659 if $zeros > 0
4739 112 390 if $zeros > 0
4747 48 0 ref $_[0] ? :
4749 0 48 if @r
4753 9 39 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4754 2 7 unless $x->{'sign'} eq "+inf"
4760 0 39 if defined $upgrade and not $x->isa("Math::BigFloat")
4772 39 0 if ($esgn eq '+') { }
4774 0 39 if $eabs > $uintmax
4784 0 0 if 1 - $c > $intmax
4787 0 0 if $c <= 0
4791 2 37 $x->{'sign'} eq '-' ? :
4798 159 16 ref $_[0] ? :
4800 0 175 if @r
4804 28 147 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4805 16 12 unless $x->{'sign'} eq "+inf"
4811 0 147 if defined $upgrade and not $x->isa("Math::BigFloat")
4817 20 127 $x->{'sign'} eq '-' ? :
4823 483 0 ref $_[0] ? :
4825 0 483 if @r
4829 0 483 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4830 0 0 unless $x->{'sign'} eq "+inf"
4836 0 483 if defined $upgrade and not $x->isa("Math::BigFloat")
4841 8 475 $x->{'sign'} eq '-' ? :
4848 65 418 if ($mantlen == 1) { }
4874 0 0 ref $_[0] ? :
4876 0 0 if @r
4880 0 0 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4881 0 0 unless $x->{'sign'} eq "+inf"
4887 0 0 if defined $upgrade and not $x->isa("Math::BigFloat")
4892 0 0 $x->{'sign'} eq '-' ? :
4904 0 0 unless ($LIB->_is_zero($mod))
4905 0 0 if ($esgn eq '+') { }
4915 0 0 if ($dotpos < $mantlen) { }
0 0 elsif ($dotpos > $mantlen) { }
4929 0 0 ref $_[0] ? :
4931 0 0 if @r
4935 0 0 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4936 0 0 unless $x->{'sign'} eq "+inf"
4942 0 0 if defined $upgrade and not $x->isa("Math::BigFloat")
4947 0 0 $x->{'sign'} eq '-' ? :
4949 0 0 if ($x->{'_es'} eq '+') { }
4955 0 0 if $rat_parts[0] eq "-"
4963 36 0 ref $_[0] ? :
4965 0 36 if @r
4969 12 24 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
4970 8 4 unless $x->{'sign'} eq "+inf"
4976 0 24 if defined $upgrade and not $x->isa("Math::BigFloat")
4981 8 16 if $x->is_zero
4983 0 16 if $x->{'_es'} ne "+"
4986 0 16 unless ($LIB->_is_zero($x->{'_e'}))
4990 4 12 $x->{'sign'} eq '-' ? :
4995 40 0 ref $_[0] ? :
4997 0 40 if @r
5001 12 28 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
5002 8 4 unless $x->{'sign'} eq "+inf"
5008 0 28 if defined $upgrade and not $x->isa("Math::BigFloat")
5013 8 20 if $x->is_zero
5015 0 20 if $x->{'_es'} ne "+"
5018 0 20 unless ($LIB->_is_zero($x->{'_e'}))
5022 4 16 $x->{'sign'} eq '-' ? :
5027 40 0 ref $_[0] ? :
5029 0 40 if @r
5033 12 28 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
5034 8 4 unless $x->{'sign'} eq "+inf"
5040 0 28 if defined $upgrade and not $x->isa("Math::BigFloat")
5045 8 20 if $x->is_zero
5047 0 20 if $x->{'_es'} ne "+"
5050 0 20 unless ($LIB->_is_zero($x->{'_e'}))
5054 4 16 $x->{'sign'} eq '-' ? :
5058 0 0 ref $_[0] ? :
5060 0 0 if @r
5066 0 0 if ($format =~ /^binary(\d+)\z/) { }
0 0 elsif ($format =~ /^decimal(\d+)(dpd|bcd)?\z/) { }
0 0 elsif ($format eq 'half') { }
0 0 elsif ($format eq 'single') { }
0 0 elsif ($format eq 'double') { }
0 0 elsif ($format eq 'quadruple') { }
0 0 elsif ($format eq 'octuple') { }
0 0 elsif ($format eq 'sexdecuple') { }
5093 0 0 if ($b == 2)
5101 0 0 if ($k == 16) { }
0 0 elsif ($k == 32) { }
0 0 elsif ($k == 64) { }
5114 0 0 if ($k < 128 or $k != 32 * sprintf("%.0f", $k / 32))
5136 0 0 if ($x->is_nan) { }
0 0 elsif ($x->is_inf) { }
0 0 elsif ($x->is_zero) { }
5141 0 0 if $x->is_neg
5149 0 0 if $x->is_neg
5184 0 0 if ($expo_est > $emax) { }
0 0 elsif ($expo_est < $emin) { }
5196 0 0 if ($expo_est > 0) { }
0 0 elsif ($expo_est < 0) { }
5218 0 0 if ($expo > $emax) { }
0 0 elsif ($expo < $emin) { }
5246 0 0 if ($mant == $const->bmul($b))
5268 0 0 if ($mant == $const)
5295 36 0 ref $_[0] ? :
5297 0 36 if @r
5299 12 24 unless $x->{'sign'} =~ /^[+-]$/
5300 8 16 if $x->is_zero
5302 0 16 if $x->{'_es'} ne "+"
5305 0 16 unless ($LIB->_is_zero($x->{'_e'}))
5309 4 12 $x->{'sign'} eq '-' ? :
5315 40 0 ref $_[0] ? :
5317 0 40 if @r
5319 12 28 unless $x->{'sign'} =~ /^[+-]$/
5320 8 20 if $x->is_zero
5322 0 20 if $x->{'_es'} ne "+"
5325 0 20 unless ($LIB->_is_zero($x->{'_e'}))
5329 4 16 $x->{'sign'} eq '-' ? :
5335 40 0 ref $_[0] ? :
5337 0 40 if @r
5339 12 28 unless $x->{'sign'} =~ /^[+-]$/
5340 8 20 if $x->is_zero
5342 0 20 if $x->{'_es'} ne "+"
5345 0 20 unless ($LIB->_is_zero($x->{'_e'}))
5349 4 16 $x->{'sign'} eq '-' ? :
5355 483 0 ref $_[0] ? :
5357 0 483 if @r
5359 0 483 if ($x->is_nan)
5365 0 483 if ($x->is_inf)
5368 0 0 $x->is_negative ? :
5392 0 17 if ($param eq ":constant")
5406 0 0 if $_[0] =~ /^0_*[0-7]/
5414 2 15 if ($param eq "upgrade")
5421 1 14 if ($param eq "downgrade")
5428 0 14 if ($param eq "accuracy")
5435 0 14 if ($param eq "precision")
5442 0 14 if ($param eq "round_mode")
5449 11 3 if ($param =~ /^(lib|try|only)\z/)
5451 11 0 if @_
5455 3 0 if ($param eq "with")
5492 0 3 if ref $l
5493 0 3 if ref $r
5494 0 3 if ref $lg2
5495 0 3 if ref $lg10
5504 12 3 $ramanujan > $d ? :
5516 23 108 if $x->is_one
5568 108 3006 if $x->bacmp($x_prev) == 0
5614 66 102 if $x->{'_es'} eq "-"
5629 7 161 if ($x->{'_es'} eq '+' and ($LIB->_is_one($x->{'_e'}) and $LIB->_is_one($x->{'_m'}))) { }
5635 7 0 if ($scale <= $LOG_10_A)
5643 32 129 if ($LIB->_is_zero($x->{'_e'}) and $LIB->_is_two($x->{'_m'}))
5648 32 0 if ($scale <= $LOG_2_A)
5658 2 64 if ($calc != 0 and ($x->{'_es'} eq "-" and ($LIB->_is_one($x->{'_e'}) and $LIB->_is_one($x->{'_m'}))))
5665 2 0 if ($scale <= $LOG_10_A)
5672 41 127 if $calc == 0
5682 48 79 if ($dbd > 1 or $dbd < 0)
5685 10 38 unless ref $LOG_10
5692 47 1 if ($scale <= $LOG_10_A) { }
5703 0 1 unless ref $LOG_2
5704 1 0 if ($scale <= $LOG_2_A) { }
5728 41 7 if $dbd > 1
5731 7 41 if ($dbd < 0)
5744 8 119 unless ref $HALF
5758 72 55 if ($twos != 0) { }
5759 8 64 unless ref $LOG_2
5760 69 3 if ($scale <= $LOG_2_A) { }
5777 48 79 if defined $l_10
5778 72 55 if defined $l_2
5790 5 109 unless ref $HALF
5791 45 69 if $y->bcmp($HALF) == 0
5807 0 69 if $x->is_nan
5810 52 17 if (scalar @params == 0) { }
5848 32 37 if $do_invert
5862 69 3208 if $next->bacmp($limit) <= 0
5869 0 3208 unless $x->{'sign'} =~ /^[-+]$/
5872 32 37 if ($do_invert)
5878 69 0 if (defined $params[0]) { }
5883 52 17 if ($fallback)