Lines Matching refs:LIB
13 # value : unsigned int with actual value ($LIB thingy)
17 # Remember not to take shortcuts ala $xs = $x->{value}; $LIB->foo($xs); since
238 my $LIB;
605 lib => $LIB,
606 lib_version => $LIB -> VERSION(),
726 $self -> {value} = $LIB -> _copy($wanted -> {value});
746 $self->{value} = $LIB->_new($abs);
826 $self -> {value} = $LIB -> _lsft($parts[1], $parts[3], 10);
873 $self -> {value} = $LIB -> _lsft($parts[1], $parts[3], 10);
913 $self -> {value} = $LIB -> _lsft($parts[1], $parts[3], 10);
953 $self -> {value} = $LIB -> _lsft($parts[1], $parts[3], 10);
993 $self -> {value} = $LIB -> _lsft($parts[1], $parts[3], 10);
1020 croak("from_bytes() requires a newer version of the $LIB library.")
1021 unless $LIB->can('_from_bytes');
1030 $self -> {value} = $LIB -> _from_bytes($str);
1073 croak("from_base() requires a newer version of the $LIB library.")
1074 unless $LIB->can('_from_base');
1078 = $LIB->_from_base($str, $base -> {value}, defined($cs) ? $cs : ());
1120 croak("from_base_num() requires a newer version of the $LIB library.")
1121 unless $LIB->can('_from_base_num');
1124 $self -> {value} = $LIB -> _from_base_num([ map { $_ -> {value} } @$nums ],
1163 $self->{value} = $LIB->_zero();
1224 $self->{value} = $LIB->_one();
1293 $self -> {value} = $LIB -> _zero();
1352 $self -> {value} = $LIB -> _zero();
1421 $self -> {value} = $LIB -> _new("3");
1441 $copy->{value} = $LIB->_copy($x->{value});
1540 $LIB->_is_zero($x->{value});
1550 $LIB->_is_one($x->{value});
1617 $LIB->_is_odd($x->{value});
1625 $LIB->_is_even($x->{value});
1674 return $LIB->_acmp($x->{value}, $y->{value});
1678 $LIB->_acmp($y->{value}, $x->{value}); # swapped acmp (lib returns 0, 1, -1)
1703 $LIB->_acmp($x->{value}, $y->{value}); # lib does only 0, 1, -1
1789 unless $x->{sign} eq '+' && $LIB->_is_zero($x->{value});
1858 $x->{value} = $LIB->_inc($x->{value});
1860 $x->{value} = $LIB->_dec($x->{value});
1861 $x->{sign} = '+' if $LIB->_is_zero($x->{value}); # -1 +1 => -0 => +0
1879 $x->{value} = $LIB->_inc($x->{value});
1881 if ($LIB->_is_zero($x->{value})) { # +1 - 1 => +0
1882 $x->{value} = $LIB->_one();
1885 $x->{value} = $LIB->_dec($x->{value});
2017 = $LIB -> _sadd($x->{value}, $x->{sign}, $y->{value}, $y->{sign});
2085 $x->{value} = $LIB->_mul($x->{value}, $y->{value}); # do actual math
2086 $x->{sign} = '+' if $LIB->_is_zero($x->{value}); # no -0
2119 $zv = $LIB -> _copy($zv) if refaddr($x) eq refaddr($z);
2122 $x->{value} = $LIB->_mul($x->{value}, $y->{value}); # do actual math
2123 $x->{sign} = '+' if $LIB->_is_zero($x->{value}); # no -0
2126 = $LIB -> _sadd($x->{value}, $x->{sign}, $zv, $zs);
2367 $LIB -> _div($x -> {value}, $y -> {value});
2369 if ($LIB -> _is_zero($rem -> {value})) {
2370 if ($xsign eq $ysign || $LIB -> _is_zero($x -> {value})) {
2392 unless ($LIB -> _is_zero($rem -> {value})) {
2532 $LIB -> _div($x -> {value}, $y -> {value});
2535 $x -> {sign} = '+' if $LIB -> _is_zero($x -> {value});
2541 $rem -> {sign} = '+' if $LIB -> _is_zero($rem -> {value});
2597 $x -> {value} = $LIB -> _mod($x -> {value}, $y -> {value});
2598 if ($LIB -> _is_zero($x -> {value})) {
2601 $x -> {value} = $LIB -> _sub($y -> {value}, $x -> {value}, 1) # $y-$x
2651 $x -> {value} = $LIB -> _mod($x -> {value}, $y -> {value});
2654 $x -> {sign} = '+' if $LIB -> _is_zero($x -> {value});
2700 # $LIB->_modinv() below when $x and $y have opposite signs. E.g., if $x =
2711 ($x->{value}, $x->{sign}) = $LIB->_modinv($x->{value}, $y->{value});
2784 my $value = $LIB->_modpow($num->{value}, $exp->{value}, $mod->{value});
2790 unless ($LIB->_is_zero($value)) {
2812 my $mod = $LIB->_copy($mod->{value});
2813 $value = $LIB->_sub($mod, $value);
2826 my $mod = $LIB->_copy($mod->{value});
2827 $value = $LIB->_sub($mod, $value);
2910 $x->{value} = $LIB -> _pow($x->{value}, $y->{value});
3019 my ($rc) = $LIB -> _log_int($x->{value}, $base->{value});
3061 $x -> {value} = $LIB -> _ilog2($x -> {value});
3080 $x -> {value} = $LIB -> _ilog10($x -> {value});
3099 $x -> {value} = $LIB -> _clog2($x -> {value});
3118 $x -> {value} = $LIB -> _clog10($x -> {value});
3206 my $uintmax = $LIB -> _new(~0);
3207 if ($LIB -> _acmp($n->{value}, $uintmax) > 0 ||
3208 $LIB -> _acmp($k->{value}, $uintmax) > 0)
3210 $n->{value} = $LIB -> SUPER::_nok($n->{value}, $k->{value});
3212 $n->{value} = $LIB -> _nok($n->{value}, $k->{value});
3480 $x->{value} = $LIB -> _sqrt($x->{value});
3505 $x->{value} = $LIB->_root($x->{value}, $y->{value});
3521 $x->{value} = $LIB->_fac($x->{value});
3537 croak("bdfac() requires a newer version of the $LIB library.")
3538 unless $LIB->can('_dfac');
3540 $x->{value} = $LIB->_dfac($x->{value});
3594 croak("bfib() requires a newer version of the $LIB library.")
3595 unless $LIB->can('_fib');
3614 $y[0]{value} = $LIB -> _zero();
3618 $y[1]{value} = $LIB -> _one();
3623 $y[$i]{value} = $LIB -> _add($LIB -> _copy($y[$i - 1]{value}),
3651 $x->{value} = $LIB -> _fib($x->{value});
3660 croak("blucas() requires a newer version of the $LIB library.")
3661 unless $LIB->can('_lucas');
3680 $y[0]{value} = $LIB -> _two();
3684 $y[1]{value} = $LIB -> _one();
3689 $y[$i]{value} = $LIB -> _add($LIB -> _copy($y[$i - 1]{value}),
3717 $x->{value} = $LIB -> _lucas($x->{value});
3844 $x -> {value} = $LIB -> _lsft($x -> {value}, $y -> {value}, $b);
4000 $x -> {value} = $LIB -> _rsft($x -> {value}, $y -> {value}, $b);
4059 $x -> {value} = $LIB -> _lsft($x -> {value}, $y -> {value}, 2);
4115 $x -> {value} = $LIB -> _rsft($x -> {value}, $y -> {value}, 2);
4118 my $d = $LIB -> _pow($LIB -> _new("2"), $y -> {value});
4119 my ($p, $q) = $LIB -> _div($n, $d);
4120 $p = $LIB -> _inc($p) unless $LIB -> _is_zero($q);
4145 $x->{value} = $LIB->_and($x->{value}, $y->{value});
4147 ($x->{value}, $x->{sign}) = $LIB->_sand($x->{value}, $x->{sign},
4171 $x->{value} = $LIB->_or($x->{value}, $y->{value});
4173 ($x->{value}, $x->{sign}) = $LIB->_sor($x->{value}, $x->{sign},
4197 $x->{value} = $LIB->_xor($x->{value}, $y->{value});
4199 ($x->{value}, $x->{sign}) = $LIB->_sxor($x->{value}, $x->{sign},
4350 my $xs = $LIB->_str($x->{value});
4405 $x->{value} = $LIB->_new($xs) if $put_back == 1; # put back, if needed
4515 $x->{value} = $LIB->_gcd($x->{value}, $y->{value});
4516 last if $LIB->_is_one($x->{value});
4561 $x -> {value} = $LIB->_lcm($x -> {value}, $y -> {value});
4587 $LIB->_digit($x->{value}, $n || 0);
4599 $x -> {value} = $LIB -> _digitsum($x -> {value});
4614 $y -> {value} = $LIB -> _digitsum($x -> {value});
4623 my $e = $LIB->_len($x->{value});
4646 $class->new($LIB->_zeros($x->{value}), @r);
4669 my $zeros = $LIB->_zeros($m->{value});
4723 my $nzeros = $LIB -> _zeros($mant -> {value});
4726 = $LIB -> _rsft($mant -> {value}, $LIB -> _new($nzeros), 10)
4940 my $str = $LIB->_str($x->{value});
4966 my $expo = $LIB -> _zeros($x->{value});
4967 my $mant = $LIB -> _str($x->{value});
4994 my $expo = $LIB -> _zeros($x->{value});
4995 my $mant = $LIB -> _str($x->{value});
5028 my $expo = $LIB -> _zeros($x->{value}); # number of trailing zeros
5029 my $mant = $LIB -> _str($x->{value}); # mantissa as a string
5067 ($x->{sign} eq '-' ? '-' : '') . $LIB->_str($x->{value});
5092 ($x->{sign} eq '-' ? '-' : '') . $LIB->_str($x->{value});
5116 my $hex = $LIB->_to_hex($x->{value});
5141 my $oct = $LIB->_to_oct($x->{value});
5166 my $bin = $LIB->_to_bin($x->{value});
5183 croak("to_bytes() requires a newer version of the $LIB library.")
5184 unless $LIB->can('_to_bytes');
5186 return $LIB->_to_bytes($x->{value});
5214 croak("to_base() requires a newer version of the $LIB library.")
5215 unless $LIB->can('_to_base');
5221 return $LIB->_to_base($x->{value}, $base -> {value},
5241 croak("to_base() requires a newer version of the $LIB library.")
5242 unless $LIB->can('_to_base');
5251 my $vals = $LIB -> _to_base_num($x->{value}, $base -> {value});
5274 my $hex = $LIB->_as_hex($x->{value});
5290 my $oct = $LIB->_as_oct($x->{value});
5306 my $bin = $LIB->_as_bin($x->{value});
5337 my $num = 0 + $LIB->_num($x->{value});
5615 if (defined($LIB)) {
5616 if ($lib ne $LIB) {
5617 #carp "Library '$LIB' has already been loaded, so",
5626 next if defined $LIB;
5636 $LIB = $lib;
5641 next if defined $LIB;
5689 unless (defined $LIB) {
5695 $LIB = $DEFAULT_LIB;
5708 $LIB->_zeros($x->{value}); # must handle odd values, 0 etc
6083 return '+', $LIB -> _zero(), '+', $LIB -> _zero();
6088 my $exp_lib = $LIB -> _new($exp_str);
6103 my $delta = $LIB -> _new(CORE::length($sig_str));
6104 $delta = $LIB -> _sub($delta, $LIB -> _new($idx));
6107 ($exp_lib, $exp_sgn) = $LIB -> _ssub($exp_lib, $exp_sgn, $delta, '+');
6122 $LIB -> _sadd($exp_lib, $exp_sgn, $LIB -> _new($len), '+');
6129 return '+', $LIB -> _zero(), '+', $LIB -> _zero();
6134 my $sig_lib = $LIB -> _new($sig_str);
6148 my $bpc_lib = $LIB -> _new($bpc);
6153 return '+', $LIB -> _zero(), '+', $LIB -> _zero();
6158 my $exp_lib = $LIB -> _new($exp_str);
6174 my $delta = $LIB -> _new(CORE::length($sig_str));
6175 $delta = $LIB -> _sub($delta, $LIB -> _new($idx));
6176 $delta = $LIB -> _mul($delta, $bpc_lib) if $bpc != 1;
6179 ($exp_lib, $exp_sgn) = $LIB -> _ssub($exp_lib, $exp_sgn, $delta, '+');
6194 my $delta = $LIB -> _new(CORE::length($1));
6195 $delta = $LIB -> _mul($delta, $bpc_lib) if $bpc != 1;
6198 ($exp_lib, $exp_sgn) = $LIB -> _sadd($exp_lib, $exp_sgn, $delta, '+');
6205 return '+', $LIB -> _zero(), '+', $LIB -> _zero();
6210 my $sig_lib = $bpc == 1 ? $LIB -> _from_bin('0b' . $sig_str)
6211 : $bpc == 3 ? $LIB -> _from_oct('0' . $sig_str)
6212 : $bpc == 4 ? $LIB -> _from_hex('0x' . $sig_str)
6219 if (!$LIB -> _is_zero($exp_lib)) {
6223 my $p = $LIB -> _pow($LIB -> _two(), $exp_lib);
6224 $sig_lib = $LIB -> _mul($sig_lib, $p);
6225 $exp_lib = $LIB -> _zero();
6239 my $p = $LIB -> _pow($LIB -> _new("5"), $exp_lib);
6240 $sig_lib = $LIB -> _mul($sig_lib, $p);
6246 my $n = $LIB -> _zeros($sig_lib);
6248 $n = $LIB -> _new($n);
6249 $sig_lib = $LIB -> _rsft($sig_lib, $n, 10);
6250 ($exp_lib, $exp_sgn) = $LIB -> _sadd($exp_lib, $exp_sgn, $n, '+');
6402 return $parts[0] . $LIB -> _str($parts[1])
6403 . 'e' . $parts[2] . $LIB -> _str($parts[3]);
6414 . $LIB -> _str($LIB -> _lsft($parts[1], $parts[3], 10));
6421 my $mant = $LIB -> _str($parts[1]);
6423 my $expo = $LIB -> _num($parts[3]);
6443 # $m = $LIB -> _new("12");
6445 # $e = $LIB -> _new("2");
6451 # $n = $LIB -> _new("3");
6452 # $d = $LIB -> _new("12");
6459 my $num_lib = $LIB -> _copy($mabs);
6460 my $den_lib = $LIB -> _1ex($LIB -> _num($eabs));
6461 my $gcd_lib = $LIB -> _gcd($LIB -> _copy($num_lib), $den_lib);
6462 $num_lib = $LIB -> _div($LIB -> _copy($num_lib), $gcd_lib);
6463 $den_lib = $LIB -> _div($den_lib, $gcd_lib);
6467 elsif (!$LIB -> _is_zero($eabs)) { # "12e+2" -> "1200" -> "1200/1"
6468 return $msgn, $LIB -> _lsft($LIB -> _copy($mabs), $eabs, 10),
6469 $LIB -> _one();
6473 return $msgn, $mabs, $LIB -> _one();