init
This commit is contained in:
commit
72a26edcff
22092 changed files with 2101903 additions and 0 deletions
64
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php
Normal file
64
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
|
||||
|
||||
class Cosecant
|
||||
{
|
||||
use ArrayEnabled;
|
||||
|
||||
/**
|
||||
* CSC.
|
||||
*
|
||||
* Returns the cosecant of an angle.
|
||||
*
|
||||
* @param array|float $angle Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The cosecant of the angle
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function csc($angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(1.0, sin($angle));
|
||||
}
|
||||
|
||||
/**
|
||||
* CSCH.
|
||||
*
|
||||
* Returns the hyperbolic cosecant of an angle.
|
||||
*
|
||||
* @param array|float $angle Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The hyperbolic cosecant of the angle
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function csch($angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(1.0, sinh($angle));
|
||||
}
|
||||
}
|
||||
116
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php
Normal file
116
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
|
||||
|
||||
class Cosine
|
||||
{
|
||||
use ArrayEnabled;
|
||||
|
||||
/**
|
||||
* COS.
|
||||
*
|
||||
* Returns the result of builtin function cos after validating args.
|
||||
*
|
||||
* @param mixed $number Should be numeric, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string cosine
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function cos(mixed $number): array|string|float
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return cos($number);
|
||||
}
|
||||
|
||||
/**
|
||||
* COSH.
|
||||
*
|
||||
* Returns the result of builtin function cosh after validating args.
|
||||
*
|
||||
* @param mixed $number Should be numeric, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string hyperbolic cosine
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function cosh(mixed $number): array|string|float
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return cosh($number);
|
||||
}
|
||||
|
||||
/**
|
||||
* ACOS.
|
||||
*
|
||||
* Returns the arccosine of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The arccosine of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function acos($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::numberOrNan(acos($number));
|
||||
}
|
||||
|
||||
/**
|
||||
* ACOSH.
|
||||
*
|
||||
* Returns the arc inverse hyperbolic cosine of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The inverse hyperbolic cosine of the number, or an error string
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function acosh($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::numberOrNan(acosh($number));
|
||||
}
|
||||
}
|
||||
118
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php
Normal file
118
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
|
||||
|
||||
class Cotangent
|
||||
{
|
||||
use ArrayEnabled;
|
||||
|
||||
/**
|
||||
* COT.
|
||||
*
|
||||
* Returns the cotangent of an angle.
|
||||
*
|
||||
* @param array|float $angle Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The cotangent of the angle
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function cot($angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(cos($angle), sin($angle));
|
||||
}
|
||||
|
||||
/**
|
||||
* COTH.
|
||||
*
|
||||
* Returns the hyperbolic cotangent of an angle.
|
||||
*
|
||||
* @param array|float $angle Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The hyperbolic cotangent of the angle
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function coth($angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(1.0, tanh($angle));
|
||||
}
|
||||
|
||||
/**
|
||||
* ACOT.
|
||||
*
|
||||
* Returns the arccotangent of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The arccotangent of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function acot($number): array|string|float
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return (M_PI / 2) - atan($number);
|
||||
}
|
||||
|
||||
/**
|
||||
* ACOTH.
|
||||
*
|
||||
* Returns the hyperbolic arccotangent of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The hyperbolic arccotangent of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function acoth($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
$result = ($number === 1) ? NAN : (log(($number + 1) / ($number - 1)) / 2);
|
||||
|
||||
return Helpers::numberOrNan($result);
|
||||
}
|
||||
}
|
||||
64
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php
Normal file
64
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
|
||||
|
||||
class Secant
|
||||
{
|
||||
use ArrayEnabled;
|
||||
|
||||
/**
|
||||
* SEC.
|
||||
*
|
||||
* Returns the secant of an angle.
|
||||
*
|
||||
* @param array|float $angle Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The secant of the angle
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function sec($angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(1.0, cos($angle));
|
||||
}
|
||||
|
||||
/**
|
||||
* SECH.
|
||||
*
|
||||
* Returns the hyperbolic secant of an angle.
|
||||
*
|
||||
* @param array|float $angle Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The hyperbolic secant of the angle
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function sech($angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(1.0, cosh($angle));
|
||||
}
|
||||
}
|
||||
116
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php
Normal file
116
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
|
||||
|
||||
class Sine
|
||||
{
|
||||
use ArrayEnabled;
|
||||
|
||||
/**
|
||||
* SIN.
|
||||
*
|
||||
* Returns the result of builtin function sin after validating args.
|
||||
*
|
||||
* @param mixed $angle Should be numeric, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string sine
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function sin(mixed $angle): array|string|float
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return sin($angle);
|
||||
}
|
||||
|
||||
/**
|
||||
* SINH.
|
||||
*
|
||||
* Returns the result of builtin function sinh after validating args.
|
||||
*
|
||||
* @param mixed $angle Should be numeric, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string hyperbolic sine
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function sinh(mixed $angle): array|string|float
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return sinh($angle);
|
||||
}
|
||||
|
||||
/**
|
||||
* ASIN.
|
||||
*
|
||||
* Returns the arcsine of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The arcsine of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function asin($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::numberOrNan(asin($number));
|
||||
}
|
||||
|
||||
/**
|
||||
* ASINH.
|
||||
*
|
||||
* Returns the inverse hyperbolic sine of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The inverse hyperbolic sine of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function asinh($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::numberOrNan(asinh($number));
|
||||
}
|
||||
}
|
||||
160
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php
Normal file
160
lib/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Exception;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError;
|
||||
use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Helpers;
|
||||
|
||||
class Tangent
|
||||
{
|
||||
use ArrayEnabled;
|
||||
|
||||
/**
|
||||
* TAN.
|
||||
*
|
||||
* Returns the result of builtin function tan after validating args.
|
||||
*
|
||||
* @param mixed $angle Should be numeric, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string tangent
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function tan(mixed $angle)
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::verySmallDenominator(sin($angle), cos($angle));
|
||||
}
|
||||
|
||||
/**
|
||||
* TANH.
|
||||
*
|
||||
* Returns the result of builtin function sinh after validating args.
|
||||
*
|
||||
* @param mixed $angle Should be numeric, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string hyperbolic tangent
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function tanh(mixed $angle): array|string|float
|
||||
{
|
||||
if (is_array($angle)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $angle);
|
||||
}
|
||||
|
||||
try {
|
||||
$angle = Helpers::validateNumericNullBool($angle);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return tanh($angle);
|
||||
}
|
||||
|
||||
/**
|
||||
* ATAN.
|
||||
*
|
||||
* Returns the arctangent of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The arctangent of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function atan($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::numberOrNan(atan($number));
|
||||
}
|
||||
|
||||
/**
|
||||
* ATANH.
|
||||
*
|
||||
* Returns the inverse hyperbolic tangent of a number.
|
||||
*
|
||||
* @param array|float $number Number, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The inverse hyperbolic tangent of the number
|
||||
* If an array of numbers is passed as the argument, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function atanh($number)
|
||||
{
|
||||
if (is_array($number)) {
|
||||
return self::evaluateSingleArgumentArray([self::class, __FUNCTION__], $number);
|
||||
}
|
||||
|
||||
try {
|
||||
$number = Helpers::validateNumericNullBool($number);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
return Helpers::numberOrNan(atanh($number));
|
||||
}
|
||||
|
||||
/**
|
||||
* ATAN2.
|
||||
*
|
||||
* This function calculates the arc tangent of the two variables x and y. It is similar to
|
||||
* calculating the arc tangent of y ÷ x, except that the signs of both arguments are used
|
||||
* to determine the quadrant of the result.
|
||||
* The arctangent is the angle from the x-axis to a line containing the origin (0, 0) and a
|
||||
* point with coordinates (xCoordinate, yCoordinate). The angle is given in radians between
|
||||
* -pi and pi, excluding -pi.
|
||||
*
|
||||
* Note that the Excel ATAN2() function accepts its arguments in the reverse order to the standard
|
||||
* PHP atan2() function, so we need to reverse them here before calling the PHP atan() function.
|
||||
*
|
||||
* Excel Function:
|
||||
* ATAN2(xCoordinate,yCoordinate)
|
||||
*
|
||||
* @param mixed $xCoordinate should be float, the x-coordinate of the point, or can be an array of numbers
|
||||
* @param mixed $yCoordinate should be float, the y-coordinate of the point, or can be an array of numbers
|
||||
*
|
||||
* @return array|float|string The inverse tangent of the specified x- and y-coordinates, or a string containing an error
|
||||
* If an array of numbers is passed as one of the arguments, then the returned result will also be an array
|
||||
* with the same dimensions
|
||||
*/
|
||||
public static function atan2(mixed $xCoordinate, mixed $yCoordinate): array|string|float
|
||||
{
|
||||
if (is_array($xCoordinate) || is_array($yCoordinate)) {
|
||||
return self::evaluateArrayArguments([self::class, __FUNCTION__], $xCoordinate, $yCoordinate);
|
||||
}
|
||||
|
||||
try {
|
||||
$xCoordinate = Helpers::validateNumericNullBool($xCoordinate);
|
||||
$yCoordinate = Helpers::validateNumericNullBool($yCoordinate);
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
if (($xCoordinate == 0) && ($yCoordinate == 0)) {
|
||||
return ExcelError::DIV0();
|
||||
}
|
||||
|
||||
return atan2($yCoordinate, $xCoordinate);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue