36 return $e->getMessage();
39 if (($ord < 0) || (
$x <= 0.0)) {
43 $fBy = self::calculate(
$x, $ord);
53 return self::besselY0($x);
55 return self::besselY1($x);
58 return self::besselY2($x, $ord);
65 $ans1 = -2957821389.0 +
$y * (7062834065.0 +
$y * (-512359803.6 +
$y * (10879881.29 +
$y *
66 (-86327.92757 +
$y * 228.4622733))));
67 $ans2 = 40076544269.0 +
$y * (745249964.8 +
$y * (7189466.438 +
$y *
68 (47447.26470 +
$y * (226.1030244 +
$y))));
75 $xx = $x - 0.785398164;
76 $ans1 = 1 +
$y * (-0.1098628627e-2 +
$y * (0.2734510407e-4 +
$y * (-0.2073370639e-5 +
$y * 0.2093887211e-6)));
77 $ans2 = -0.1562499995e-1 +
$y * (0.1430488765e-3 +
$y * (-0.6911147651e-5 +
$y * (0.7621095161e-6 +
$y *
80 return sqrt(0.636619772 / $x) * (sin($xx) * $ans1 + $z * cos($xx) * $ans2);
87 $ans1 = $x * (-0.4900604943e13 +
$y * (0.1275274390e13 +
$y * (-0.5153438139e11 +
$y *
88 (0.7349264551e9 +
$y * (-0.4237922726e7 +
$y * 0.8511937935e4)))));
89 $ans2 = 0.2499580570e14 +
$y * (0.4244419664e12 +
$y * (0.3733650367e10 +
$y * (0.2245904002e8 +
$y *
90 (0.1020426050e6 +
$y * (0.3549632885e3 +
$y)))));
97 $xx = $x - 2.356194491;
98 $ans1 = 1.0 +
$y * (0.183105e-2 +
$y * (-0.3516396496e-4 +
$y * (0.2457520174e-5 +
$y * (-0.240337019e-6))));
99 $ans2 = 0.04687499995 +
$y * (-0.2002690873e-3 +
$y * (0.8449199096e-5 +
$y *
100 (-0.88228987e-6 +
$y * 0.105787412e-6)));
102 return sqrt(0.636619772 / $x) * (sin($xx) * $ans1 + $z * cos($xx) * $ans2);
108 $fBym = self::besselY0($x);
109 $fBy = self::besselY1($x);
110 for (
$n = 1;
$n < $ord; ++
$n) {
111 $fByp =
$n * $fTox * $fBy - $fBym;
static besselY1(float $x)
static besselY2(float $x, int $ord)
static calculate(float $x, int $ord)
static BESSELJ($x, $ord)
BESSELJ.
static besselY0(float $x)
static validateFloat($value)
static flattenSingleValue($value='')
Convert an array to a single scalar value by extracting the first element.
static BESSELY($x, $ord)
BESSELY.
static validateInt($value)