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 / pow.php

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

41 lines 1.3 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 pow() 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 a complex number raised to a power.
14 *
15 * @param Complex|mixed $complex Complex number or a numeric value.
16 * @param float|integer $power The power to raise this value to
17 * @return Complex The complex argument raised to the real power.
18 * @throws Exception If the power argument isn't a valid real
19 */
20 function pow($complex, $power)
21 {
22 $complex = Complex::validateComplexArgument($complex);
23
24 if (!is_numeric($power)) {
25 throw new Exception('Power argument must be a real number');
26 }
27
28 if ($complex->getImaginary() == 0.0 && $complex->getReal() >= 0.0) {
29 return new Complex(\pow($complex->getReal(), $power));
30 }
31
32 $rValue = \sqrt(($complex->getReal() * $complex->getReal()) + ($complex->getImaginary() * $complex->getImaginary()));
33 $rPower = \pow($rValue, $power);
34 $theta = $complex->argument() * $power;
35 if ($theta == 0) {
36 return new Complex(1);
37 }
38
39 return new Complex($rPower * \cos($theta), $rPower * \sin($theta), $complex->getSuffix());
40 }
41