PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.4
Independent Analytics – WordPress Analytics Plugin v2.15.4
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / brick / math / src / Internal / Calculator / GmpCalculator.php
independent-analytics / vendor / brick / math / src / Internal / Calculator Last commit date
BcMathCalculator.php 1 month ago GmpCalculator.php 1 month ago NativeCalculator.php 1 month ago
GmpCalculator.php
86 lines
1 <?php
2
3 declare (strict_types=1);
4 namespace IAWPSCOPED\Brick\Math\Internal\Calculator;
5
6 use IAWPSCOPED\Brick\Math\Internal\Calculator;
7 /**
8 * Calculator implementation built around the GMP library.
9 *
10 * @internal
11 *
12 * @psalm-immutable
13 */
14 class GmpCalculator extends Calculator
15 {
16 public function add(string $a, string $b) : string
17 {
18 return \gmp_strval(\gmp_add($a, $b));
19 }
20 public function sub(string $a, string $b) : string
21 {
22 return \gmp_strval(\gmp_sub($a, $b));
23 }
24 public function mul(string $a, string $b) : string
25 {
26 return \gmp_strval(\gmp_mul($a, $b));
27 }
28 public function divQ(string $a, string $b) : string
29 {
30 return \gmp_strval(\gmp_div_q($a, $b));
31 }
32 public function divR(string $a, string $b) : string
33 {
34 return \gmp_strval(\gmp_div_r($a, $b));
35 }
36 public function divQR(string $a, string $b) : array
37 {
38 [$q, $r] = \gmp_div_qr($a, $b);
39 return [\gmp_strval($q), \gmp_strval($r)];
40 }
41 public function pow(string $a, int $e) : string
42 {
43 return \gmp_strval(\gmp_pow($a, $e));
44 }
45 public function modInverse(string $x, string $m) : ?string
46 {
47 $result = \gmp_invert($x, $m);
48 if ($result === \false) {
49 return null;
50 }
51 return \gmp_strval($result);
52 }
53 public function modPow(string $base, string $exp, string $mod) : string
54 {
55 return \gmp_strval(\gmp_powm($base, $exp, $mod));
56 }
57 public function gcd(string $a, string $b) : string
58 {
59 return \gmp_strval(\gmp_gcd($a, $b));
60 }
61 public function fromBase(string $number, int $base) : string
62 {
63 return \gmp_strval(\gmp_init($number, $base));
64 }
65 public function toBase(string $number, int $base) : string
66 {
67 return \gmp_strval($number, $base);
68 }
69 public function and(string $a, string $b) : string
70 {
71 return \gmp_strval(\gmp_and($a, $b));
72 }
73 public function or(string $a, string $b) : string
74 {
75 return \gmp_strval(\gmp_or($a, $b));
76 }
77 public function xor(string $a, string $b) : string
78 {
79 return \gmp_strval(\gmp_xor($a, $b));
80 }
81 public function sqrt(string $n) : string
82 {
83 return \gmp_strval(\gmp_sqrt($n));
84 }
85 }
86