PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.5.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.5.1
4.0.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 All 149 releases
visualizer / vendor / markbaker / complex / classes / src / functions / theta.php

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

39 lines 1.2 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 theta() 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 theta of a complex number.
14 * This is the angle in radians from the real axis to the representation of the number in polar coordinates.
15 *
16 * @param Complex|mixed $complex Complex number or a numeric value.
17 * @return float The theta value of the complex argument.
18 * @throws Exception If argument isn't a valid real or complex number.
19 */
20 function theta($complex)
21 {
22 $complex = Complex::validateComplexArgument($complex);
23
24 if ($complex->getReal() == 0.0) {
25 if ($complex->isReal()) {
26 return 0.0;
27 } elseif ($complex->getImaginary() < 0.0) {
28 return M_PI / -2;
29 }
30 return M_PI / 2;
31 } elseif ($complex->getReal() > 0.0) {
32 return \atan($complex->getImaginary() / $complex->getReal());
33 } elseif ($complex->getImaginary() < 0.0) {
34 return -(M_PI - \atan(\abs($complex->getImaginary()) / \abs($complex->getReal())));
35 }
36
37 return M_PI - \atan($complex->getImaginary() / \abs($complex->getReal()));
38 }
39