PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.4
Independent Analytics – WordPress Analytics Plugin v2.15.4
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 / BcMathCalculator.php
independent-analytics / vendor / brick / math / src / Internal / Calculator Last commit date
BcMathCalculator.php 3 weeks ago GmpCalculator.php 3 weeks ago NativeCalculator.php 3 weeks ago
BcMathCalculator.php
64 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 bcmath library.
9 *
10 * @internal
11 *
12 * @psalm-immutable
13 */
14 class BcMathCalculator extends Calculator
15 {
16 public function add(string $a, string $b) : string
17 {
18 return \bcadd($a, $b, 0);
19 }
20 public function sub(string $a, string $b) : string
21 {
22 return \bcsub($a, $b, 0);
23 }
24 public function mul(string $a, string $b) : string
25 {
26 return \bcmul($a, $b, 0);
27 }
28 public function divQ(string $a, string $b) : string
29 {
30 return \bcdiv($a, $b, 0);
31 }
32 /**
33 * @psalm-suppress InvalidNullableReturnType
34 * @psalm-suppress NullableReturnStatement
35 */
36 public function divR(string $a, string $b) : string
37 {
38 return \bcmod($a, $b, 0);
39 }
40 public function divQR(string $a, string $b) : array
41 {
42 $q = \bcdiv($a, $b, 0);
43 $r = \bcmod($a, $b, 0);
44 \assert($r !== null);
45 return [$q, $r];
46 }
47 public function pow(string $a, int $e) : string
48 {
49 return \bcpow($a, (string) $e, 0);
50 }
51 public function modPow(string $base, string $exp, string $mod) : string
52 {
53 return \bcpowmod($base, $exp, $mod, 0);
54 }
55 /**
56 * @psalm-suppress InvalidNullableReturnType
57 * @psalm-suppress NullableReturnStatement
58 */
59 public function sqrt(string $n) : string
60 {
61 return \bcsqrt($n, 0);
62 }
63 }
64