PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.10.8
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.10.8
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
visualizer / vendor / markbaker / complex / classes / src / functions / log2.php

log2.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.10.8, at vendor/markbaker/complex/classes/src/functions/log2.php

33 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 *
5 * Function code for the complex log2() function
6 *
7 * @copyright Copyright (c) 2013-2018 Mark Baker (https://github.com/MarkBaker/PHPComplex)
8 * @license https://opensource.org/licenses/MIT MIT
9 */
10 namespace Complex;
11
12 /**
13 * Returns the base-2 logarithm of a complex number.
14 *
15 * @param Complex|mixed $complex Complex number or a numeric value.
16 * @return Complex The base-2 logarithm of the complex argument.
17 * @throws Exception If argument isn't a valid real or complex number.
18 * @throws \InvalidArgumentException If the real and the imaginary parts are both zero
19 */
20 function log2($complex)
21 {
22 $complex = Complex::validateComplexArgument($complex);
23
24 if (($complex->getReal() == 0.0) && ($complex->getImaginary() == 0.0)) {
25 throw new \InvalidArgumentException();
26 } elseif (($complex->getReal() > 0.0) && ($complex->getImaginary() == 0.0)) {
27 return new Complex(\log($complex->getReal(), 2), 0.0, $complex->getSuffix());
28 }
29
30 return ln($complex)
31 ->multiply(\log(Complex::EULER, 2));
32 }
33