Branch Coverage

blib/lib/Math/BigFloat.pm
Criterion Covered Total %
branch 1307 2288 57.1


line true false branch
38 0 22 $_[2] ? :
43 0 22 $_[2] ? :
46 0 0 $_[2] ? :
49 0 7 $_[2] ? :
52 0 0 $_[2] ? :
55 0 0 $_[2] ? :
82 0 671 $_[2] ? :
85 0 845 $_[2] ? :
88 0 875 $_[2] ? :
91 159 57 $_[2] ? :
101 0 0 defined $cmp && $_[2] ? :
103 0 5885 $_[2] ? :
126 0 0 $_[2] ? :
131 0 0 $_[2] ? :
136 0 0 $_[2] ? :
171 0 0 $_[2] ? :
190 0 336 $_[0]->is_zero ? :
280 0 1820 if $IMPORT == 0
289 0 1820 if ($bname ne $name and 'Math::BigFloat'->can($bname)) { }
1820 0 elsif ('Math::BigInt'->can($bname)) { }
314 1119 27868 if $class =~ /^Math::BigInt/
324 316 119 if (@_ == 1 and ref $_[0] ne "HASH")
326 2 314 if $param eq "class"
327 3 311 if $param eq "with"
337 91 24 unless (ref $self)
359 3 20368 if $IMPORT == 0
364 8 20363 unless @_
368 0 20363 unless (defined $wanted)
376 0 20363 if (not ref $wanted and $wanted eq "")
392 167 20196 if (defined builtin::blessed($wanted) and $wanted->can("as_float"))
408 8794 11402 if ($wanted =~ / ^ \s* # optional leading whitespace ( [+-]? ) # optional sign 0* # optional leading zeros ( [1-9] (?: [0-9]* [1-9] )? ) # significand \s* # optional trailing whitespace $ /x)
419 8 8786 if $dng and $dng ne $class
424 15 62 unless @r >= 2 and not defined $r[0] and not defined $r[1]
431 2605 8797 if ($wanted =~ / ^ \s* ( [+-]? ) inf (?: inity )? \s* \z /xi)
445 795 8002 if ($wanted =~ / ^ \s* ( [+-]? ) nan \s* \z /xi)
458 7172 788 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))
503 0 1088 unless @r >= 2 and not defined $r[0] and not defined $r[1]
506 0 3647 if $self->is_int or $self->is_inf or $self->is_nan
526 0 1 if $IMPORT == 0
530 0 1 if $selfref and $self->modify("from_dec")
535 1 0 if (my(@parts) = $class->_dec_str_to_flt_lib_parts($str))
539 1 0 unless ($selfref)
546 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
549 0 0 if $self->is_int or $self->is_inf or $self->is_nan
566 0 1 if $IMPORT == 0
570 0 1 if $selfref and $self->modify("from_hex")
575 1 0 if (my(@parts) = $class->_hex_str_to_flt_lib_parts($str))
579 1 0 unless ($selfref)
586 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
589 0 0 if $self->is_int or $self->is_inf or $self->is_nan
605 0 1 if $IMPORT == 0
609 0 1 if $selfref and $self->modify("from_oct")
614 1 0 if (my(@parts) = $class->_oct_str_to_flt_lib_parts($str))
618 1 0 unless ($selfref)
625 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
628 0 0 if $self->is_int or $self->is_inf or $self->is_nan
644 0 3 if $IMPORT == 0
648 0 3 if $selfref and $self->modify("from_bin")
653 3 0 if (my(@parts) = $class->_bin_str_to_flt_lib_parts($str))
657 3 0 unless ($selfref)
664 0 0 unless @r >= 2 and not defined $r[0] and not defined $r[1]
667 0 0 if $self->is_int or $self->is_inf or $self->is_nan
683 0 0 if $IMPORT == 0
687 0 0 if $selfref and $self->modify("from_bytes")
694 0 0 unless $selfref
713 0 1 if $IMPORT == 0
717 0 1 if $selfref and $self->modify("from_ieee754")
726 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') { }
753 1 0 if ($b == 2)
761 0 1 if ($k == 16) { }
1 0 elsif ($k == 32) { }
0 0 elsif ($k == 64) { }
774 0 0 if ($k < 128 or $k != 32 * sprintf("%.0f", $k / 32))
791 0 1 unless (defined $in)
799 1 0 if (8 * $len == $k) { }
0 0 elsif (4 * $len == $k) { }
0 0 elsif ($len == $k) { }
802 0 0 if ($in =~ /([^\da-f])/i)
807 0 0 if ($in =~ /([^01])/)
816 0 1 substr($in, 0, 1) eq '1' ? :
824 0 1 if ($expo < $emin) { }
0 1 elsif ($expo > $emax) { }
825 0 0 if ($mant == 0) { }
831 0 0 if $sign eq "-"
836 0 0 if ($mant == 0) { }
845 1 0 if ($expo < $t) { }
853 0 1 if $sign eq "-"
856 0 1 if ($selfref) { }
866 0 0 if $self->is_int or $self->is_inf or $self->is_nan
882 0 0 if $IMPORT == 0
886 0 0 if $selfref and $self->modify("from_fp80")
893 0 0 unless (defined $in)
912 0 0 if (8 * $len == 80) { }
0 0 elsif (4 * $len == 80) { }
0 0 elsif ($len == 80) { }
915 0 0 if ($in =~ /([^\da-f])/i)
920 0 0 if ($in =~ /([^01])/)
929 0 0 substr($in, 0, 1) eq '1' ? :
939 0 0 if ($expo < $emin) { }
0 0 elsif ($expo > $emax) { }
940 0 0 if ($mant == 0) { }
946 0 0 if $sign eq "-"
957 0 0 if (substr($in, 16) =~ /^[01]0+$/) { }
971 0 0 if ($expo < 0) { }
0 0 elsif ($expo > 0) { }
980 0 0 if $sign eq "-"
983 0 0 if ($selfref) { }
993 0 0 if $self->is_int or $self->is_inf or $self->is_nan
1006 0 0 if $IMPORT == 0
1010 0 0 if $selfref and $self->modify("from_base")
1014 0 0 unless ref $base
1016 0 0 if $base < 2 or not $base->is_int
1021 0 0 unless $selfref
1026 0 0 unless (defined $cs)
1027 0 0 if $base == 2
1028 0 0 if $base == 8
1029 0 0 if $base == 16
1030 0 0 if $base == 10
1033 0 0 unless $LIB->can("_from_base")
1038 0 0 defined $cs ? :
1053 0 599 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1067 0 599 if $IMPORT == 0
1071 0 599 if $selfref and $self->modify("bzero")
1074 1 598 if ($dng and $dng ne $class)
1075 0 1 if $selfref
1085 104 494 unless $selfref
1098 78 520 if (@r) { }
1099 0 29 if (@r >= 2 and defined $r[0] and defined $r[1])
1106 98 422 unless ($selfref)
1119 0 1720 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1133 0 1720 if $IMPORT == 0
1137 0 1720 if $selfref and $self->modify("bone")
1140 1 1719 if ($dng and $dng ne $class)
1141 0 1 if $selfref
1148 170 1549 if (defined $_[0] and $_[0] =~ /^\s*([+-])\s*$/)
1159 1135 584 unless $selfref
1172 29 1690 if (@r) { }
1173 0 15 if (@r >= 2 and defined $r[0] and defined $r[1])
1180 1129 561 unless ($selfref)
1193 0 3027 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1207 16 3011 if (${"${class}::_trap_inf";})
1214 0 3011 if $IMPORT == 0
1218 0 3011 if $selfref and $self->modify("binf")
1223 2927 84 if (defined $_[0] and $_[0] =~ /^\s*([+-])(inf|$)/i)
1235 10 3001 if ($dng and $dng ne $class)
1236 8 2 if $selfref
1242 2622 379 unless $selfref
1255 919 2082 if (@r) { }
1256 0 907 if (@r >= 2 and defined $r[0] and defined $r[1])
1263 1755 327 unless ($selfref)
1276 0 2751 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1290 7 2744 if (${"${class}::_trap_nan";})
1297 0 2744 if $IMPORT == 0
1301 0 2744 if $selfref and $self->modify("bnan")
1304 11 2733 if ($dng and $dng ne $class)
1305 9 2 if $selfref
1315 1684 1049 unless $selfref
1328 752 1981 if (@r) { }
1329 0 730 if (@r >= 2 and defined $r[0] and defined $r[1])
1336 1028 953 unless ($selfref)
1348 1 256 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i)
1381 0 257 if $IMPORT == 0
1383 83 174 if ($selfref) { }
1384 0 83 if $self->modify("bpi")
1394 0 14 defined $r[1] ? :
243 14 defined $r[0] ? :
1398 243 14 defined $r[2] ? :
1402 257 0 if ($n <= 1000) { }
1441 0 257 if ($rmode eq 'trunc') { }
1445 98 159 $next_digit lt '5' ? :
1456 159 98 if ($round_up)
1458 140 19 if ($last_digit lt '9') { }
1468 257 0 CORE::length $digits > 1 ? :
1483 0 0 unless ref $HALF
1502 243 14 if (defined $r[0]) { }
0 14 elsif (defined $r[1]) { }
1508 0 257 if $pi->is_int or $pi->is_inf or $pi->is_nan
1519 22644 0 if (ref $_[0]) { }
1527 0 22644 if @_
1536 17708 4936 if exists $x->{'accuracy'}
1537 17666 4978 if exists $x->{'precision'}
1543 781 0 ref $_[0] ? :
1553 0 781 if ($x->isa('Math::BigInt')) { }
1556 12 769 if ($x->is_inf) { }
4 765 elsif ($x->is_nan) { }
1580 2655 0 ref $_[0] ? :
1591 0 2655 if ($x->isa('Math::BigRat')) { }
1595 867 1788 if ($x->is_inf) { }
654 1134 elsif ($x->is_nan) { }
1619 46 0 ref $_[0] ? :
1630 46 0 if ($x->isa('Math::BigFloat')) { }
1633 0 0 if ($x->is_inf) { }
0 0 elsif ($x->is_nan) { }
1638 0 0 if ($x->isa('Math::BigRat')) { }
1639 0 0 if ($x->is_int) { }
1672 110980 4 ref $_[0] ? :
1674 8705 102279 if $x->{'sign'} ne "+"
1675 1852 100427 if $LIB->_is_zero($x->{'_m'})
1681 3051 4 ref $_[0] ? :
1683 1274 1781 if (defined $sign) { }
1684 0 1274 unless $sign eq "+" or $sign eq "-"
1690 810 2245 if $x->{'sign'} ne $sign
1691 305 1940 $LIB->_is_zero($x->{'_e'}) && $LIB->_is_one($x->{'_m'}) ? :
1696 108 0 ref $_[0] ? :
1698 16 92 unless $x->is_finite
1699 44 48 $LIB->_is_zero($x->{'_e'}) && $LIB->_is_odd($x->{'_m'}) ? :
1704 72 0 ref $_[0] ? :
1706 12 60 unless $x->is_finite
1708 24 36 $x->{'_es'} eq '+' && $LIB->_is_even($x->{'_m'}) ? :
1713 157351 0 ref $_[0] ? :
1715 113 157238 unless $x->is_finite
1716 42572 114666 $x->{'_es'} eq '+' ? :
1727 3884 153 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1731 0 4037 if @r
1735 58 3979 if $x->is_nan or $y->is_nan
1739 8 3971 if $x->is_inf("+") and $y->is_inf("+") or $x->is_inf("-") and $y->is_inf("-")
1741 56 3915 if $x->is_inf("+")
1742 60 3855 if $x->is_inf("-")
1743 0 3855 if $y->is_inf("+")
1744 0 3855 if $y->is_inf("-")
1748 452 3403 if $x->{'sign'} eq "+" and $y->{'sign'} eq "-"
1749 306 3097 if $x->{'sign'} eq "-" and $y->{'sign'} eq "+"
1755 134 2963 if $xz and $yz
1756 120 2843 if $xz and $y->{'sign'} eq "+"
1757 588 2255 if $yz and $x->{'sign'} eq "+"
1774 1475 780 if ($mxl == $myl)
1778 0 1475 if ($x->{'_es'} eq '+' and $y->{'_es'} eq '-') { }
20 1455 elsif ($x->{'_es'} eq '-' and $y->{'_es'} eq '+') { }
1788 106 1349 if $x->{'_es'} eq "-"
1794 136 1339 if $x->{'sign'} eq "-"
1795 76 1399 if $cmp
1808 1400 779 if ($x->{'_es'} eq '+') { }
1813 1367 33 if ($y->{'_es'} eq '+') { }
1832 49 730 if ($y->{'_es'} eq '+') { }
1856 144 2035 if $x->{'sign'} eq "-"
1857 650 1529 if $cmp
1866 49 1480 if ($mxl > $myl) { }
81 1399 elsif ($mxl < $myl) { }
1873 136 1393 if $x->{'sign'} eq "-"
1883 9028 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
1887 0 9028 if @r
1890 92 8936 unless ($x->{'sign'} =~ /^[+-]$/ and $y->{'sign'} =~ /^[+-]$/)
1891 28 64 if $x->is_nan or $y->is_nan
1892 16 48 if $x->is_inf and $y->is_inf
1893 32 16 if $x->is_inf and not $y->is_inf
1900 4 8932 if $xz and $yz
1901 40 8892 if $xz and not $yz
1902 40 8852 if $yz and not $xz
1908 8219 633 if $x->{'_es'} ne "+"
1909 8033 819 if $y->{'_es'} ne "+"
1914 4819 4033 if $l != 0
1921 597 3436 if ($diff > 0) { }
309 3127 elsif ($diff < 0) { }
1938 1952 0 ref $_[0] ? :
1942 0 1952 if $x->modify("bneg")
1946 1915 37 unless $x->{'sign'} eq "+" and $LIB->_is_zero($x->{'_m'})
1949 38 744 if $x->is_int or $x->is_inf or $x->is_nan
1960 78586 0 ref $_[0] ? :
1962 0 78586 if @r
1965 2 78584 unless ($x->{'sign'} =~ /^[+-]$/)
1972 33451 45133 if ($zeros != 0) { }
1975 31708 1743 if ($x->{'_es'} eq '-') { }
1976 31350 358 if ($LIB->_acmp($x->{'_e'}, $z) >= 0) { }
1978 355 30995 if $LIB->_is_zero($x->{'_e'})
1989 423 44710 if ($LIB->_is_zero($x->{'_m'}))
1998 17541 61043 if $x->is_int
2004 5045 0 ref $_[0] ? :
2008 0 5045 if $x->modify("binc")
2012 14 5031 if ($x->is_inf or $x->is_nan)
2020 468 4563 if ($x->{'_es'} eq "-")
2028 404 4159 unless ($LIB->_is_zero($x->{'_e'}))
2037 4547 16 if ($x->{'sign'} eq '+') { }
16 0 elsif ($x->{'sign'} eq '-') { }
2042 4 12 if $LIB->_is_zero($x->{'_m'})
2046 0 0 if $x->is_int or $x->is_inf or $x->is_nan
2054 174 0 ref $_[0] ? :
2058 0 174 if $x->modify("bdec")
2062 14 160 if ($x->is_inf or $x->is_nan)
2070 120 40 if ($x->{'_es'} eq "-")
2078 8 32 unless ($LIB->_is_zero($x->{'_e'}))
2086 21 19 if ($x->{'sign'} eq '-' or $zero) { }
19 0 elsif ($x->{'sign'} eq '+') { }
2088 5 16 if $zero
2089 0 21 if $LIB->_is_zero($x->{'_m'})
2098 0 0 if $x->is_int or $x->is_inf or $x->is_nan
2106 14064 65 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2112 0 14129 if $x->modify("badd")
2114 120 14009 unless ($x->is_finite and $y->is_finite)
2116 58 62 if $x->is_nan or $y->is_nan
2118 6 17 $y->is_inf('-') ? :
6 16 $y->is_inf('+') ? :
9 8 $y->is_inf('+') ? :
22 17 $x->is_inf('-') ? :
23 39 $x->is_inf('+') ? :
2126 1 14008 if $class->upgrade
2131 56 13952 if ($y->is_zero) { }
104 13848 elsif ($x->is_zero) { }
2150 0 13848 unless defined $e
2159 8035 5813 if ($es eq '-') { }
821 4992 elsif (not $LIB->_is_zero($e)) { }
2168 12078 1770 if ($x->{'sign'} eq $y->{'sign'}) { }
2179 6 8945 if $x->is_int or $x->is_inf or $x->is_nan
2187 1495 33 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2193 0 1528 if $x->modify("bsub")
2197 120 1408 unless ($x->is_finite and $y->is_finite)
2199 58 62 if $x->is_nan or $y->is_nan
2201 10 13 $y->is_inf('+') ? :
10 12 $y->is_inf('-') ? :
9 8 $y->is_inf('+') ? :
22 17 $x->is_inf('-') ? :
23 39 $x->is_inf('+') ? :
2217 20304 412 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2223 0 20716 if $x->modify("bmul")
2225 53 20663 if $x->is_nan or $y->is_nan
2228 85 20578 if ($x->{'sign'} =~ /^[+-]inf$/ or $y->{'sign'} =~ /^[+-]inf$/)
2229 12 73 if $x->is_zero or $y->is_zero
2233 23 50 if $x->{'sign'} =~ /^\+/ and $y->{'sign'} =~ /^\+/
2234 14 36 if $x->{'sign'} =~ /^-/ and $y->{'sign'} =~ /^-/
2238 1 20577 if $class->upgrade
2248 880 19697 $x->{'sign'} ne $y->{'sign'} ? :
2251 3 14716 if $x->is_int or $x->is_inf or $x->is_nan
2268 9488 151 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2278 0 9639 if $x->modify("bfdiv")
2286 68 9571 if ($x->is_nan or $y->is_nan)
2287 24 44 $wantarray ? :
2295 52 9519 if ($y->is_zero)
2297 16 36 if ($wantarray)
2299 12 4 if $rem->is_int
2301 18 34 if ($x->is_zero) { }
2306 16 32 $wantarray ? :
2313 40 9479 if ($x->is_inf)
2315 16 24 if $wantarray
2316 16 24 if ($y->is_inf) { }
2319 12 12 $x->bcmp(0) == $y->bcmp(0) ? :
2322 16 24 $wantarray ? :
2332 40 9439 if ($y->is_inf)
2334 16 24 if ($wantarray) { }
2335 12 4 if ($x->is_zero or $x->bcmp(0) == $y->bcmp(0)) { }
2337 12 0 if $rem->is_int
2346 16 24 $wantarray ? :
2357 0 9439 if ($x->is_nan)
2359 0 0 $wantarray ? :
2363 594 8845 if (scalar @params == 0) { }
2381 47 9392 if $wantarray
2383 0 9439 unless $y->isa("Math::BigFloat")
2387 71 9368 if $lx > $scale
2388 617 8822 if $ly > $scale
2390 3039 6400 if $diff > 0
2402 8 9431 if ($same) { }
2407 47 9384 if $wantarray
2409 896 8535 $x->{'sign'} ne $y->{'sign'} ? :
2413 0 9431 unless $y->isa("Math::BigFloat")
2432 9406 33 if (defined $params[0]) { }
2439 594 8845 if ($fallback)
2449 47 9392 if ($wantarray)
2452 47 0 if ($fallback)
2457 47 0 if $x->is_int
2458 28 19 if $rem->is_int
2462 290 9102 if $x->is_int
2471 804 9 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2477 0 813 if $x->modify("bfmod")
2482 36 777 if $x->is_nan or $y->is_nan
2486 40 737 if ($y->is_zero)
2493 48 689 if ($x->is_inf)
2500 40 649 if ($y->is_inf)
2501 28 12 if ($x->is_zero or $x->bcmp(0) == $y->bcmp(0)) { }
2513 112 446 if $x->is_zero or $x->is_int and ($LIB->_is_zero($y->{'_e'}) and $LIB->_is_one($y->{'_m'}))
2519 24 513 if ($cmp == 0)
2529 176 337 if ($ecmp > 0) { }
79 258 elsif ($ecmp < 0) { }
2577 100 413 if ($LIB->_is_zero($x->{'_m'})) { }
2582 57 356 if $x->{'sign'} ne $y->{'sign'}
2588 423 90 if $x->is_int
2600 0 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2610 0 0 if $x->modify("btdiv")
2617 0 0 if ($x->is_nan or $y->is_nan)
2618 0 0 $wantarray ? :
2639 0 0 if ($y->is_zero)
2641 0 0 if ($wantarray)
2644 0 0 if ($x->is_zero) { }
2649 0 0 $wantarray ? :
2666 0 0 if ($x->is_inf)
2668 0 0 if $wantarray
2669 0 0 if ($y->is_inf) { }
2672 0 0 $x->bcmp(0) == $y->bcmp(0) ? :
2675 0 0 $wantarray ? :
2691 0 0 if ($y->is_inf)
2693 0 0 if ($wantarray)
2695 0 0 if $rem->is_int
2698 0 0 $wantarray ? :
2709 0 0 if ($x->is_nan)
2711 0 0 $wantarray ? :
2715 0 0 if (scalar @params == 0) { }
2733 0 0 if $wantarray
2735 0 0 unless $y->isa("Math::BigFloat")
2739 0 0 if $lx > $scale
2740 0 0 if $ly > $scale
2742 0 0 if $diff > 0
2754 0 0 if ($same) { }
2759 0 0 if $wantarray
2761 0 0 $x->{'sign'} ne $y->{'sign'} ? :
2765 0 0 unless $y->isa("Math::BigFloat")
2784 0 0 if (defined $params[0]) { }
2791 0 0 if ($fallback)
2801 0 0 if ($wantarray)
2805 0 0 if ($fallback)
2810 0 0 if $x->is_int
2811 0 0 if $rem->is_int
2815 0 0 if $x->is_int
2824 0 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
2830 0 0 if $x->modify("btmod")
2835 0 0 if $x->is_nan or $y->is_nan
2839 0 0 if ($y->is_zero)
2846 0 0 if ($x->is_inf)
2853 0 0 if ($y->is_inf)
2862 0 0 if $x->is_zero or $x->is_int and ($LIB->_is_zero($y->{'_e'}) and $LIB->_is_one($y->{'_m'}))
2868 0 0 if ($cmp == 0)
2876 0 0 if ($ecmp > 0) { }
0 0 elsif ($ecmp < 0) { }
2924 0 0 if $LIB->_is_zero($x->{'_m'})
2928 0 0 if $x->is_int
2933 0 0 ref $_[0] ? :
2937 0 0 if $x->modify("binv")
2953 0 0 if $x->is_int or $x->is_inf or $x->is_nan
2961 445 0 ref $_[0] ? :
2965 0 445 if $x->modify("bsqrt")
2969 8 437 if $x->is_nan
2970 4 433 if $x->is_inf("+")
2971 8 425 if $x->is_zero or $x->is_one
2975 20 405 if ($x->is_neg)
2976 0 20 if $class->upgrade
2986 0 405 if $x->is_nan
2989 125 280 if (scalar @params == 0) { }
3007 304 101 if $l % 2 xor $LIB->_is_odd($x->{'_e'})
3008 2 403 $n < 0 ? :
3012 403 2 $ns eq '+' ? :
3027 383 22 if (defined $params[0]) { }
3033 125 280 if ($fallback)
3040 72 333 if $x->is_int
3052 98 979 if (not ref $_[0] or ref $_[0] ne ref $_[1])
3058 0 1077 if $x->modify("bpow")
3061 116 961 if $x->is_nan or $y->is_nan
3064 60 901 if ($x->is_inf('-')) { }
60 841 elsif ($x->is_inf('+')) { }
44 797 elsif ($y->is_inf('-')) { }
44 753 elsif ($y->is_inf('+')) { }
3065 28 32 if $y->is_negative
3066 4 28 if $y->is_zero
3067 8 20 if $y->is_odd
3070 28 32 if $y->is_negative
3071 4 28 if $y->is_zero
3074 4 40 if $x->is_one("-")
3075 12 28 if $x > -1 and $x < 1
3076 4 24 if $x->is_one("+")
3079 4 40 if $x->is_one("-")
3080 12 28 if $x > -1 and $x < 1
3081 4 24 if $x->is_one("+")
3085 48 705 if ($x->is_zero)
3086 4 44 if $y->is_zero
3087 20 24 if $y->is_negative
3093 80 625 if ($x->is_negative and not $y->is_int)
3094 0 80 if $class->upgrade
3098 148 477 if ($x->is_one("+") or $y->is_one)
3102 24 453 if ($x->is_one("-"))
3103 12 12 if $y->is_odd
3107 115 338 unless $y->is_int
3113 54 54 $LIB->_is_odd($y1) ? :
108 230 if $x->{'sign'} ne "+"
3124 107 231 if ($y->{'sign'} eq "-")
3134 3 69 if $x->is_int or $x->is_inf or $x->is_nan
3144 183 10 ref $_[0] && ref $_[0] eq ref $_[1] ? :
3150 0 193 if $x->modify("broot")
3154 36 157 if $x->is_nan or $y->is_nan
3156 44 113 if ($x->is_neg)
3158 4 28 if $x->is_int and $y->is_int and $y->is_neg and $y->is_odd
3161 0 40 if $class->upgrade
3167 24 89 if not $x->{'sign'} =~ /^\+/ or $y->is_zero or not $y->{'sign'} =~ /^\+$/
3170 8 73 if $x->is_zero or $x->is_one or $x->is_inf or $y->is_one
3178 0 73 if $x->is_nan
3181 73 0 if (scalar @params == 0) { }
3218 0 73 if $x->{'sign'} eq "-"
3222 73 0 if ($y->isa('Math::BigFloat')) { }
3231 49 24 if ($is_two) { }
0 24 elsif ($y->is_one('-')) { }
3254 23 1 if ($y->is_int and $x->is_int)
3256 0 23 unless $LIB->_is_zero($x->{'_e'})
3261 17 6 if ($int->copy->bpow($y->as_int) == $x->as_int)
3271 7 17 if ($done == 0)
3281 0 73 if $sign == 1
3284 73 0 if (defined $params[0]) { }
3289 73 0 if ($fallback)
3298 0 73 if (defined $ab) { }
3308 0 38 if $x->is_int or $x->is_inf or $x->is_nan
3318 246 1 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
3325 0 247 if $x->modify("bmuladd")
3329 16 214 if $x->is_nan or $y->is_nan or $z->is_nan
3335 8 206 if ($x->is_inf('-')) { }
10 196 elsif ($x->{'sign'} eq '+inf') { }
40 156 elsif ($x->is_neg) { }
17 139 elsif ($x->is_zero) { }
139 0 elsif ($x->is_pos) { }
3337 4 4 if ($y->is_neg) { }
0 4 elsif ($y->is_zero) { }
3338 0 4 if ($z->is_inf('-')) { }
3346 0 4 if ($z->{'sign'} eq '+inf') { }
3355 4 6 if ($y->is_neg) { }
0 6 elsif ($y->is_zero) { }
3356 0 4 if ($z->{'sign'} eq '+inf') { }
3364 0 6 if ($z->is_inf('-')) { }
3373 0 40 if ($y->is_inf('-')) { }
0 40 elsif ($y->{'sign'} eq '+inf') { }
3374 0 0 if ($z->is_inf('-')) { }
3380 0 0 if ($z->{'sign'} eq '+inf') { }
3386 0 40 if ($z->is_inf('-')) { }
0 40 elsif ($z->{'sign'} eq '+inf') { }
3395 0 17 if ($y->is_inf('-')) { }
0 17 elsif ($y->{'sign'} eq '+inf') { }
3400 0 17 if ($z->is_inf('-')) { }
0 17 elsif ($z->{'sign'} eq '+inf') { }
3409 0 139 if ($y->is_inf('-')) { }
0 139 elsif ($y->{'sign'} eq '+inf') { }
3410 0 0 if ($z->{'sign'} eq '+inf') { }
3416 0 0 if ($z->is_inf('-')) { }
3422 0 139 if ($z->is_inf('-')) { }
1 138 elsif ($z->{'sign'} eq '+inf') { }
3435 0 195 if refaddr($y) eq refaddr($x)
3436 0 195 if refaddr($z) eq refaddr($x)
3446 44 151 $x->{'sign'} ne $y->{'sign'} ? :
3450 0 195 unless defined $e
3459 4 191 if ($es eq '-') { }
9 182 elsif (not $LIB->_is_zero($e)) { }
3469 151 44 if ($x->{'sign'} eq $z->{'sign'}) { }
3480 0 8 if $x->is_int or $x->is_inf or $x->is_nan
3490 20 0 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
3497 0 20 if $num->modify("bmodpow")
3499 0 20 if $mod->is_nan or $exp->is_nan or $mod->is_nan
3503 0 20 if $mod->{'sign'} ne "+" or $mod->is_zero
3506 0 20 if ($exp->{'sign'} =~ /\w/)
3511 0 20 if $exp->{'sign'} eq "-"
3514 0 20 unless $num->{'sign'} =~ /^[+-]$/
3522 0 4 if $num->is_int or $num->is_inf or $num->is_nan
3539 1 262 if (not ref $_[0] and $_[0] =~ /^[A-Za-z]|::/) { }
3541 1 0 defined $_[2] ? :
3545 43 219 defined $_[1] ? :
3551 0 263 if $x->modify("blog")
3556 4 259 if $x->is_nan
3558 44 215 if (defined $base)
3559 0 44 unless defined builtin::blessed($base) and $base->isa(__PACKAGE__)
3561 8 36 if ($base->is_nan or $base->is_one) { }
4 32 elsif ($base->is_inf or $base->is_zero) { }
4 28 elsif ($base->is_negative) { }
3564 0 4 if $x->is_inf or $x->is_zero
3567 0 4 if $x->is_one
3568 0 4 if $x == $base
3570 0 4 if $class->upgrade
3573 11 17 if $x == $base
3576 8 224 if ($x->is_inf) { }
16 208 elsif ($x->is_neg) { }
16 192 elsif ($x->is_one) { }
8 184 elsif ($x->is_zero) { }
3577 0 8 defined $base && $base < 1 ? :
3580 0 16 if $class->upgrade
3585 0 8 defined $base && $base < 1 ? :
3595 97 87 if (scalar @params == 0) { }
3636 11 2 if (defined $base and $base->is_int and $x->is_int)
3640 10 1 if ($exact)
3652 174 10 unless ($done)
3654 3 171 if (defined $base)
3663 184 0 if (defined $params[0]) { }
3668 97 87 if ($fallback)
3677 0 184 if (defined $ab) { }
3687 15 169 if $x->is_int
3693 11 9 ref $_[0] ? :
3697 0 20 if $x->modify("bexp")
3699 0 20 if $x->is_nan
3700 0 20 if $x->is_inf("+")
3701 0 20 if $x->is_inf("-")
3710 0 20 if $x->is_nan
3712 0 20 if $x->is_zero
3716 11 9 if (not @params) { }
3723 9 0 if (defined $params[0]) { }
3744 0 20 unless ($x->isa("Math::BigFloat"))
3821 17 3 if ($scale <= 75) { }
3869 10 10 if ($x_orig->is_one) { }
3878 10 0 if (defined $params[0]) { }
3928 10 0 if ($expo_est > 0) { }
0 0 elsif ($expo_est < 0) { }
3950 0 10 if $rescale < 4
3954 2 8 if $x_orig->is_negative
3961 0 10 if $pow2->copy->babs->bcmp("1073741824") >= 0
3974 11 9 if ($fallback)
3983 0 20 if (defined $ab) { }
3996 0 20 if $x->is_int
4001 0 0 ref $_[0] ? :
4005 0 0 if $x->modify("bilog2")
4007 0 0 if $x->is_nan
4008 0 0 if $x->is_inf("+")
4009 0 0 if $x->is_zero
4011 0 0 if ($x->is_neg)
4012 0 0 if $class->upgrade
4016 0 0 if ($x->{'_es'} eq '-') { }
0 0 elsif (not $LIB->_is_zero($x->{'_e'})) { }
4030 0 0 ref $_[0] ? :
4034 0 0 if $x->modify("bilog10")
4036 0 0 if $x->is_nan
4037 0 0 if $x->is_inf("+")
4038 0 0 if $x->is_zero
4040 0 0 if ($x->is_neg)
4041 0 0 if $class->upgrade
4045 0 0 if ($x->{'_es'} eq '-') { }
0 0 elsif (not $LIB->_is_zero($x->{'_e'})) { }
4059 0 0 ref $_[0] ? :
4063 0 0 if $x->modify("bclog2")
4065 0 0 if $x->is_nan
4066 0 0 if $x->is_inf("+")
4067 0 0 if $x->is_zero
4069 0 0 if ($x->is_neg)
4070 0 0 if $class->upgrade
4074 0 0 if ($x->{'_es'} eq '-') { }
0 0 elsif (not $LIB->_is_zero($x->{'_e'})) { }
4088 0 0 ref $_[0] ? :
4092 0 0 if $x->modify("bclog10")
4094 0 0 if $x->is_nan
4095 0 0 if $x->is_inf("+")
4096 0 0 if $x->is_zero
4098 0 0 if ($x->is_neg)
4099 0 0 if $class->upgrade
4103 0 0 if ($x->{'_es'} eq '-') { }
0 0 elsif (not $LIB->_is_zero($x->{'_e'})) { }
4119 60 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
4123 0 60 if @r
4127 0 60 if $x->modify("bnok")
4129 12 48 if $x->is_nan or $y->is_nan
4130 0 48 if $x->is_finite and not $x->is_int or $y->is_finite and not $y->is_int
4154 0 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
4158 0 0 if @r
4162 0 0 if $x->modify("bperm")
4164 0 0 if $x->is_nan or $y->is_nan
4165 0 0 if $x->is_finite and not $x->is_int or $y->is_finite and not $y->is_int
4188 40 0 ref $_[0] ? :
4200 0 40 if $x->modify("bsin")
4202 8 32 if $x->is_zero
4203 12 20 if $x->is_nan or $x->is_inf
4213 0 20 if $x->is_nan
4217 0 20 if (not @params) { }
4224 20 0 if (defined $params[0]) { }
4237 0 20 if $x >= 10
4238 0 20 if $scale < 4
4277 0 52 $x < 0 ? :
4288 12 40 if ($x->bcmp($pi) > 0)
4296 12 40 if ($x->bcmp($halfpi) > 0)
4318 52 452 if $term->copy->babs->bcmp($tol) < 0
4321 12 40 if $xsgn < 0
4333 32 20 if (defined $sin_prev)
4334 20 12 if $sin->bcmp($sin_prev) == 0
4348 0 20 if ($fallback)
4357 0 20 if (defined $ab) { }
4367 0 20 if $x->is_int
4373 36 0 ref $_[0] ? :
4381 0 36 if $x->modify("bcos")
4389 4 32 if $x->is_nan
4390 8 24 if $x->is_inf
4391 8 16 if $x->is_zero
4394 0 16 if (scalar @params == 0) { }
4446 16 140 if $next->bacmp($limit) <= 0
4448 68 72 if ($sign == 0) { }
4463 16 0 if (defined $params[0]) { }
4468 0 16 if ($fallback)
4477 0 16 if (defined $ab) { }
4487 0 16 if $x->is_int
4493 175 0 ref $_[0] ? :
4501 0 175 if $x->modify("batan")
4503 4 171 if $x->is_nan
4513 0 171 if $x->is_nan
4515 16 155 if ($x->{'sign'} =~ /^[+-]inf\z/)
4530 26 129 if $x->is_zero
4533 0 129 if (scalar @params == 0) { }
4548 27 102 if ($LIB->_is_one($x->{'_m'}) and $LIB->_is_zero($x->{'_e'}))
4583 40 62 if ($x->bacmp($x->copy->bone) >= 0)
4617 102 888 if $next->bacmp($limit) <= 0
4619 416 472 if ($sign == 0) { }
4631 40 62 if (defined $pi)
4642 102 0 if (defined $params[0]) { }
4647 0 102 if ($fallback)
4656 0 102 if (defined $ab) { }
4665 0 102 if $x->is_int or $x->is_inf
4674 213 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
4680 0 213 if $y->modify("batan2")
4683 12 201 if $x->is_nan or $y->is_nan
4691 0 201 if $y->is_nan
4694 45 156 if (scalar @params == 0) { }
4707 20 181 if ($x->is_inf('+')) { }
20 161 elsif ($x->is_inf('-')) { }
87 74 elsif ($x > 0) { }
20 54 elsif ($x < 0) { }
4708 4 16 if ($y->is_inf('+')) { }
4 12 elsif ($y->is_inf('-')) { }
4716 4 16 if ($y->is_inf('+')) { }
4 12 elsif ($y->is_inf('-')) { }
8 4 elsif ($y >= 0) { }
4726 4 83 if ($y->is_inf('+')) { }
4 79 elsif ($y->is_inf('-')) { }
4735 12 8 if ($y >= 0) { }
4743 25 29 if ($y > 0) { }
22 7 elsif ($y < 0) { }
4754 42 140 if ($fallback)
4767 80 0 ref $_[0] ? :
4771 0 80 if $x->modify("bfac")
4773 8 72 if $x->is_nan or $x->is_inf("-")
4774 4 68 if $x->is_inf("+")
4775 4 64 if $x->is_neg or not $x->is_int
4776 8 56 if $x->is_zero or $x->is_one
4778 0 56 if ($x->is_neg or not $x->is_int)
4779 0 0 if $class->upgrade
4783 8 48 unless ($LIB->_is_zero($x->{'_e'}))
4798 72 0 ref $_[0] ? :
4802 0 72 if $x->modify("bdfac")
4804 8 64 if $x->is_nan or $x->is_inf("-")
4805 4 60 if $x->is_inf("+")
4806 4 56 if $x <= -2 or not $x->is_int
4807 12 44 if $x <= 1
4809 0 44 unless $LIB->can("_dfac")
4812 4 40 unless ($LIB->_is_zero($x->{'_e'}))
4829 76 0 ref $_[0] ? :
4833 0 76 if $x->modify("btfac")
4835 8 68 if $x->is_nan or $x->is_inf("-")
4836 4 64 if $x->is_inf("+")
4838 4 60 if ($x <= -3 or not $x->is_int)
4839 0 4 if $class->upgrade
4844 0 60 if $x <= -$k
4847 16 44 if $x <= $one
4860 364 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
4866 0 364 if $x->modify("bmfac")
4868 36 308 if $x->is_nan or $x->is_inf("-") or not $k->is_pos
4870 20 288 if $x->is_inf("+")
4871 4 284 if $k->is_inf("+")
4872 4 280 unless $x->is_int and $k->is_int
4873 20 260 if $k < 1 or $x <= -$k
4876 80 180 if $x <= $one
4890 0 0 ref $_[0] ? :
4892 0 0 unless $LIB->can("_fib")
4897 0 0 if $x->modify("bfib")
4901 0 0 if (wantarray) { }
4902 0 0 if $x->is_inf
4905 0 0 if $x->is_nan or not $x->is_int
4917 0 0 if $n == 0
4922 0 0 if $n == 1
4932 0 0 if ($x->is_neg)
4958 0 0 if $x->is_inf("+")
4959 0 0 if $x->is_nan or $x->is_inf("-")
4961 0 0 if ($x->is_int)
4963 0 0 $x->is_neg && $x->is_even ? :
4976 0 0 ref $_[0] ? :
4978 0 0 unless $LIB->can("_lucas")
4983 0 0 if $x->modify("blucas")
4987 0 0 if (wantarray) { }
4988 0 0 if $x->is_inf
4991 0 0 if $x->is_nan or not $x->is_int
5003 0 0 if $n == 0
5008 0 0 if $n == 1
5018 0 0 if ($x->is_neg)
5044 0 0 if $x->is_inf("+")
5045 0 0 if $x->is_nan or $x->is_inf("-")
5047 0 0 if ($x->is_int)
5049 0 0 $x->is_neg && $x->is_even ? :
5064 0 33 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
5071 0 33 if $x->modify("blsft")
5073 4 29 if $x->is_nan or $y->is_nan
5075 29 0 unless defined $b
5076 29 0 unless defined builtin::blessed($b) and $b->isa(__PACKAGE__)
5078 0 29 if $b->is_nan
5083 0 29 if $y->{'sign'} =~ /^-/
5088 0 0 if $x->is_int or $x->is_inf or $x->is_nan
5098 0 64 ref $_[0] && ref $_[0] eq ref $_[1] && ref $_[1] eq ref $_[2] ? :
5105 0 64 if $x->modify("brsft")
5107 4 60 if $x->is_nan or $y->is_nan
5111 33 27 unless defined $b
5112 60 0 unless defined builtin::blessed($b) and $b->isa(__PACKAGE__)
5114 0 60 if $b->is_nan
5117 0 60 if $y->{'sign'} =~ /^-/
5123 0 29 if $x->is_int or $x->is_inf or $x->is_nan
5139 8 0 ref $_[0] ? :
5143 0 8 if ref $x and $x->modify("bblsft")
5165 8 0 if (defined builtin::blessed($x) and $x->isa(__PACKAGE__)) { }
5187 8 0 ref $_[0] ? :
5191 0 8 if ref $x and $x->modify("bbrsft")
5213 8 0 if (defined builtin::blessed($x) and $x->isa(__PACKAGE__)) { }
5230 1 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
5236 0 1 if $x->modify("band")
5240 0 1 if $x->is_nan or $x->is_inf or $y->is_nan or $y->is_inf
5262 1 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
5268 0 1 if $x->modify("bior")
5272 0 1 if $x->is_nan or $x->is_inf or $y->is_nan or $y->is_inf
5294 1 0 ref $_[0] && ref $_[0] eq ref $_[1] ? :
5300 0 1 if $x->modify("bxor")
5304 0 1 if $x->is_nan or $x->is_inf or $y->is_nan or $y->is_inf
5326 4 0 ref $_[0] ? :
5330 0 4 if $x->modify("bnot")
5332 0 4 if $x->is_nan
5358 47907 0 ref $_[0] ? :
5360 3 47904 if (($a[0] || 0) < 0)
5366 0 47904 if $x->modify("bround")
5369 4569 43335 unless (defined $scale)
5370 2 3 if $x->is_int or $x->is_inf or $x->is_nan
5381 44 43291 if (defined $x->{'accuracy'} and $x->{'accuracy'} < $scale)
5382 0 40 if $x->is_int or $x->is_inf or $x->is_nan
5392 12 43279 if ($scale <= 0 or not $x->{'sign'} =~ /^[+-]$/)
5393 12 0 if $x->is_int or $x->is_inf or $x->is_nan
5401 15285 27994 if ($x->is_zero or $LIB->_len($x->{'_m'}) <= $scale)
5402 2060 13225 if not defined $x->{'accuracy'} or $x->{'accuracy'} > $scale
5403 1027 14258 if $x->is_int
5425 756 0 ref $_[0] ? :
5429 0 756 if $x->modify("bfround")
5432 4 752 unless (defined $scale)
5433 2 0 if $x->is_int or $x->is_inf or $x->is_nan
5441 21 731 if ($x->is_zero)
5442 21 0 if not defined $x->{'precision'} or $x->{'precision'} < $scale
5443 0 0 if $x->is_int or $x->is_inf or $x->is_nan
5449 12 719 unless ($x->{'sign'} =~ /^[+-]$/)
5450 12 0 if $x->is_int or $x->is_inf or $x->is_nan
5457 0 39 if (defined $x->{'precision'} and $x->{'precision'} < 0 and $scale < $x->{'precision'})
5458 0 0 if $x->is_int or $x->is_inf or $x->is_nan
5466 551 168 if ($scale < 0) { }
5469 37 514 if ($x->{'_es'} eq "+")
5470 0 0 if $x->is_int or $x->is_inf or $x->is_nan
5483 195 319 if -$dad < -$len
5495 47 467 if ($scale > $dad)
5496 0 47 if $x->is_int or $x->is_inf or $x->is_nan
5505 40 427 if ($scale < $zad)
5506 0 40 if $x->is_int or $x->is_inf or $x->is_nan
5512 41 386 if ($scale == $zad) { }
5516 78 308 if ($zad != 0) { }
5520 0 308 if $dbd < 0
5533 107 61 if $scale == 0
5535 14 154 if ($scale == 1 and $dbt <= $dbd)
5536 0 0 if $x->is_int or $x->is_inf or $x->is_nan
5544 30 124 if ($scale > $dbd) { }
72 52 elsif ($scale == $dbd) { }
5567 106 0 ref $_[0] ? :
5571 0 106 if $x->modify("bfloor")
5573 5 101 if $x->is_nan
5575 92 9 if ($x->is_finite)
5577 56 36 if ($x->{'_es'} eq "-")
5582 12 44 if $x->{'sign'} eq "-"
5593 43 0 ref $_[0] ? :
5597 0 43 if $x->modify("bceil")
5599 5 38 if $x->is_nan
5601 29 9 if ($x->is_finite)
5603 17 12 if ($x->{'_es'} eq "-")
5607 9 8 if ($x->{'sign'} eq '+') { }
5610 4 4 if $LIB->_is_zero($x->{'_m'})
5622 991 0 ref $_[0] ? :
5626 0 991 if $x->modify("bint")
5628 5 986 if $x->is_nan
5630 977 9 if ($x->is_finite)
5632 206 771 if ($x->{'_es'} eq "-")
5636 133 73 if $LIB->_is_zero($x->{'_m'})
5653 1 105 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i && !($_[0] =~ /^(inf|nan)/i))
5667 40 185 unless $arg->is_finite
5686 32 60 if $x->is_one
5694 81 0 if $x->is_int
5702 1 33 unless (@_ and defined builtin::blessed($_[0]) && $_[0]->isa(__PACKAGE__) || $_[0] =~ /^[a-z]\w*(?:::[a-z]\w*)*$/i && !($_[0] =~ /^(inf|nan)/i))
5716 12 53 unless $arg->is_finite
5720 12 29 if $arg->is_zero
5741 54 0 ref $_[0] ? :
5743 0 54 if @r
5745 4 50 if $LIB->_is_zero($x->{'_m'})
5748 50 0 if $x->{'_es'} eq "+"
5749 30 20 if (wantarray)
5751 0 30 if $x->{'_es'} eq "-"
5759 36 0 ref $_[0] ? :
5765 4 32 if $x->is_nan
5767 8 24 unless ($x->{'sign'} =~ /^[+-]$/)
5773 8 16 if $x->{'sign'} eq "-"
5779 36 0 ref $_[0] ? :
5785 4 32 if $x->is_nan
5787 8 24 unless ($x->{'sign'} =~ /^[+-]$/)
5797 32 0 ref $_[0] ? :
5799 0 32 if @r
5801 12 20 unless ($x->{'sign'} =~ /^[+-]$/)
5811 8 12 if $x->{'sign'} eq "-"
5820 30 0 ref $_[0] ? :
5822 0 30 if @r
5826 0 30 if ($x->is_nan)
5828 0 0 unless wantarray
5835 0 30 if ($x->is_inf)
5837 0 0 unless wantarray
5848 0 30 unless wantarray
5860 30 0 ref $_[0] ? :
5862 0 30 if @r
5866 0 30 if $x->is_nan or $x->is_inf
5872 30 0 if ($mant->bcmp(0))
5876 16 14 if ($expo10adj > 0)
5878 0 16 unless wantarray
5884 0 14 unless wantarray
5893 0 0 ref $_[0] ? :
5895 0 0 if @r
5899 0 0 if $x->is_nan or $x->is_inf
5907 0 0 unless wantarray
5917 0 0 ref $_[0] ? :
5919 0 0 if @r
5923 0 0 if ($x->is_nan)
5925 0 0 unless wantarray
5932 0 0 if ($x->is_inf)
5934 0 0 unless wantarray
5946 0 0 if ($int->{'_es'} eq '+') { }
5956 0 0 if $LIB->_is_zero($int->{'_m'})
5957 0 0 unless wantarray
5963 0 0 unless wantarray
5971 0 0 ref $_[0] ? :
5973 0 0 if @r
5977 0 0 if ($x->is_nan)
5978 0 0 unless wantarray
5984 0 0 if ($x->is_inf)
5986 0 0 unless wantarray
5995 0 0 if $class->downgrade
6000 0 0 if $rat_parts[0] eq "-"
6001 0 0 unless wantarray
6010 0 0 ref $_[0] ? :
6012 0 0 if @r
6014 0 0 if $x->is_nan
6015 0 0 if $x->is_inf
6016 0 0 if $x->is_zero
6020 0 0 if $class->downgrade
6022 0 0 if ($x->{'_es'} eq '-') { }
0 0 elsif (not $LIB->_is_zero($x->{'_e'})) { }
6044 0 0 ref $_[0] ? :
6046 0 0 if @r
6048 0 0 if $x->is_nan
6052 0 0 if $class->downgrade
6054 0 0 if ($x->{'_es'} eq '-') { }
6075 8447 12 ref $_[0] ? :
6077 0 8459 if @r
6081 2483 5976 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6082 1928 555 unless $x->is_inf("+")
6095 4759 1217 if ($not_zero)
6099 1629 3130 if $x->{'_es'} eq "-"
6100 1613 3146 if ($e < 0) { }
682 2464 elsif ($e > 0) { }
6103 602 1011 if ($e <= -$len) { }
6110 1011 0 if $x->{'_es'} eq "-"
6120 1015 4961 if $x->{'sign'} eq "-"
6122 695 5281 if (defined $x->{'accuracy'} and $not_zero) { }
502 4779 elsif (($x->{'precision'} || 0) < 0) { }
6125 695 0 if $cad != $len
6126 35 660 if $zeros > 0
6130 112 390 if $zeros > 0
6139 63 16 ref $_[0] ? :
6143 24 55 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6144 16 8 unless $x->is_inf("+")
6150 0 55 if $class->upgrade and not $x->isa(__PACKAGE__)
6160 16 39 $x->{'sign'} eq '-' ? :
6166 538 0 ref $_[0] ? :
6170 0 538 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6171 0 0 unless $x->is_inf("+")
6177 0 538 if $class->upgrade and not $x->isa(__PACKAGE__)
6182 10 528 $x->{'sign'} eq '-' ? :
6193 89 449 if ($mantlen == 1) { }
6219 0 0 ref $_[0] ? :
6223 0 0 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6224 0 0 unless $x->is_inf("+")
6230 0 0 if $class->upgrade and not $x->isa(__PACKAGE__)
6239 0 0 $x->{'sign'} eq '-' ? :
6251 0 0 unless ($LIB->_is_zero($mod))
6252 0 0 if ($esgn eq '+') { }
6262 0 0 if ($dotpos < $mantlen) { }
0 0 elsif ($dotpos > $mantlen) { }
6276 786 0 ref $_[0] ? :
6280 0 786 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6281 0 0 unless $x->is_inf("+")
6287 0 786 if $class->upgrade and not $x->isa(__PACKAGE__)
6303 784 2 if ($esgn eq '+') { }
6305 0 784 if $eabs > $uintmax
6315 0 2 if 1 - $c > $intmax
6318 2 0 if $c <= 0
6322 134 652 $x->{'sign'} eq '-' ? :
6328 1150 0 ref $_[0] ? :
6330 0 1150 if @r
6334 0 1150 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6335 0 0 unless $x->is_inf("+")
6341 0 1150 if $class->upgrade and not $x->isa(__PACKAGE__)
6346 100 1050 $x->{'sign'} eq '-' ? :
6348 120 1030 if ($x->{'_es'} eq '+') { }
6354 68 962 if $rat_parts[0] eq "-"
6362 36 0 ref $_[0] ? :
6364 0 36 if @r
6368 12 24 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6369 8 4 unless $x->is_inf("+")
6375 0 24 if $class->upgrade and not $x->isa(__PACKAGE__)
6380 8 16 if $x->is_zero
6382 0 16 if $x->{'_es'} ne "+"
6385 0 16 unless ($LIB->_is_zero($x->{'_e'}))
6389 4 12 $x->{'sign'} eq '-' ? :
6394 40 0 ref $_[0] ? :
6396 0 40 if @r
6400 12 28 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6401 8 4 unless $x->is_inf("+")
6407 0 28 if $class->upgrade and not $x->isa(__PACKAGE__)
6412 8 20 if $x->is_zero
6414 0 20 if $x->{'_es'} ne "+"
6417 0 20 unless ($LIB->_is_zero($x->{'_e'}))
6421 4 16 $x->{'sign'} eq '-' ? :
6426 40 0 ref $_[0] ? :
6428 0 40 if @r
6432 12 28 if ($x->{'sign'} ne "+" and $x->{'sign'} ne "-")
6433 8 4 unless $x->is_inf("+")
6439 0 28 if $class->upgrade and not $x->isa(__PACKAGE__)
6444 8 20 if $x->is_zero
6446 0 20 if $x->{'_es'} ne "+"
6449 0 20 unless ($LIB->_is_zero($x->{'_e'}))
6453 4 16 $x->{'sign'} eq '-' ? :
6459 0 0 ref $_[0] ? :
6461 0 0 if @r
6463 0 0 if $x->is_neg or not $x->is_int
6466 0 0 if $class->upgrade and not $x->isa(__PACKAGE__)
6469 0 0 unless $LIB->can("_to_bytes")
6476 0 0 ref $_[0] ? :
6478 0 0 if @r
6484 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') { }
6511 0 0 if ($b == 2)
6519 0 0 if ($k == 16) { }
0 0 elsif ($k == 32) { }
0 0 elsif ($k == 64) { }
6532 0 0 if ($k < 128 or $k != 32 * sprintf("%.0f", $k / 32))
6554 0 0 if ($x->is_nan) { }
0 0 elsif ($x->is_inf) { }
0 0 elsif ($x->is_zero) { }
6559 0 0 if $x->is_neg
6567 0 0 if $x->is_neg
6602 0 0 if ($expo_est > $emax) { }
0 0 elsif ($expo_est < $emin) { }
6614 0 0 if ($expo_est > 0) { }
0 0 elsif ($expo_est < 0) { }
6636 0 0 if ($expo > $emax) { }
0 0 elsif ($expo < $emin) { }
6664 0 0 if ($mant == $const->bmul($b))
6686 0 0 if ($mant == $const)
6711 0 0 ref $_[0] ? :
6714 0 0 if @r
6728 0 0 if ($x->is_nan) { }
0 0 elsif ($x->is_inf) { }
0 0 elsif ($x->is_zero) { }
6734 0 0 if $x->is_neg
6744 0 0 if $x->is_neg
6779 0 0 if ($expo_est > $emax) { }
0 0 elsif ($expo_est < $emin) { }
6791 0 0 if ($expo_est > 0) { }
0 0 elsif ($expo_est < 0) { }
6813 0 0 if ($expo > $emax) { }
0 0 elsif ($expo < $emin) { }
6839 0 0 if ($mant == $const->bmul($b))
6858 0 0 if ($mant == $const->copy->bmul($b))
6860 0 0 if ($expo > $emax) { }
6886 36 0 ref $_[0] ? :
6888 0 36 if @r
6890 12 24 unless $x->{'sign'} =~ /^[+-]$/
6891 8 16 if $x->is_zero
6893 0 16 if $x->{'_es'} ne "+"
6896 0 16 unless ($LIB->_is_zero($x->{'_e'}))
6900 4 12 $x->{'sign'} eq '-' ? :
6906 40 0 ref $_[0] ? :
6908 0 40 if @r
6910 12 28 unless $x->{'sign'} =~ /^[+-]$/
6911 8 20 if $x->is_zero
6913 0 20 if $x->{'_es'} ne "+"
6916 0 20 unless ($LIB->_is_zero($x->{'_e'}))
6920 4 16 $x->{'sign'} eq '-' ? :
6926 40 0 ref $_[0] ? :
6928 0 40 if @r
6930 12 28 unless $x->{'sign'} =~ /^[+-]$/
6931 8 20 if $x->is_zero
6933 0 20 if $x->{'_es'} ne "+"
6936 0 20 unless ($LIB->_is_zero($x->{'_e'}))
6940 4 16 $x->{'sign'} eq '-' ? :
6946 538 0 ref $_[0] ? :
6948 0 538 if @r
6950 0 538 if ($x->is_nan)
6956 0 538 if ($x->is_inf)
6959 0 0 $x->is_negative ? :
6983 0 11 if ($param eq ":constant")
6998 0 0 if $_[0] =~ /^0_*[0-7]/
7006 2 9 if ($param eq "upgrade")
7013 1 8 if ($param eq "downgrade")
7020 0 8 if ($param eq "accuracy")
7027 0 8 if ($param eq "precision")
7034 0 8 if ($param eq "round_mode")
7041 0 8 if ($param eq "div_scale")
7048 6 2 if ($param =~ /^(lib|try|only)\z/)
7050 6 0 if @_
7054 2 0 if ($param eq "with")
7074 0 61 if @a
7092 0 3 if ref $l
7093 0 3 if ref $r
7094 0 3 if ref $lg2
7095 0 3 if ref $lg10
7104 12 3 $ramanujan > $d ? :
7116 23 114 if $x->is_one
7168 114 3175 if $x->bacmp($x_prev) == 0
7214 69 108 if $x->{'_es'} eq "-"
7231 7 170 if ($x->{'_es'} eq '+' and ($LIB->_is_one($x->{'_e'}) and $LIB->_is_one($x->{'_m'}))) { }
7237 7 0 if ($scale <= $LOG_10_A)
7245 34 136 if ($LIB->_is_zero($x->{'_e'}) and $LIB->_is_two($x->{'_m'}))
7250 34 0 if ($scale <= $LOG_2_A)
7260 2 67 if ($calc != 0 and ($x->{'_es'} eq "-" and ($LIB->_is_one($x->{'_e'}) and $LIB->_is_one($x->{'_m'}))))
7267 2 0 if ($scale <= $LOG_10_A)
7274 43 134 if $calc == 0
7284 54 80 if ($dbd > 1 or $dbd < 0)
7287 15 39 unless ref $LOG_10
7294 53 1 if ($scale <= $LOG_10_A) { }
7305 0 1 unless ref $LOG_2
7306 1 0 if ($scale <= $LOG_2_A) { }
7330 47 7 if $dbd > 1
7333 7 47 if ($dbd < 0)
7346 12 122 unless ref $HALF
7360 79 55 if ($twos != 0) { }
7361 13 66 unless ref $LOG_2
7362 77 2 if ($scale <= $LOG_2_A) { }
7379 54 80 if defined $l_10
7380 79 55 if defined $l_2
7397 6 109 unless ref $HALF
7398 45 70 if $y->bcmp($HALF) == 0
7414 0 70 if $x->is_nan
7417 52 18 if (scalar @params == 0) { }
7457 31 39 if $do_invert
7471 70 3232 if $next->bacmp($limit) <= 0
7478 0 3232 unless $x->{'sign'} =~ /^[-+]$/
7481 31 39 if ($do_invert)
7487 70 0 if (defined $params[0]) { }
7492 52 18 if ($fallback)
7501 0 70 if (defined $ab) { }