diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/README.md b/lib/node_modules/@stdlib/math/base/special/hyp2f1/README.md
new file mode 100644
index 000000000000..d041ea732e03
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/README.md
@@ -0,0 +1,140 @@
+
+
+# Gaussian hypergeometric function
+
+> Evaluates the [Gaussian hypergeometric function][hypergeometric-function].
+
+
+
+The [Gaussian hypergeometric function][hypergeometric-function] is defined for `|x| < 1` by the power series:
+
+
+
+```math
+{}_2F_1(a, b; c; x) = \sum_{n=0}^{\infty} \frac{(a)_n (b)_n}{(c)_n} \frac{x^n}{n!} = 1 + \frac{a b}{c} x + \frac{a(a+1) b(b+1)}{c(c+1)} \frac{x^2}{2!} + \frac{a(a+1)(a+2) b(b+1)(b+2)}{c(c+1)(c+2)} \frac{x^3}{3!} + \cdots
+```
+
+
+
+
+
+and is undefined (or infinite) if `c` equals a non-positive integer.
+
+Here `(q)ₙ` is the (rising) [Pochhammer symbol][pochhammer-symbol], which is defined by:
+
+
+
+```math
+(q)_n = \begin{cases} 1 & n = 0 \\ q(q+1) \cdots (q+n-1) & n > 0 \end{cases}
+```
+
+
+
+
+
+For `|x| >= 1`, the function can be [analytically continued][analytic-continuation] using functional identities and transformation formulas.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var hyp2f1 = require( '@stdlib/math/base/special/hyp2f1' );
+```
+
+#### hyp2f1( a, b, c, x )
+
+Evaluates the [Gaussian hypergeometric function][hypergeometric-function].
+
+```javascript
+var v = hyp2f1( 1.0, 1.0, 1.0, 0.0 );
+// returns 1.0
+
+v = hyp2f1( 10.0, 7.4, -1.8, -0.99 );
+// returns ~0.423
+
+v = hyp2f1( 3.0, 4.0, 7.0, 1.0 );
+// returns +Infinity
+
+v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
+// returns NaN
+```
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var linspace = require( '@stdlib/array/base/linspace' );
+var hyp2f1 = require( '@stdlib/math/base/special/hyp2f1' );
+
+var a = linspace( -50.0, 50.0, 100 );
+var b = linspace( -50.0, 50.0, 100 );
+var c = linspace( -50.0, 50.0, 100 );
+var x = linspace( -50.0, 50.0, 100 );
+
+var i;
+for ( i = 0; i < x.length; i++ ) {
+ console.log( 'a: %d, b: %d, c: %d, x: %d, 2F1(a,b;c;x): %d', a[ i ], b[ i ], c[ i ], x[ i ], hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] ) );
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[hypergeometric-function]: https://en.wikipedia.org/wiki/Hypergeometric_function
+
+[pochhammer-symbol]: https://en.wikipedia.org/wiki/Falling_and_rising_factorials
+
+[analytic-continuation]: https://en.wikipedia.org/wiki/Analytic_continuation
+
+
+
+
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/benchmark/benchmark.js
new file mode 100644
index 000000000000..d2abf5406cff
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/benchmark/benchmark.js
@@ -0,0 +1,59 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var bench = require( '@stdlib/bench' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var pkg = require( './../package.json' ).name;
+var hyp2f1 = require( './../lib' );
+
+
+// MAIN //
+
+bench( pkg, function benchmark( bm ) {
+ var x;
+ var a;
+ var b;
+ var c;
+ var z;
+ var i;
+
+ a = uniform( 100, -50.0, 50.0 );
+ b = uniform( 100, -50.0, 50.0 );
+ c = uniform( 100, -50.0, 50.0 );
+ x = uniform( 100, -50.0, 50.0 );
+
+ bm.tic();
+ for ( i = 0; i < bm.iterations; i++ ) {
+ // eslint-disable-next-line max-len
+ z = hyp2f1( a[ i % x.length ], b[ i % x.length ], c[ i % x.length ], x[ i % x.length ] );
+ if ( isnan( z ) ) {
+ bm.fail( 'should not return NaN' );
+ }
+ }
+ bm.toc();
+ if ( isnan( z ) ) {
+ bm.fail( 'should not return NaN' );
+ }
+ bm.pass( 'benchmark finished' );
+ bm.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/img/equation_hypergeometric_function.svg b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/img/equation_hypergeometric_function.svg
new file mode 100644
index 000000000000..f9a9b263b15e
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/img/equation_hypergeometric_function.svg
@@ -0,0 +1,208 @@
+
\ No newline at end of file
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/img/equation_pochhammer_symbol.svg b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/img/equation_pochhammer_symbol.svg
new file mode 100644
index 000000000000..aaf8b08bab18
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/img/equation_pochhammer_symbol.svg
@@ -0,0 +1,63 @@
+
\ No newline at end of file
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/repl.txt
new file mode 100644
index 000000000000..a8f20d2304e6
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/repl.txt
@@ -0,0 +1,40 @@
+
+{{alias}}( a, b, c, x )
+ Evaluates the Gaussian hypergeometric function.
+
+ Parameters
+ ----------
+ a: number
+ Input value.
+ b: number
+ Input value.
+ c: number
+ Input value.
+ x: number
+ Input value.
+
+ Returns
+ -------
+ y: number
+ Function value.
+
+ Examples
+ --------
+ > var y = {{alias}}( 1.0, 1.0, 1.0, 0.0 )
+ 1.0
+ > y = {{alias}}( 10.0, 7.4, -1.8, -0.99 )
+ ~0.423
+ > y = {{alias}}( 10.0, 1.0, -1.8, -0.99 )
+ ~-0.875
+ > y = {{alias}}( 2.0, 3.0, 5.0, 0.99 )
+ ~27.699
+ > y = {{alias}}( 3.0, 4.0, 7.0, 1.0 )
+ +Infinity
+ > y = {{alias}}( NaN, 3.0, 2.0, 0.5 )
+ NaN
+ > y = {{alias}}( 1.0, NaN, 2.0, 0.5 )
+ NaN
+
+ See Also
+ --------
+
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/types/index.d.ts
new file mode 100644
index 000000000000..bc901412f3d5
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/types/index.d.ts
@@ -0,0 +1,63 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+// TypeScript Version: 4.1
+
+/**
+* Evaluates the Gaussian hypergeometric function.
+*
+* @param a - input value
+* @param b - input value
+* @param c - input value
+* @param x - input value
+* @returns function value
+*
+* @example
+* var v = hyp2f1( 1.0, 1.0, 1.0, 0.0 );
+* // returns 1.0
+*
+* @example
+* var v = hyp2f1( 10.0, 7.4, -1.8, -0.99 );
+* // returns ~0.423
+*
+* @example
+* var v = hyp2f1( 10.0, 1.0, -1.8, -0.99 );
+* // returns ~-0.875
+*
+* @example
+* var v = hyp2f1( 2.0, 3.0, 5.0, 0.99 );
+* // returns ~27.699
+*
+* @example
+* var v = hyp2f1( 3.0, 4.0, 7.0, 1.0 );
+* // returns +Infinity
+*
+* @example
+* var v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
+* // returns NaN
+*
+* @example
+* var v = hyp2f1( 1.0, NaN, 2.0, 0.5 );
+* // returns NaN
+*/
+declare function hyp2f1( a: number, b: number, c: number, x: number ): number;
+
+
+// EXPORTS //
+
+export = hyp2f1;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/types/test.ts
new file mode 100644
index 000000000000..086f16297485
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/docs/types/test.ts
@@ -0,0 +1,76 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+import hyp2f1 = require( './index' );
+
+
+// TESTS //
+
+// The function returns a number...
+{
+ hyp2f1( 1.0, 1.0, 1.0, 0.0 ); // $ExpectType number
+ hyp2f1( 10.0, 7.4, -1.8, -0.99 ); // $ExpectType number
+ hyp2f1( 10.0, 1.0, -1.8, -0.99 ); // $ExpectType number
+ hyp2f1( 2.0, 3.0, 5.0, 0.99 ); // $ExpectType number
+}
+
+// The compiler throws an error if the function is provided a first argument which is a not a number...
+{
+ hyp2f1( true, 1.0, 1.0, 0.0 ); // $ExpectError
+ hyp2f1( false, 7.4, -1.8, -0.99 ); // $ExpectError
+ hyp2f1( '5', 1.0, -1.8, -0.99 ); // $ExpectError
+ hyp2f1( [], 3.0, 5.0, 0.99 ); // $ExpectError
+ hyp2f1( {}, 3.0, 5.0, 0.99 ); // $ExpectError
+ hyp2f1( ( x: number ): number => x, 1.0, 1.0, 0.0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a second argument which is a not a number...
+{
+ hyp2f1( 1.0, true, 1.0, 0.0 ); // $ExpectError
+ hyp2f1( 7.4, false, -1.8, -0.99 ); // $ExpectError
+ hyp2f1( 1.0, '5', -1.8, -0.99 ); // $ExpectError
+ hyp2f1( 3.0, [], 5.0, 0.99 ); // $ExpectError
+ hyp2f1( 3.0, {}, 5.0, 0.99 ); // $ExpectError
+ hyp2f1( 1.0, ( x: number ): number => x, 1.0, 0.0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a third argument which is a not a number...
+{
+ hyp2f1( 1.0, 1.0, true, 0.0 ); // $ExpectError
+ hyp2f1( 7.4, -1.8, false, -0.99 ); // $ExpectError
+ hyp2f1( 1.0, -1.8, '5', -0.99 ); // $ExpectError
+ hyp2f1( 3.0, 5.0, [], 0.99 ); // $ExpectError
+ hyp2f1( 3.0, 5.0, {}, 0.99 ); // $ExpectError
+ hyp2f1( 1.0, 1.0, ( x: number ): number => x, 0.0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourth argument which is a not a number...
+{
+ hyp2f1( 1.0, 1.0, 0.0, true ); // $ExpectError
+ hyp2f1( 7.4, -1.8, -0.99, false ); // $ExpectError
+ hyp2f1( 1.0, -1.8, -0.99, '5' ); // $ExpectError
+ hyp2f1( 3.0, 5.0, 0.99, [] ); // $ExpectError
+ hyp2f1( 3.0, 5.0, 0.99, {} ); // $ExpectError
+ hyp2f1( 1.0, 1.0, 0.0, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an invalid number of arguments...
+{
+ hyp2f1(); // $ExpectError
+ hyp2f1( 2.0, 3.0, 5.0 ); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/examples/index.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/examples/index.js
new file mode 100644
index 000000000000..a666b43d65e3
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/examples/index.js
@@ -0,0 +1,32 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+var linspace = require( '@stdlib/array/base/linspace' );
+var hyp2f1 = require( './../lib' );
+
+var a = linspace( -50.0, 50.0, 100 );
+var b = linspace( -50.0, 50.0, 100 );
+var c = linspace( -50.0, 50.0, 100 );
+var x = linspace( -50.0, 50.0, 100 );
+
+var i;
+for ( i = 0; i < x.length; i++ ) {
+ console.log( 'a: %d, b: %d, c: %d, x: %d, 2F1(a,b;c;x): %d', a[ i ], b[ i ], c[ i ], x[ i ], hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] ) );
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/config.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/config.json
new file mode 100644
index 000000000000..25be968b2a4e
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/config.json
@@ -0,0 +1,6 @@
+{
+ "MACHEP": 1.11022302462515654042e-16,
+ "EPS": 1.0e-13,
+ "ETHRESH": 1.0e-12,
+ "MAX_ITERATIONS": 10000
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/hys2f1.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/hys2f1.js
new file mode 100644
index 000000000000..ec8ced0d0691
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/hys2f1.js
@@ -0,0 +1,239 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+* ## Notice
+*
+* The original C code and copyright notice are from the [Cephes Mathematical Library]{@link https://www.netlib.org/cephes/}. The implementation has been modified for JavaScript.
+*
+* ```text
+* (C) Copyright Stephen L. Moshier 1984, 1987, 1992, 2000.
+*
+* Use, modification and distribution are subject to the
+* Cephes Mathematical Library License. (See accompanying file
+* LICENSE or copy at https://smath.com/en-US/view/CephesMathLibrary/license)
+* ```
+*/
+
+'use strict';
+
+// MODULES //
+
+var PINF = require( '@stdlib/constants/float64/pinf' );
+var round = require( '@stdlib/math/base/special/round' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var isNonPositiveInteger = require( './isnonpositiveinteger.js' );
+var config = require( './config.json' );
+
+
+// VARIABLES //
+
+var MACHEP = config.MACHEP;
+var EPS = config.EPS;
+var MAX_ITERATIONS = config.MAX_ITERATIONS;
+
+
+// FUNCTIONS //
+
+/**
+* Evaluates the Gaussian hypergeometric function by two-term recurrence in `a`.
+*
+* ## Notes
+*
+* - This function helps prevent losing accuracy in the highly alternating hypergeometric series and allows a and b to be reduced to smaller values.
+*
+* ## References
+*
+* - AMS55 #15.2.10
+*
+* @private
+* @param {number} a - input value
+* @param {number} b - input value
+* @param {number} c - input value
+* @param {number} x - input value
+* @param {number} loss - starting loss of significance
+* @returns {Object} the function value and error
+*/
+function hyp2f1ra( a, b, c, x, loss ) {
+ var f2Val;
+ var f1Val;
+ var f0Val;
+ var err;
+ var da;
+ var f1;
+ var f0;
+ var t;
+ var n;
+
+ loss = 0.0;
+ err = 0.0;
+
+ if ( ( c < 0.0 && a <= c ) || ( c >= 0.0 && a >= c ) ) {
+ da = round( a-c );
+ } else {
+ da = round( a );
+ }
+
+ t = a - da;
+ if ( abs( da ) > MAX_ITERATIONS ) {
+ // Too expensive to compute, so return `NaN`:
+ loss = 1.0;
+ return {
+ 'value': NaN,
+ 'error': loss
+ };
+ }
+
+ if ( da < 0.0 ) {
+ // Backward recurrence...
+ f2Val = 0.0;
+ f1 = hys2f1( t, b, c, x, err );
+ loss += f1.error;
+ err = f1.error;
+ f0 = hys2f1( t-1.0, b, c, x, err );
+ loss += f0.error;
+ t -= 1.0;
+ f1Val = f1.value;
+ f0Val = f0.value;
+ for ( n = 1; n < -da; n++ ) {
+ f2Val = f1Val;
+ f1Val = f0Val;
+
+ // eslint-disable-next-line max-len
+ f0Val = -( ( ( ( (2.0*t)-c )-( t*x )+( b*x ) ) * f1Val ) + ( ( t*(x-1.0) ) * f2Val ) ) / ( c-t );
+ t -= 1.0;
+ }
+ } else {
+ // Forward recurrence...
+ f2Val = 0.0;
+ f1 = hys2f1( t, b, c, x, err );
+ loss += f1.error;
+ err = f1.error;
+ f0 = hys2f1( t+1.0, b, c, x, err );
+ loss += f0.error;
+ t += 1.0;
+ f1Val = f1.value;
+ f0Val = f0.value;
+ for ( n = 1; n < da; n++ ) {
+ f2Val = f1Val;
+ f1Val = f0Val;
+
+ // eslint-disable-next-line max-len
+ f0Val = -( ( ( ( (2.0*t)-c )-( t*x )+( b*x ) ) * f1Val ) + ( (c-t)*f2Val ) ) / ( t*(x-1.0) );
+ t += 1.0;
+ }
+ }
+
+ return {
+ 'value': f0Val,
+ 'error': loss
+ };
+}
+
+
+// MAIN //
+
+/**
+* Evaluates the power series expansion of Gaussian hypergeometric function.
+*
+* @private
+* @param {number} a - input value
+* @param {number} b - input value
+* @param {number} c - input value
+* @param {number} x - input value
+* @param {number} loss - starting loss of significance
+* @returns {Object} the function value and error
+*/
+function hys2f1( a, b, c, x, loss ) {
+ var intFlag;
+ var umax;
+ var f;
+ var g;
+ var h;
+ var k;
+ var m;
+ var s;
+ var u;
+ var i;
+
+ intFlag = 0;
+
+ if ( abs( b ) > abs( a ) ) {
+ f = b;
+ b = a;
+ a = f;
+ }
+
+ if ( isNonPositiveInteger( b ) && ( abs( b ) < abs( a ) ) ) {
+ f = b;
+ b = a;
+ a = f;
+ intFlag = 1;
+ }
+
+ // eslint-disable-next-line max-len
+ if ( ( ( abs( a ) > abs( c ) + 1.0 ) || intFlag ) && ( abs( c-a ) > 2.0 ) && ( abs( a ) > 2.0 ) ) {
+ return hyp2f1ra( a, b, c, x, loss );
+ }
+
+ i = 0.0;
+ umax = 0.0;
+ f = a;
+ g = b;
+ h = c;
+ s = 1.0;
+ u = 1.0;
+ k = 0.0;
+
+ do {
+ if ( abs( h ) < EPS ) {
+ loss = 1.0;
+ return {
+ 'value': PINF,
+ 'error': loss
+ };
+ }
+ m = k + 1.0;
+ u *= ( ( f+k ) * ( g+k ) * x / ( ( h+k ) * m ) );
+ s += u;
+ k = abs( u );
+ if ( k > umax ) {
+ umax = k;
+ }
+ k = m;
+ i += 1.0;
+ if ( i > MAX_ITERATIONS ) {
+ loss = 1.0;
+ return {
+ 'value': s,
+ 'error': loss
+ };
+ }
+ } while ( s === 0.0 || abs( u/s ) > MACHEP );
+
+ // Estimate the relative error due to truncation by the series:
+ loss = ( ( MACHEP*umax ) / abs( s ) ) + ( MACHEP*i );
+ return {
+ 'value': s,
+ 'error': loss
+ };
+}
+
+
+// EXPORTS //
+
+module.exports = hys2f1;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/hyt2f1.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/hyt2f1.js
new file mode 100644
index 000000000000..99ebf12a4314
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/hyt2f1.js
@@ -0,0 +1,242 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+* ## Notice
+*
+* The original C code and copyright notice are from the [Cephes Mathematical Library]{@link https://www.netlib.org/cephes/}. The implementation has been modified for JavaScript.
+*
+* ```text
+* (C) Copyright Stephen L. Moshier 1984, 1987, 1992, 2000.
+*
+* Use, modification and distribution are subject to the
+* Cephes Mathematical Library License. (See accompanying file
+* LICENSE or copy at https://smath.com/en-US/view/CephesMathLibrary/license)
+* ```
+*/
+
+'use strict';
+
+// MODULES //
+
+var abs = require( '@stdlib/math/base/special/abs' );
+var pow = require( '@stdlib/math/base/special/pow' );
+var max = require( '@stdlib/math/base/special/max' );
+var exp = require( '@stdlib/math/base/special/exp' );
+var ln = require( '@stdlib/math/base/special/ln' );
+var round = require( '@stdlib/math/base/special/round' );
+var gamma = require( '@stdlib/math/base/special/gamma' );
+var gammaln = require( '@stdlib/math/base/special/gammaln' );
+var gammasgn = require( '@stdlib/math/base/special/gammasgn' );
+var digamma = require( '@stdlib/math/base/special/digamma' );
+var isNonPositiveInteger = require( './isnonpositiveinteger.js' );
+var isInteger = require( './isinteger.js' );
+var hys2f1 = require( './hys2f1.js' );
+var config = require( './config.json' );
+
+
+// VARIABLES //
+
+var MACHEP = config.MACHEP;
+var EPS = config.EPS;
+var ETHRESH = config.ETHRESH;
+var MAX_ITERATIONS = config.MAX_ITERATIONS;
+
+
+// MAIN //
+
+/**
+* Applies transformations for `|x|` near unity before performing a power series expansion.
+*
+* @private
+* @param {number} a - input value
+* @param {number} b - input value
+* @param {number} c - input value
+* @param {number} x - input value
+* @param {number} loss - starting loss of significance
+* @returns {Object} the function value and error
+*/
+function hyt2f1( a, b, c, x, loss ) {
+ var negIntA;
+ var negIntB;
+ var qVal;
+ var rVal;
+ var sign;
+ var err1;
+ var err;
+ var val;
+ var aid;
+ var ax;
+ var id;
+ var d1;
+ var d2;
+ var y1;
+ var i;
+ var p;
+ var q;
+ var r;
+ var t;
+ var y;
+ var w;
+ var d;
+ var e;
+ var s;
+
+ negIntA = isNonPositiveInteger( a );
+ negIntB = isNonPositiveInteger( b );
+ err = 0.0;
+ err1 = 0.0;
+ s = 1.0 - x;
+
+ if ( x < -0.5 && !( negIntA || negIntB ) ) {
+ if ( b > a ) {
+ // Transformation based on AMS55 #15.3.4:
+ y = hys2f1( a, c-b, c, -x/s, err );
+ val = pow( s, -a ) * y.value;
+ } else {
+ // Transformation based on AMS55 #15.3.5:
+ y = hys2f1( c-a, b, c, -x/s, err );
+ val = pow( s, -b ) * y.value;
+ }
+ loss = y.error;
+ return {
+ 'value': val,
+ 'error': loss
+ };
+ }
+
+ d = c - a - b;
+ id = round( d );
+
+ if ( x > 0.9 && !negIntA && !negIntB ) {
+ if ( isInteger( d ) === false ) {
+ // Try the power series first:
+ y = hys2f1( a, b, c, x, err );
+ if ( y.error < ETHRESH ) {
+ return y;
+ }
+ // If the power series fails, then apply AMS55 #15.3.6...
+ err = y.error;
+ q = hys2f1( a, b, 1.0-d, s, err );
+ qVal = q.value;
+ err = q.error;
+ sign = 1.0;
+ w = gammaln( d );
+ sign *= gammasgn( d );
+ w -= gammaln( c-a );
+ sign *= gammasgn( c-a );
+ w -= gammaln( c-b );
+ sign *= gammasgn( c-b );
+ qVal *= sign * exp( w );
+
+ r = hys2f1( c-a, c-b, d+1.0, s, err1 );
+ err1 = r.error;
+ rVal = pow( s, d ) * r.value;
+ sign = 1.0;
+ w = gammaln( -d );
+ sign *= gammasgn( -d );
+ w -= gammaln( a );
+ sign *= gammasgn( a );
+ w -= gammaln( b );
+ sign *= gammasgn( b );
+ rVal *= sign * exp( w );
+
+ y = qVal + rVal;
+ err += err1 + ( ( MACHEP * max( abs( qVal ), abs( rVal ) ) ) / y );
+ y *= gamma( c );
+ } else {
+ // Psi function expansion, AMS55 #15.3.10, #15.3.11, #15.3.12...
+ if ( id >= 0.0 ) {
+ e = d;
+ d1 = d;
+ d2 = 0.0;
+ aid = id;
+ } else {
+ e = -d;
+ d1 = 0.0;
+ d2 = d;
+ aid = -id;
+ }
+ ax = ln( s );
+
+ // eslint-disable-next-line max-len
+ y = digamma( 1.0 ) + digamma( 1.0+e ) - digamma( a+d1 ) - digamma( b+d1 ) - ax;
+ y /= gamma( e+1.0 );
+ p = ( a+d1 ) * ( b+d1 ) * s / gamma( e+2.0 );
+ t = 1.0;
+ do {
+ // eslint-disable-next-line max-len
+ r = digamma( 1.0+t ) + digamma( 1.0+t+e ) - digamma( a+t+d1 ) - digamma( b+t+d1 ) - ax;
+ q = p * r;
+ y += q;
+ p *= s * ( a+t+d1 ) / ( t+1.0 );
+ p *= ( b+t+d1 ) / ( t+1.0+e );
+ t += 1.0;
+ if ( t > MAX_ITERATIONS ) {
+ loss = 1.0;
+ return {
+ 'value': NaN,
+ 'error': loss
+ };
+ }
+ } while ( y === 0.0 || abs( q/y ) > EPS );
+
+ if ( id === 0.0 ) {
+ y *= gamma( c ) / ( gamma( a ) * gamma( b ) );
+ return {
+ 'value': y,
+ 'error': err
+ };
+ }
+
+ y1 = 1.0;
+ if ( aid !== 1.0 ) {
+ t = 0.0;
+ p = 1.0;
+ for ( i = 1; i < aid; i++ ) {
+ r = 1.0 - e + t;
+ p *= s * ( a+t+d2 ) * ( b+t+d2 ) / r;
+ t += 1.0;
+ p /= t;
+ y1 += p;
+ }
+ }
+
+ p = gamma( c );
+ y1 *= gamma( e ) * p / ( gamma( a+d1 ) * gamma( b+d1 ) );
+ y *= p / ( gamma( a+d2 ) * gamma( b+d2 ) );
+ if ( aid % 2.0 !== 0.0 ) {
+ y = -y;
+ }
+ q = pow( s, id );
+ y = ( id > 0.0 ) ? y*q : y1*q;
+ y += y1;
+ }
+ return {
+ 'value': y,
+ 'error': err
+ };
+ }
+ // Perform power series if no special cases:
+ y = hys2f1( a, b, c, x, err );
+ return y;
+}
+
+
+// EXPORTS //
+
+module.exports = hyt2f1;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/index.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/index.js
new file mode 100644
index 000000000000..09e590b4624e
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/index.js
@@ -0,0 +1,58 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+/**
+* Evaluate the Gaussian hypergoemetric function.
+*
+* @module @stdlib/math/base/special/hyp2f1
+*
+* @example
+* var hyp2f1 = require( '@stdlib/math/base/special/hyp2f1' );
+*
+* var v = hyp2f1( 1.0, 1.0, 1.0, 0.0 );
+* // returns 1.0
+*
+* v = hyp2f1( 10.0, 7.4, -1.8, -0.99 );
+* // returns ~0.423
+*
+* v = hyp2f1( 10.0, 1.0, -1.8, -0.99 );
+* // returns ~-0.875
+*
+* v = hyp2f1( 2.0, 3.0, 5.0, 0.99 );
+* // returns ~27.699
+*
+* v = hyp2f1( 3.0, 4.0, 7.0, 1.0 );
+* // returns +Infinity
+*
+* v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
+* // returns NaN
+*
+* v = hyp2f1( 1.0, NaN, 2.0, 0.5 );
+* // returns NaN
+*/
+
+// MODULES //
+
+var hyp2f1 = require( './main.js' );
+
+
+// EXPORTS //
+
+module.exports = hyp2f1;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/isinteger.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/isinteger.js
new file mode 100644
index 000000000000..71439f3be6f7
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/isinteger.js
@@ -0,0 +1,67 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+* ## Notice
+*
+* The original C code and copyright notice are from the [Cephes Mathematical Library]{@link https://www.netlib.org/cephes/}. The implementation has been modified for JavaScript.
+*
+* ```text
+* (C) Copyright Stephen L. Moshier 1984, 1987, 1992, 2000.
+*
+* Use, modification and distribution are subject to the
+* Cephes Mathematical Library License. (See accompanying file
+* LICENSE or copy at https://smath.com/en-US/view/CephesMathLibrary/license)
+* ```
+*/
+
+'use strict';
+
+// MODULES //
+
+var round = require( '@stdlib/math/base/special/round' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var config = require( './config.json' );
+
+
+// VARIABLES //
+
+var EPS = config.EPS;
+
+
+// MAIN //
+
+/**
+* Tests if a finite double-precision floating-point number is a "close enough" integer.
+*
+* @private
+* @param {number} x - input value
+* @returns {boolean} boolean indicating whether the value is a "close enough" integer
+*/
+function isInteger( x ) {
+ var diff;
+ var ix;
+
+ ix = round( x );
+ diff = abs( x - ix );
+ return ( diff < EPS );
+}
+
+
+// EXPORTS //
+
+module.exports = isInteger;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/isnonpositiveinteger.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/isnonpositiveinteger.js
new file mode 100644
index 000000000000..eda458f8acf4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/isnonpositiveinteger.js
@@ -0,0 +1,67 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+* ## Notice
+*
+* The original C code and copyright notice are from the [Cephes Mathematical Library]{@link https://www.netlib.org/cephes/}. The implementation has been modified for JavaScript.
+*
+* ```text
+* (C) Copyright Stephen L. Moshier 1984, 1987, 1992, 2000.
+*
+* Use, modification and distribution are subject to the
+* Cephes Mathematical Library License. (See accompanying file
+* LICENSE or copy at https://smath.com/en-US/view/CephesMathLibrary/license)
+* ```
+*/
+
+'use strict';
+
+// MODULES //
+
+var round = require( '@stdlib/math/base/special/round' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var config = require( './config.json' );
+
+
+// VARIABLES //
+
+var EPS = config.EPS;
+
+
+// MAIN //
+
+/**
+* Tests if a finite double-precision floating-point number is a "close enough" nonpositive integer.
+*
+* @private
+* @param {number} x - input value
+* @returns {boolean} boolean indicating whether the value is a "close enough" nonpositive integer
+*/
+function isNonPositiveInteger( x ) {
+ var diff;
+ var ix;
+
+ ix = round( x );
+ diff = abs( x - ix );
+ return ( ( ix <= 0.0 ) && ( diff < EPS ) );
+}
+
+
+// EXPORTS //
+
+module.exports = isNonPositiveInteger;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/main.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/main.js
new file mode 100644
index 000000000000..32ae742b1c62
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/lib/main.js
@@ -0,0 +1,279 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+* ## Notice
+*
+* The original C code and copyright notice are from the [Cephes Mathematical Library]{@link https://www.netlib.org/cephes/}. The implementation has been modified for JavaScript.
+*
+* ```text
+* (C) Copyright Stephen L. Moshier 1984, 1987, 1992, 2000.
+*
+* Use, modification and distribution are subject to the
+* Cephes Mathematical Library License. (See accompanying file
+* LICENSE or copy at https://smath.com/en-US/view/CephesMathLibrary/license)
+* ```
+*/
+
+'use strict';
+
+// MODULES //
+
+var isnan = require( '@stdlib/assert/is-nan' );
+var PINF = require( '@stdlib/constants/float64/pinf' );
+var round = require( '@stdlib/math/base/special/round' );
+var gamma = require( '@stdlib/math/base/special/gamma' );
+var pow = require( '@stdlib/math/base/special/pow' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var isNonPositiveInteger = require( './isnonpositiveinteger.js' );
+var isInteger = require( './isinteger.js' );
+var hys2f1 = require( './hys2f1.js' );
+var hyt2f1 = require( './hyt2f1.js' );
+var config = require( './config.json' );
+
+
+// VARIABLES //
+
+var ETHRESH = config.ETHRESH;
+
+
+// MAIN //
+
+/**
+* Evaluates the Gaussian hypergeometric function.
+*
+* @param {number} a - input value
+* @param {number} b - input value
+* @param {number} c - input value
+* @param {number} x - input value
+* @returns {number} function value
+*
+* @example
+* var v = hyp2f1( 1.0, 1.0, 1.0, 0.0 );
+* // returns 1.0
+*
+* @example
+* var v = hyp2f1( 10.0, 7.4, -1.8, -0.99 );
+* // returns ~0.423
+*
+* @example
+* var v = hyp2f1( 10.0, 1.0, -1.8, -0.99 );
+* // returns ~-0.875
+*
+* @example
+* var v = hyp2f1( 2.0, 3.0, 5.0, 0.99 );
+* // returns ~27.699
+*
+* @example
+* var v = hyp2f1( 3.0, 4.0, 7.0, 1.0 );
+* // returns +Infinity
+*
+* @example
+* var v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
+* // returns NaN
+*
+* @example
+* var v = hyp2f1( 1.0, NaN, 2.0, 0.5 );
+* // returns NaN
+*/
+function hyp2f1( a, b, c, x ) {
+ var negIntCaOrCb;
+ var negIntC;
+ var negIntB;
+ var negIntA;
+ var isIntD;
+ var aid;
+ var err;
+ var ax;
+ var d2;
+ var d1;
+ var id;
+ var ic;
+ var ia;
+ var ib;
+ var t1;
+ var y1;
+ var y2;
+ var q;
+ var r;
+ var p;
+ var e;
+ var s;
+ var d;
+ var y;
+ var i;
+
+ err = 0.0;
+ ax = abs( x );
+ ia = round( a );
+ ib = round( b );
+ id = round( d );
+ ic = round( c );
+ s = 1.0 - x;
+ d = c - a - b;
+ negIntA = isNonPositiveInteger( a );
+ negIntB = isNonPositiveInteger( b );
+ negIntC = isNonPositiveInteger( c );
+ isIntD = isInteger( d );
+ t1 = abs( b-a );
+
+ if ( isnan( a ) || isnan( b ) || isnan( c ) || isnan( x ) ) {
+ return NaN;
+ }
+
+ if ( x === 0.0 ) {
+ return 1.0;
+ }
+
+ if ( ( a === 0.0 || b === 0.0 ) && c !== 0.0 ) {
+ return 1.0;
+ }
+
+ // The transformation for c - a or c - b negative integer (AMS55 #15.3.3)...
+ if ( d <= -1.0 && !( !isIntD && s < 0.0 ) && !( negIntA || negIntB ) ) {
+ return pow( s, d ) * hyp2f1( c-a, c-b, c, x );
+ }
+
+ // Check whether the series diverges...
+ if ( d <= 0.0 && x === 1.0 && !( negIntA || negIntB ) ) {
+ return PINF;
+ }
+
+ if ( ax < 1.0 || x === -1.0 ) {
+ if ( b === c ) {
+ // 2F1(a,b;b;x) = (1-x)**(-a):
+ return pow( s, -a );
+ }
+ if ( a === c ) {
+ // 2F1(a,b;a;x) = (1-x)**(-b):
+ return pow( s, -b );
+ }
+ }
+
+ if ( negIntC ) {
+ // Check if termination before explosion...
+ if ( negIntA && ( ia > ic ) ) {
+ y = hyt2f1( a, b, c, x, err );
+ return y.value;
+ }
+ if ( negIntB && ( ib > ic ) ) {
+ y = hyt2f1( a, b, c, x, err );
+ return y.value;
+ }
+ return PINF;
+ }
+
+ // Check whether the function is a polynomial before trying the power series expansion...
+ if ( negIntA || negIntB ) {
+ y = hyt2f1( a, b, c, x, err );
+ return y.value;
+ }
+
+ // The following transform has a pole for integer b - a and may cause large cancellation errors near |1/x| = 1 (AMS55 #15.3.7)...
+ if ( x < -2.0 && !isInteger( t1 ) ) {
+ p = hyp2f1( a, 1.0-c+a, 1.0-b+a, 1.0/x );
+ q = hyp2f1( b, 1.0-c+b, 1.0-a+b, 1.0/x );
+ p *= pow( -x, -a );
+ q *= pow( -x, -b );
+ t1 = gamma( c );
+ s = t1 * gamma( b-a ) / ( gamma( b ) * gamma( c-a ) );
+ y = t1 * gamma( a-b ) / ( gamma( a ) * gamma( c-b ) );
+ return ( s*p ) + ( y*q );
+ }
+ if ( x < -1.0 ) {
+ // Transformation based on AMS55 #15.3.4...
+ if ( abs( a ) < abs( b ) ) {
+ return pow( s, -a ) * hyp2f1( a, c-b, c, x/( x-1.0 ) );
+ }
+ // Transformation based on AMS55 #15.3.5:
+ return pow( s, -b ) * hyp2f1( b, c-a, c, x/( x-1.0 ) );
+ }
+
+ // The series diverges for `|x|` greater than unity if above checks fail...
+ if ( ax > 1.0 ) {
+ return PINF;
+ }
+
+ p = c - a;
+ r = c - b;
+ negIntCaOrCb = isNonPositiveInteger( p ) || isNonPositiveInteger( r );
+
+ // If `|x|` is equal to unity, the function is a polynomial...
+ if ( ax === 1.0 ) {
+ if ( x > 0.0 ) {
+ if ( negIntCaOrCb ) {
+ if ( d >= 0.0 ) {
+ // Transformation based on AMS55 #15.3.3:
+ y = hys2f1( c-a, c-b, c, x, err );
+ return pow( s, d ) * y.value;
+ }
+ return PINF;
+ }
+ if ( d <= 0.0 ) {
+ return PINF;
+ }
+ // Transformation based on AMS55 #15.3.6:
+ return gamma( c ) * gamma( d ) / ( gamma( p ) * gamma( r ) );
+ }
+ if ( d <= -1.0 ) {
+ return PINF;
+ }
+ }
+
+ // Conditionally make `d > 0` by recurrence on `c` (AMS55 #15.2.27)...
+ if ( d < 0.0 ) {
+ // Try the power series first:
+ y = hyt2f1( a, b, c, x, err );
+ if ( y.error < ETHRESH ) {
+ return y.value;
+ }
+ // If the power series fails, then apply the recurrence...
+ y = y.value;
+ err = 0.0;
+ aid = 2.0 - id;
+ e = c + aid;
+ d2 = hyp2f1( a, b, e, x );
+ d1 = hyp2f1( a, b, e+1.0, x );
+ q = a + b + 1.0;
+ for ( i = 0; i < aid; i++ ) {
+ r = e - 1.0;
+ y1 = ( e-a ) * ( e-b ) * x;
+ y2 = r - ( ( (2.0*e)-q ) * x );
+ y2 *= e;
+ y = ( ( y2*d2 ) + ( y1*d1 ) ) / ( e*r*s );
+ e = r;
+ d1 = d2;
+ d2 = y;
+ }
+ return y;
+ }
+
+ // The transformation for c - a or c - b negative integer (AMS55 #15.3.3)...
+ if ( negIntCaOrCb ) {
+ y = hys2f1( c-a, c-b, c, x, err );
+ return pow( s, d ) * y.value;
+ }
+
+ // Try the power series:
+ y = hyt2f1( a, b, c, x, err );
+ return y.value;
+}
+
+
+// EXPORTS //
+
+module.exports = hyp2f1;
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/package.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/package.json
new file mode 100644
index 000000000000..7a7001f392ee
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "@stdlib/math/base/special/hyp2f1",
+ "version": "0.0.0",
+ "description": "Evaluates the Gaussian hypergeometric function.",
+ "license": "Apache-2.0",
+ "author": {
+ "name": "The Stdlib Authors",
+ "url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
+ },
+ "contributors": [
+ {
+ "name": "The Stdlib Authors",
+ "url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
+ }
+ ],
+ "main": "./lib",
+ "directories": {
+ "benchmark": "./benchmark",
+ "doc": "./docs",
+ "example": "./examples",
+ "lib": "./lib",
+ "test": "./test"
+ },
+ "types": "./docs/types",
+ "scripts": {},
+ "homepage": "https://github.com/stdlib-js/stdlib",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/stdlib-js/stdlib.git"
+ },
+ "bugs": {
+ "url": "https://github.com/stdlib-js/stdlib/issues"
+ },
+ "dependencies": {},
+ "devDependencies": {},
+ "engines": {
+ "node": ">=0.10.0",
+ "npm": ">2.7.0"
+ },
+ "os": [
+ "aix",
+ "darwin",
+ "freebsd",
+ "linux",
+ "macos",
+ "openbsd",
+ "sunos",
+ "win32",
+ "windows"
+ ],
+ "keywords": [
+ "stdlib",
+ "stdmath",
+ "mathematics",
+ "math",
+ "special function",
+ "special",
+ "function",
+ "hypergeometric",
+ "gaussian",
+ "special functions",
+ "hyp2f1",
+ "hypergeometric function",
+ "number"
+ ]
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/basic.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/basic.json
new file mode 100644
index 000000000000..65c16efd72f9
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/basic.json
@@ -0,0 +1 @@
+{"a": [-50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50], "b": [-50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50], "c": [-50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50], "x": [-50.0, -49.8998998998999, -49.7997997997998, -49.6996996996997, -49.5995995995996, -49.4994994994995, -49.3993993993994, -49.2992992992993, -49.1991991991992, -49.0990990990991, -48.998998998999, -48.8988988988989, -48.7987987987988, -48.6986986986987, -48.5985985985986, -48.4984984984985, -48.3983983983984, -48.2982982982983, -48.1981981981982, -48.0980980980981, -47.997997997998, -47.8978978978979, -47.7977977977978, -47.6976976976977, -47.5975975975976, -47.4974974974975, -47.3973973973974, -47.2972972972973, -47.1971971971972, -47.0970970970971, -46.996996996997, -46.8968968968969, -46.7967967967968, -46.6966966966967, -46.5965965965966, -46.4964964964965, -46.3963963963964, -46.2962962962963, -46.1961961961962, -46.0960960960961, -45.995995995996, -45.8958958958959, -45.7957957957958, -45.6956956956957, -45.5955955955956, -45.4954954954955, -45.3953953953954, -45.2952952952953, -45.1951951951952, -45.0950950950951, -44.994994994995, -44.8948948948949, -44.7947947947948, -44.6946946946947, -44.5945945945946, -44.4944944944945, -44.394394394394396, -44.294294294294296, -44.194194194194196, -44.094094094094096, -43.993993993993996, -43.893893893893896, -43.793793793793796, -43.693693693693696, -43.593593593593596, -43.493493493493496, -43.393393393393396, -43.293293293293296, -43.193193193193196, -43.093093093093096, -42.992992992992995, -42.892892892892895, -42.792792792792795, -42.692692692692695, -42.592592592592595, -42.49249249249249, -42.392392392392395, -42.29229229229229, -42.192192192192195, -42.09209209209209, -41.991991991991995, -41.89189189189189, -41.791791791791795, -41.69169169169169, -41.591591591591595, -41.49149149149149, -41.391391391391394, -41.29129129129129, -41.191191191191194, -41.09109109109109, -40.990990990990994, -40.89089089089089, -40.790790790790794, -40.69069069069069, -40.590590590590594, -40.49049049049049, -40.390390390390394, -40.29029029029029, -40.190190190190194, -40.09009009009009, -39.98998998998999, -39.889889889889886, -39.78978978978979, -39.689689689689686, -39.58958958958959, -39.489489489489486, -39.38938938938939, -39.289289289289286, -39.189189189189186, -39.089089089089086, -38.988988988988986, -38.888888888888886, -38.788788788788786, -38.688688688688686, -38.588588588588586, -38.488488488488485, -38.388388388388385, -38.288288288288285, -38.188188188188185, -38.088088088088085, -37.987987987987985, -37.887887887887885, -37.787787787787785, -37.687687687687685, -37.587587587587585, -37.487487487487485, -37.387387387387385, -37.287287287287285, -37.187187187187185, -37.087087087087085, -36.986986986986985, -36.886886886886884, -36.786786786786784, -36.686686686686684, -36.586586586586584, -36.486486486486484, -36.386386386386384, -36.286286286286284, -36.186186186186184, -36.086086086086084, -35.985985985985984, -35.885885885885884, -35.785785785785784, -35.685685685685684, -35.585585585585584, -35.48548548548548, -35.38538538538538, -35.28528528528528, -35.18518518518518, -35.08508508508508, -34.98498498498498, -34.88488488488488, -34.78478478478478, -34.68468468468468, -34.58458458458458, -34.48448448448448, -34.38438438438438, -34.28428428428428, -34.18418418418418, -34.08408408408408, -33.98398398398398, -33.88388388388388, -33.78378378378378, -33.68368368368368, -33.58358358358358, -33.48348348348348, -33.38338338338338, -33.28328328328328, -33.18318318318318, -33.08308308308308, -32.98298298298298, -32.88288288288288, -32.78278278278278, -32.68268268268268, -32.58258258258258, -32.48248248248248, -32.38238238238238, -32.28228228228228, -32.18218218218218, -32.08208208208208, -31.98198198198198, -31.88188188188188, -31.78178178178178, -31.68168168168168, -31.58158158158158, -31.48148148148148, -31.38138138138138, -31.28128128128128, -31.18118118118118, -31.08108108108108, -30.98098098098098, -30.88088088088088, -30.78078078078078, -30.68068068068068, -30.58058058058058, -30.48048048048048, -30.38038038038038, -30.28028028028028, -30.18018018018018, -30.08008008008008, -29.97997997997998, -29.87987987987988, -29.77977977977978, -29.67967967967968, -29.57957957957958, -29.47947947947948, -29.37937937937938, -29.27927927927928, -29.17917917917918, -29.07907907907908, -28.97897897897898, -28.87887887887888, -28.77877877877878, -28.67867867867868, -28.578578578578576, -28.478478478478475, -28.378378378378375, -28.278278278278275, -28.178178178178175, -28.078078078078075, -27.977977977977975, -27.877877877877875, -27.777777777777775, -27.677677677677675, -27.577577577577575, -27.477477477477475, -27.377377377377375, -27.277277277277275, -27.177177177177175, -27.077077077077075, -26.976976976976974, -26.876876876876874, -26.776776776776774, -26.676676676676674, -26.576576576576574, -26.476476476476474, -26.376376376376374, -26.276276276276274, -26.176176176176174, -26.076076076076074, -25.975975975975974, -25.875875875875874, -25.775775775775774, -25.675675675675674, -25.575575575575574, -25.475475475475474, -25.375375375375373, -25.275275275275273, -25.175175175175173, -25.075075075075073, -24.974974974974973, -24.874874874874873, -24.774774774774773, -24.674674674674673, -24.574574574574573, -24.474474474474473, -24.374374374374373, -24.274274274274273, -24.174174174174173, -24.074074074074073, -23.973973973973973, -23.873873873873872, -23.773773773773772, -23.673673673673672, -23.573573573573572, -23.473473473473472, -23.373373373373372, -23.273273273273272, -23.173173173173172, -23.073073073073072, -22.972972972972972, -22.872872872872872, -22.772772772772772, -22.67267267267267, -22.57257257257257, -22.47247247247247, -22.37237237237237, -22.27227227227227, -22.17217217217217, -22.07207207207207, -21.97197197197197, -21.87187187187187, -21.77177177177177, -21.67167167167167, -21.57157157157157, -21.47147147147147, -21.37137137137137, -21.27127127127127, -21.17117117117117, -21.07107107107107, -20.97097097097097, -20.87087087087087, -20.77077077077077, -20.67067067067067, -20.57057057057057, -20.47047047047047, -20.37037037037037, -20.27027027027027, -20.17017017017017, -20.070070070070066, -19.969969969969966, -19.869869869869866, -19.769769769769766, -19.669669669669666, -19.569569569569566, -19.469469469469466, -19.369369369369366, -19.269269269269266, -19.169169169169166, -19.069069069069066, -18.968968968968966, -18.868868868868866, -18.768768768768766, -18.668668668668666, -18.568568568568566, -18.468468468468465, -18.368368368368365, -18.268268268268265, -18.168168168168165, -18.068068068068065, -17.967967967967965, -17.867867867867865, -17.767767767767765, -17.667667667667665, -17.567567567567565, -17.467467467467465, -17.367367367367365, -17.267267267267265, -17.167167167167165, -17.067067067067065, -16.966966966966964, -16.866866866866864, -16.766766766766764, -16.666666666666664, -16.566566566566564, -16.466466466466464, -16.366366366366364, -16.266266266266264, -16.166166166166164, -16.066066066066064, -15.965965965965964, -15.865865865865864, -15.765765765765764, -15.665665665665664, -15.565565565565564, -15.465465465465464, -15.365365365365363, -15.265265265265263, -15.165165165165163, -15.065065065065063, -14.964964964964963, -14.864864864864863, -14.764764764764763, -14.664664664664663, -14.564564564564563, -14.464464464464463, -14.364364364364363, -14.264264264264263, -14.164164164164163, -14.064064064064063, -13.963963963963963, -13.863863863863862, -13.763763763763762, -13.663663663663662, -13.563563563563562, -13.463463463463462, -13.363363363363362, -13.263263263263262, -13.163163163163162, -13.063063063063062, -12.962962962962962, -12.862862862862862, -12.762762762762762, -12.662662662662662, -12.562562562562562, -12.462462462462462, -12.362362362362362, -12.262262262262261, -12.162162162162161, -12.062062062062061, -11.961961961961961, -11.861861861861861, -11.761761761761761, -11.661661661661661, -11.561561561561561, -11.461461461461461, -11.36136136136136, -11.26126126126126, -11.16116116116116, -11.06106106106106, -10.96096096096096, -10.86086086086086, -10.76076076076076, -10.66066066066066, -10.56056056056056, -10.46046046046046, -10.36036036036036, -10.26026026026026, -10.16016016016016, -10.06006006006006, -9.95995995995996, -9.85985985985986, -9.75975975975976, -9.65965965965966, -9.55955955955956, -9.45945945945946, -9.35935935935936, -9.25925925925926, -9.15915915915916, -9.05905905905906, -8.95895895895896, -8.85885885885886, -8.75875875875876, -8.65865865865866, -8.558558558558559, -8.458458458458459, -8.358358358358359, -8.258258258258259, -8.158158158158159, -8.058058058058059, -7.957957957957959, -7.857857857857859, -7.7577577577577586, -7.6576576576576585, -7.557557557557558, -7.457457457457458, -7.357357357357358, -7.257257257257251, -7.157157157157151, -7.057057057057051, -6.956956956956951, -6.856856856856851, -6.756756756756751, -6.656656656656651, -6.556556556556551, -6.456456456456451, -6.3563563563563505, -6.2562562562562505, -6.15615615615615, -6.05605605605605, -5.95595595595595, -5.85585585585585, -5.75575575575575, -5.65565565565565, -5.55555555555555, -5.45545545545545, -5.35535535535535, -5.25525525525525, -5.15515515515515, -5.05505505505505, -4.95495495495495, -4.85485485485485, -4.7547547547547495, -4.6546546546546494, -4.554554554554549, -4.454454454454449, -4.354354354354349, -4.254254254254249, -4.154154154154149, -4.054054054054049, -3.953953953953949, -3.853853853853849, -3.753753753753749, -3.653653653653649, -3.5535535535535487, -3.4534534534534487, -3.3533533533533486, -3.2532532532532485, -3.1531531531531485, -3.0530530530530484, -2.9529529529529484, -2.8528528528528483, -2.7527527527527482, -2.652652652652648, -2.552552552552548, -2.452452452452448, -2.352352352352348, -2.252252252252248, -2.152152152152148, -2.0520520520520478, -1.9519519519519477, -1.8518518518518476, -1.7517517517517476, -1.6516516516516475, -1.5515515515515474, -1.4514514514514474, -1.3513513513513473, -1.2512512512512473, -1.1511511511511472, -1.0510510510510471, -0.9509509509509471, -0.850850850850847, -0.7507507507507469, -0.6506506506506469, -0.5505505505505468, -0.45045045045044674, -0.3503503503503467, -0.2502502502502466, -0.15015015015014654, -0.05005005005004648, 0.050050050050053585, 0.15015015015015365, 0.2502502502502537, 0.3503503503503538, 0.45045045045045384, 0.5505505505505539, 0.650650650650654, 0.750750750750754, 0.8508508508508541, 0.9509509509509542, 1.0510510510510542, 1.1511511511511543, 1.2512512512512544, 1.3513513513513544, 1.4514514514514545, 1.5515515515515546, 1.6516516516516546, 1.7517517517517547, 1.8518518518518547, 1.9519519519519548, 2.052052052052055, 2.152152152152155, 2.252252252252255, 2.352352352352355, 2.452452452452455, 2.552552552552555, 2.6526526526526553, 2.7527527527527553, 2.8528528528528554, 2.9529529529529555, 3.0530530530530555, 3.1531531531531556, 3.2532532532532557, 3.3533533533533557, 3.453453453453456, 3.553553553553556, 3.653653653653656, 3.753753753753756, 3.853853853853856, 3.953953953953956, 4.054054054054056, 4.154154154154156, 4.254254254254256, 4.354354354354356, 4.454454454454456, 4.5545545545545565, 4.6546546546546566, 4.754754754754757, 4.854854854854857, 4.954954954954957, 5.055055055055057, 5.155155155155157, 5.255255255255257, 5.355355355355357, 5.455455455455457, 5.555555555555557, 5.655655655655657, 5.755755755755757, 5.855855855855857, 5.955955955955957, 6.0560560560560575, 6.1561561561561575, 6.256256256256258, 6.356356356356358, 6.456456456456458, 6.556556556556558, 6.656656656656658, 6.756756756756758, 6.856856856856858, 6.956956956956958, 7.057057057057058, 7.157157157157158, 7.257257257257258, 7.357357357357358, 7.457457457457458, 7.557557557557558, 7.6576576576576585, 7.7577577577577586, 7.857857857857859, 7.957957957957959, 8.058058058058059, 8.158158158158159, 8.258258258258259, 8.358358358358359, 8.458458458458459, 8.558558558558559, 8.65865865865866, 8.75875875875876, 8.85885885885886, 8.95895895895896, 9.05905905905906, 9.15915915915916, 9.25925925925926, 9.35935935935936, 9.45945945945946, 9.55955955955956, 9.65965965965966, 9.75975975975976, 9.859859859859867, 9.959959959959967, 10.060060060060067, 10.160160160160167, 10.260260260260267, 10.360360360360367, 10.460460460460467, 10.560560560560567, 10.660660660660668, 10.760760760760768, 10.860860860860868, 10.960960960960968, 11.061061061061068, 11.161161161161168, 11.261261261261268, 11.361361361361368, 11.461461461461468, 11.561561561561568, 11.661661661661668, 11.761761761761768, 11.861861861861868, 11.961961961961968, 12.062062062062068, 12.162162162162168, 12.262262262262269, 12.362362362362369, 12.462462462462469, 12.562562562562569, 12.662662662662669, 12.762762762762769, 12.862862862862869, 12.962962962962969, 13.063063063063069, 13.16316316316317, 13.26326326326327, 13.36336336336337, 13.46346346346347, 13.56356356356357, 13.66366366366367, 13.76376376376377, 13.86386386386387, 13.96396396396397, 14.06406406406407, 14.164164164164163, 14.26426426426427, 14.364364364364363, 14.46446446446447, 14.564564564564563, 14.66466466466467, 14.764764764764763, 14.86486486486487, 14.964964964964963, 15.06506506506507, 15.165165165165163, 15.26526526526527, 15.365365365365363, 15.46546546546547, 15.565565565565564, 15.66566566566567, 15.765765765765764, 15.86586586586587, 15.965965965965964, 16.06606606606607, 16.166166166166164, 16.26626626626627, 16.366366366366364, 16.46646646646647, 16.566566566566564, 16.66666666666667, 16.766766766766764, 16.86686686686687, 16.966966966966964, 17.06706706706707, 17.167167167167165, 17.267267267267272, 17.367367367367365, 17.467467467467472, 17.567567567567565, 17.667667667667672, 17.767767767767765, 17.867867867867872, 17.967967967967965, 18.068068068068072, 18.168168168168165, 18.268268268268272, 18.36836836836838, 18.468468468468473, 18.56856856856858, 18.668668668668673, 18.76876876876878, 18.868868868868873, 18.96896896896898, 19.069069069069073, 19.16916916916918, 19.269269269269273, 19.36936936936938, 19.469469469469473, 19.56956956956958, 19.669669669669673, 19.76976976976978, 19.869869869869873, 19.96996996996998, 20.070070070070074, 20.17017017017018, 20.270270270270274, 20.37037037037038, 20.470470470470474, 20.57057057057058, 20.670670670670674, 20.77077077077078, 20.870870870870874, 20.97097097097098, 21.071071071071074, 21.17117117117118, 21.271271271271274, 21.37137137137138, 21.471471471471475, 21.57157157157158, 21.671671671671675, 21.771771771771782, 21.871871871871875, 21.971971971971982, 22.072072072072075, 22.172172172172182, 22.272272272272275, 22.372372372372382, 22.472472472472475, 22.572572572572582, 22.672672672672675, 22.772772772772782, 22.872872872872875, 22.972972972972983, 23.073073073073076, 23.173173173173183, 23.273273273273276, 23.373373373373383, 23.473473473473476, 23.573573573573583, 23.673673673673676, 23.773773773773783, 23.873873873873876, 23.973973973973983, 24.074074074074076, 24.174174174174183, 24.274274274274276, 24.374374374374383, 24.474474474474476, 24.574574574574584, 24.674674674674677, 24.774774774774784, 24.874874874874877, 24.974974974974984, 25.075075075075077, 25.175175175175184, 25.275275275275277, 25.375375375375384, 25.475475475475477, 25.575575575575584, 25.675675675675677, 25.775775775775784, 25.875875875875877, 25.975975975975985, 26.076076076076077, 26.176176176176185, 26.276276276276278, 26.376376376376385, 26.476476476476478, 26.576576576576585, 26.676676676676678, 26.776776776776785, 26.876876876876878, 26.976976976976985, 27.077077077077078, 27.177177177177185, 27.27727727727728, 27.377377377377385, 27.47747747747748, 27.577577577577586, 27.67767767767768, 27.777777777777786, 27.87787787787788, 27.977977977977986, 28.07807807807808, 28.178178178178186, 28.27827827827828, 28.378378378378386, 28.47847847847848, 28.578578578578586, 28.67867867867868, 28.778778778778786, 28.87887887887888, 28.978978978978986, 29.07907907907908, 29.179179179179187, 29.27927927927928, 29.379379379379387, 29.47947947947948, 29.579579579579587, 29.67967967967968, 29.779779779779787, 29.87987987987988, 29.979979979979987, 30.08008008008008, 30.180180180180187, 30.28028028028028, 30.380380380380387, 30.48048048048048, 30.580580580580587, 30.68068068068068, 30.780780780780788, 30.88088088088088, 30.980980980980988, 31.08108108108108, 31.181181181181188, 31.28128128128128, 31.381381381381388, 31.48148148148148, 31.581581581581588, 31.68168168168168, 31.78178178178179, 31.88188188188188, 31.98198198198199, 32.08208208208208, 32.18218218218219, 32.28228228228228, 32.38238238238239, 32.48248248248248, 32.58258258258259, 32.68268268268268, 32.78278278278279, 32.88288288288288, 32.98298298298299, 33.08308308308308, 33.18318318318319, 33.28328328328328, 33.38338338338339, 33.48348348348348, 33.58358358358359, 33.68368368368368, 33.78378378378379, 33.88388388388388, 33.98398398398399, 34.08408408408408, 34.18418418418419, 34.28428428428428, 34.38438438438439, 34.48448448448448, 34.58458458458459, 34.68468468468468, 34.78478478478479, 34.88488488488488, 34.98498498498499, 35.08508508508508, 35.18518518518519, 35.28528528528528, 35.38538538538539, 35.4854854854855, 35.58558558558559, 35.6856856856857, 35.78578578578579, 35.8858858858859, 35.98598598598599, 36.0860860860861, 36.18618618618619, 36.2862862862863, 36.38638638638639, 36.4864864864865, 36.58658658658659, 36.6866866866867, 36.78678678678679, 36.8868868868869, 36.98698698698699, 37.0870870870871, 37.18718718718719, 37.2872872872873, 37.38738738738739, 37.4874874874875, 37.58758758758759, 37.6876876876877, 37.78778778778779, 37.8878878878879, 37.98798798798799, 38.0880880880881, 38.18818818818819, 38.2882882882883, 38.38838838838839, 38.4884884884885, 38.58858858858859, 38.6886886886887, 38.78878878878879, 38.8888888888889, 38.98898898898899, 39.0890890890891, 39.18918918918919, 39.2892892892893, 39.38938938938939, 39.4894894894895, 39.58958958958959, 39.6896896896897, 39.78978978978979, 39.8898898898899, 39.98998998998999, 40.0900900900901, 40.190190190190194, 40.2902902902903, 40.390390390390394, 40.4904904904905, 40.590590590590594, 40.6906906906907, 40.790790790790794, 40.8908908908909, 40.990990990990994, 41.0910910910911, 41.191191191191194, 41.2912912912913, 41.391391391391394, 41.4914914914915, 41.591591591591595, 41.6916916916917, 41.791791791791795, 41.8918918918919, 41.991991991991995, 42.0920920920921, 42.192192192192195, 42.2922922922923, 42.392392392392395, 42.4924924924925, 42.592592592592595, 42.6926926926927, 42.792792792792795, 42.8928928928929, 42.992992992992995, 43.0930930930931, 43.193193193193196, 43.2932932932933, 43.393393393393396, 43.4934934934935, 43.593593593593596, 43.6936936936937, 43.793793793793796, 43.8938938938939, 43.993993993993996, 44.0940940940941, 44.194194194194196, 44.2942942942943, 44.394394394394396, 44.494494494494504, 44.5945945945946, 44.694694694694704, 44.7947947947948, 44.894894894894904, 44.994994994995, 45.095095095095104, 45.1951951951952, 45.295295295295304, 45.3953953953954, 45.495495495495504, 45.5955955955956, 45.695695695695704, 45.7957957957958, 45.895895895895904, 45.995995995996, 46.096096096096105, 46.1961961961962, 46.296296296296305, 46.3963963963964, 46.496496496496505, 46.5965965965966, 46.696696696696705, 46.7967967967968, 46.896896896896905, 46.996996996997, 47.097097097097105, 47.1971971971972, 47.297297297297305, 47.3973973973974, 47.497497497497505, 47.5975975975976, 47.697697697697706, 47.7977977977978, 47.897897897897906, 47.997997997998, 48.098098098098106, 48.1981981981982, 48.298298298298306, 48.3983983983984, 48.498498498498506, 48.5985985985986, 48.698698698698706, 48.7987987987988, 48.898898898898906, 48.998998998999, 49.09909909909911, 49.1991991991992, 49.29929929929931, 49.3993993993994, 49.49949949949951, 49.5995995995996, 49.69969969969971, 49.7997997997998, 49.89989989989991, 50.0], "expected": ["PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", "PINF", 1.950950950950947, 1.850850850850847, 1.750750750750747, 1.6506506506506469, 1.5505505505505468, 1.4504504504504467, 1.3503503503503467, 1.2502502502502466, 1.1501501501501465, 1.0500500500500465, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -19.588235294116426, -6.615894039734962, -3.980079681274851, -2.8461538461538214, -2.215077605321493, -1.8130671506351987, -1.5345622119815598, -1.3302263648468657, -1.173913043478257, -1.0504731861198706, 0.9034945650058208, 0.7533214422392459, 0.6376999120128329, 0.5467896412504683, 0.4740194385772574, 0.4148655575051709, 0.36613127664125034, 0.3255057646752226, 0.2912850121752919, 0.2621901896305716, -0.11555785812826383, -0.1001786635270833, -0.08741178314855244, -0.07672529683439125, -0.06771213864369029, -0.060057201145924104, -0.05351398363267031, -0.04788777880793291, -0.04302340836655644, -0.03879616843582538, 0.011494580399863048, 0.010103418445643362, 0.008916493040231283, 0.00789885681963836, 0.007022344251020416, 0.006264108387653182, 0.0056055034100637455, 0.005031224496980706, 0.004528640836202559, 0.004087274767409756, -0.0009120449126546164, -0.0008073535778716649, -0.0007167569558413598, -0.0006380901265823778, -0.000569559984744321, -0.0005096749202056081, -0.0004571889693445171, -0.0004110572278328631, -0.0003704000767501968, -0.00033447434310520497, 5.98588981445375e-05, 5.321617185877199e-05, 4.741773657370974e-05, 4.23431558990694e-05, 3.78909799405006e-05, 3.397547720524163e-05, 3.052397474595302e-05, 2.747468511861536e-05, 2.4774924558013228e-05, 2.2379646781545897e-05, -3.3432461030336057e-06, -2.9808376870303262e-06, -2.66263677066879e-06, -2.382668528135858e-06, -2.1358420095127817e-06, -1.917808422312532e-06, -1.724843842870094e-06, -1.5537518604120645e-06, -1.4017825356429845e-06, -1.2665647531663535e-06, 1.6237463520739522e-07, 1.4507403201509953e-07, 1.2981971901228457e-07, 1.1634628586405568e-07, 1.0442570083212859e-07, 9.386164118846985e-08, 8.448474354341845e-08, 7.614861534223004e-08, 6.872647777502754e-08, 6.210833375711858e-08, -6.973341823755043e-09, -6.240097217161399e-09, -5.591522927199867e-09, -5.016987753027345e-09, -4.507300140924063e-09, -4.0544993592970955e-09, -3.6516789318348015e-09, -3.2928370484999914e-09, -2.972749585979018e-09, -2.6868621155961337e-09, 2.6834235898195335e-10, 2.404193002307643e-10, 2.1565924114705527e-10, 1.936753334198645e-10, 1.7413146370326908e-10, 1.5673516001280495e-10, 1.4123155018595363e-10, 1.2739820761243114e-10, 1.1504074659874113e-10, 1.039890521968561e-10, -9.352298666694039e-12, -8.387321005413891e-12, -7.529944960670734e-12, -6.767292933470402e-12, -6.088131794229567e-12, -5.482649933017701e-12, -4.942266260493315e-12, -4.459466338041692e-12, -4.027661579176237e-12, -3.641068101303692e-12, 2.9782895095553427e-13, 2.673129932245899e-13, 2.4015540337085634e-13, 2.1596151956019384e-13, 1.943859550504051e-13, 1.7512609043181392e-13, 1.579164715331893e-13, 1.4252398063183427e-13, 1.2874366886001041e-13, 1.1639515471728117e-13, -8.730743374860211e-15, -7.841426493634057e-15, -7.048899663316113e-15, -6.341963885783804e-15, -5.710791656684821e-15, -5.146749872611732e-15, -4.642246766453972e-15, -4.1905994555696846e-15, -3.7859191946057225e-15, -3.4230118534833866e-15, 2.3708483736033367e-16, 2.1305608697640232e-16, 1.9161772491785592e-16, 1.7247402260058224e-16, 1.5536486696273392e-16, 1.4006125105333005e-16, 1.2636136305229165e-16, 1.1408719071015952e-16, 1.0308157020249137e-16, 9.320561859411708e-17, -5.996168335779789e-18, -5.391074816094883e-18, -4.850675499618536e-18, -4.3676703927369665e-18, -3.935625881128653e-18, -3.548866909858686e-18, -3.202383195146497e-18, -2.8917475629122543e-18, -2.6130447783677274e-18, -2.362809460578621e-18, 1.419064447687015e-19, 1.2764007199975414e-19, 1.1488800137803015e-19, 1.0348110665857649e-19, 9.327007611827012e-20, 8.412298403124795e-20, 7.592317275566153e-20, 6.856740406627161e-20, 6.196424409163564e-20, 5.60326511174311e-20, -3.1555690599255734e-21, -2.8393779708797012e-21, -2.5565351286484498e-21, -2.3033497324361956e-21, -2.0765584486527135e-21, -1.87327372795033e-21, -1.6909386307953222e-21, -1.5272873096000872e-21, -1.3803104111504296e-21, -1.2482247624969344e-21, 6.61730890981482e-23, 5.956192744864204e-23, 5.364408413504549e-23, 4.834344683379509e-23, 4.359262833223084e-23, 3.9331924432079804e-23, 3.550840126681135e-23, 3.207509535343563e-23, 2.899031192658573e-23, 2.6217009022274563e-23, -1.3128654466871866e-24, -1.1820441484182256e-24, -1.0648725680714416e-24, -9.598631237399566e-25, -8.656971905000893e-25, -7.812051421332176e-25, -7.0534884028545915e-25, -6.372062600372385e-25, -5.759579817535008e-25, -5.208753144261483e-25, 2.4714636315091182e-26, 2.2257718169382763e-26, 2.0055979835342874e-26, 1.80817935284655e-26, 1.631064319824226e-26, 1.4720760609406856e-26, 1.329280554037847e-26, 1.2009584563765682e-26, 1.0855803591489483e-26, 9.817849988715605e-27, -4.426072015886972e-28, -3.9870032470907362e-28, -3.5933482240647264e-28, -3.240219360885312e-28, -2.923275384928637e-28, -2.6386580251038384e-28, -2.382936295239558e-28, -2.1530574308096293e-28, -1.9463036577406384e-28, -1.7602540766865664e-28, 7.558587649132347e-30, 6.810215042461973e-30, 6.138956733273951e-30, 5.536558447207508e-30, 4.995682138972391e-30, 4.509800693470567e-30, 4.073105138255194e-30, 3.680422832508229e-30, 3.327145291872163e-30, 3.009164477321472e-30, -1.2335466449095427e-31, -1.1116279967561328e-31, -1.0022289728996228e-31, -9.040161361913665e-32, -8.158031203119657e-32, -7.365338564777149e-32, -6.652677755686097e-32, -6.011667457366029e-32, -5.434835355758082e-32, -4.9155161909243654e-32, 1.9276013420427883e-33, 1.7373911227912673e-33, 1.5666516832679982e-33, 1.4133187000576702e-33, 1.2755542002670514e-33, 1.1517209281486572e-33, 1.0403597060821822e-33, 9.401694295290666e-34, 8.499893802159108e-34, 7.687835807557643e-34, -2.8894071805023944e-35, -2.6047092813606834e-35, -2.3490697654164492e-35, -2.1194207819097324e-35, -1.91302904720045e-35, -1.7274582029167858e-35, -1.5605355381304134e-35, -1.410322554775273e-35, -1.2750889194330178e-35, -1.1532894004556202e-35, 4.161510098576929e-37, 3.752027442635308e-37, 3.3842276121993097e-37, 3.053727056508571e-37, 2.7566178820862074e-37, 2.489414660165518e-37, 2.2490073579024583e-37, 2.032619668344235e-37, 1.8377721023207136e-37, 1.6622492826045084e-37, -5.7677896331003855e-39, -5.20096657919011e-39, -4.691699398428229e-39, -4.2339571178440955e-39, -3.822360137547369e-39, -3.452107797162141e-39, -3.1189142268538934e-39, -2.8189515092928158e-39, -2.5487992963762088e-39, -2.305400127466363e-39, 7.703721734350583e-41, 6.947530107641616e-41, 6.267945993766103e-41, 5.656969064610355e-41, 5.10745931943709e-41, 4.613041916567864e-41, 4.1680228237580507e-41, 3.767314024512798e-41, 3.40636716879617e-41, 3.0811146892227035e-41, -9.928806825856794e-43, -8.955259640449682e-43, -8.080127793094712e-43, -7.293165701613016e-43, -6.5852250990950834e-43, -5.9481342447876665e-43, -5.374590788095971e-43, -4.858066702365027e-43, -4.392723893344947e-43, -3.9733392525502394e-43, 1.2363233048440433e-44, 1.1152209603185508e-44, 1.006336237458769e-44, 9.084009385258116e-45, 8.202821770016065e-45, 7.409675512865703e-45, 6.695519853101751e-45, 6.052260439113707e-45, 5.472655535366148e-45, 4.950223787495368e-45, -1.4890296707845764e-46, -1.3433116875783457e-46, -1.2122671354557888e-46, -1.094377080057855e-46, -9.88284075127729e-47, -8.927745441804153e-47, -8.067631330576713e-47, -7.292788074766253e-47, -6.594524961886503e-47, -5.965061036890648e-47, 1.7365076622816613e-48, 1.566721680647535e-48, 1.4140026358563353e-48, 1.2765883769940765e-48, 1.1529034739188922e-48, 1.0415389285903334e-48, 9.412341452874045e-49, 8.508609021995588e-49, 7.694090969146472e-49, 6.95974064782531e-49, -1.962857780259367e-50, -1.771100037277355e-50, -1.598585973234733e-50, -1.4433335023912533e-50, -1.303569904494137e-50, -1.1777091624424897e-50, -1.064331811882454e-50, -9.621670178164692e-51, -8.700766263596197e-51, -7.870409689055786e-51, 2.152534190890453e-52, 1.942410705422592e-52, 1.7533411598611694e-52, 1.5831619621396432e-52, 1.4299373806620522e-52, 1.2919349689105627e-52, 1.1676037025706115e-52, 1.0555545229744459e-52, 9.545430159935972e-53, 8.634539866743368e-53, -2.2921688928248842e-54, -2.068579467733899e-54, -1.86736036159683e-54, -1.6862176581175795e-54, -1.5230983502606932e-54, -1.3761644460515211e-54, -1.2437699210804403e-54, -1.1244401978182497e-54, -1.0168538685719235e-54, -9.19826411329533e-55, 2.3721530931922595e-56, 2.1409224143520743e-56, 1.9327944944103392e-56, 1.7454051357223753e-56, 1.5766377731308024e-56, 1.4245969430069223e-56, 1.2875846579960747e-56, 1.1640793623446497e-56, 1.0527171798298632e-56, 9.522751991287424e-57, -2.387714387643512e-58, -2.1551197359801442e-58, -1.9457336377753442e-58, -1.7571856494371426e-58, -1.5873529907588469e-58, -1.4343340918464687e-58, -1.2964250268489301e-58, -1.1720985127987673e-58, -1.0599851884558126e-58, -9.588569203894219e-59, 2.3393276840593304e-60, 2.1115882644510466e-60, 1.9065446941155277e-60, 1.721883134650059e-60, 1.5555309210138023e-60, 1.4056308765133127e-60, 1.2705184212386563e-60, 1.1487011638657467e-60, 1.0388407018528855e-60, 9.397363861202611e-61, -2.2324262777546715e-62, -2.0152221431447925e-62, -1.8196384135497142e-62, -1.6434747196927163e-62, -1.4847595194920192e-62, -1.3417257952518178e-62, -1.2127893854236427e-62, -1.0965296595679246e-62, -9.916722780031877e-63, -8.970738067136186e-63, 2.0765057894760817e-64, 1.874585076658917e-64, 1.6927409411999145e-64, 1.528933507198968e-64, 1.3813345785555756e-64, 1.2483052164537756e-64, 1.1283757400881085e-64, 1.020227883573948e-64, 9.226788719831401e-65, 8.34667206012694e-65, -1.8838099631905272e-66, -1.7007246244720347e-66, -1.5358236924802827e-66, -1.3872624490945784e-66, -1.2533872115404913e-66, -1.132715147408116e-66, -1.0239162646829667e-66, -9.257973378927766e-67, -8.372875582074396e-67, -7.574257190184246e-67, 1.6678361568487545e-68, 1.5058232019167299e-68, 1.3598853616882436e-68, 1.2283943384236713e-68, 1.1098901277251648e-68, 1.0030632790419068e-68, 9.067390623107511e-69, 8.198633320386384e-69, 7.414899034036401e-69, 6.707692755820238e-69, -1.4418958342131987e-70, -1.301898273795782e-70, -1.1757779836816806e-70, -1.0621313020100644e-70, -9.596993719178192e-71, -8.673529127935523e-71, -7.840786234926848e-71, -7.089670393852015e-71, -6.412016849018967e-71, -5.800493808021283e-71, 1.2179199771889022e-72, 1.0997233219742927e-72, 9.932320891568596e-73, 8.972639122863715e-73, 8.107581827884488e-73, 7.327632730065084e-73, 6.624251249485485e-73, 5.989770561091337e-73, 5.4173065019902974e-73, 4.900676152232732e-73, -1.005627731058623e-74, -9.080765555041065e-75, -8.201776740360602e-75, -7.40957380037532e-75, -6.69542066098351e-75, -6.051477418357085e-75, -5.470706693807315e-75, -4.946789952370622e-75, -4.4740527060964355e-75, -4.0473976419128067e-75, 8.120979722284117e-77, 7.333533477076125e-77, 6.623935999537545e-77, 5.984343856079373e-77, 5.407718616639501e-77, 4.8877427253489835e-77, 4.418744320380621e-77, 3.9956300343910745e-77, 3.61382491358801e-77, 3.2692186881495235e-77, -6.417145323929783e-79, -5.795161000636574e-79, -5.2346177294020694e-79, -4.729332601499516e-79, -4.2737562904074055e-79, -3.8629069646382864e-79, -3.492311214639384e-79, -3.1579512365794946e-79, -2.856217598944702e-79, -2.5838669917084467e-79, 4.964073960240397e-81, 4.483114760628747e-81, 4.0496289722493718e-81, 3.6588447565783357e-81, 3.3064785250100807e-81, 2.988684104827222e-81, 2.702007288660357e-81, 2.4433451877203973e-81, 2.2099098725381897e-81, 1.9991958413464686e-81, -3.7608831355587474e-83, -3.396633471311787e-83, -3.0683105699458054e-83, -2.7723071951102985e-83, -2.505384666392591e-83, -2.264634555188013e-83, -2.0474444286416182e-83, -1.851467206788019e-83, -1.674593745487092e-83, 3.091690408090221e-85]}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases1.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases1.json
new file mode 100644
index 000000000000..2896fe4b7f04
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases1.json
@@ -0,0 +1 @@
+{"a": [1.0, 0.3333333333333333, 0.25, 2.0, 2.0, 2.0, 1.0, 0.7235, 0.25, 0.25, 1.5, -10.0, -10.0, -1.0, -1.0, -3.0, -3.0, 0.5], "b": [2.0, 0.6666666666666666, 0.5, -2.0, -3.0, -1.5, 2.0, -1.0, 0.3333333333333333, 0.3333333333333333, -0.5, 900.0, 900.0, 2.0, 2.0, 13.0, 13.0, -269.5], "c": [3.0, 0.8333333333333334, 0.75, -3.0, -2.0, -1.5, 3.0, -5.0, 2.0, 2.0, 3.0, -10.5, 10.5, 1.0, 1.0, 5.0, 5.0, 1.5], "x": [0.0, 0.84375, 0.9876543209876543, 3.0, 3.0, 3.0, 0.0, 0.3, 0.999, -1.0, 0.99, 0.99, 0.99, 1.0, -1.0, 1.0, -1.0, 0.998001], "expected": [1.0, 1.599999999999999, 1.7999999999999985, 14.0, "PINF", 0.25, 1.0, 1.04341, 1.0682644949603064, 0.9665658449252437, 0.6840303684391167, 2.5101757354622962e+22, 5.5748237303615763e+17, -1.0, 3.0, -1.6, 40.0, 0.053963052503373715]}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases2.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases2.json
new file mode 100644
index 000000000000..a8aa89889b0c
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases2.json
@@ -0,0 +1 @@
+{"a": [112, 10, 10], "b": [5.1, -900.0, -900.0], "c": [-0.9, 10.5, -10.5], "x": [-0.99999, 0.99, 0.99], "expected": [-1.624136104797094e-24, 1.918537057966121e-24, 3.542792000403634e-18]}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases3.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases3.json
new file mode 100644
index 000000000000..34e12556d3f4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases3.json
@@ -0,0 +1 @@
+{"a": [-10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -5.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0], "b": [-2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4], "c": [-9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -1.8, -1.8, -1.8, -1.8, -1.8, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 20.4, 20.4, 20.4, 20.4], "x": [-10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -10.0, -1.01, 0.0, 0.6, 0.95, -10.0, -1.01, -0.99, 0.0, 0.6, 0.95, -1.01, -0.99, 0.0, 0.6], "expected": ["PINF", "PINF", "PINF", 1.0, "PINF", "PINF", -24079735066.182957, -2291.84346396414, -2091.731497205369, 1.0, 155.2070332942432, 512.1143805238588, -47505.76832932691, 0.4313060843999952, 0.38304679551306287, 1.0, 6.242858629282901, 11.664819014650925, -23.41460389781427, 0.13189547101833973, 0.14239991446593636, 1.0, 1.8793133090075513, 2.532144159645901, 12.11111111111111, 2.1222222222222222, 2.1, 1.0, 0.33333333333333337, -0.05555555555555558, 56.55555555555556, 6.611111111111111, 6.5, 1.0, -2.333333333333333, -4.277777777777778, -19.0, -1.02, -0.98, 1.0, 2.2, 2.9, -3.901960784313726, 0.5049019607843137, 0.5147058823529411, 1.0, 1.2941176470588236, 1.465686274509804, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 30385553590080.207, 239746.14396828003, 210940.96084820447, 1.0, -1.518798405895177, -0.423256984105889, 37937046.27472527, 16.40282158781611, 15.408786386464593, 1.0, 0.41057709793566455, 0.2971309121507478, 6981.416518887663, 1.8111951024620019, 1.786269497846012, 1.0, 0.7666742342770235, 0.6716749951838735, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 2.6943134756051514e+17, 508092226.7516594, 437683053.4574324, 1.0, 118.44432646361211, -49.165709011819956, 260624520438.12, 5140.884980337666, 4601.15457939731, 1.0, 0.00018903116190172744, -1.0283071153687133e-06, 26257598.68214287, 29.51131561185238, 27.7756479342181, 1.0, 0.11120609954396513, 0.03244478862162758, 97.97420634920637, 2.9708942221493766, 2.9201656116582866, 1.0, 0.34592282738095237, 0.11737671579512333, -383018.25505050534, -48.555885990212175, -44.559891375732406, 1.0, 18.656841856060602, 64.10776546747996, -25.488095238095244, -0.34486738191500166, -0.3392775214239121, 1.0, 2.968931339285714, 4.5774756876336955, 1.3150134778674099, 0.46675579830791364, 0.4756914575251626, 1.0, 1.3989821631027937, 1.6612589789582164, 6.555555555555555, 1.5611111111111111, 1.55, 1.0, 0.6666666666666667, 0.4722222222222222, 28.77777777777778, 3.8055555555555554, 3.75, 1.0, -0.6666666666666665, -1.6388888888888888, -9.0, -0.010000000000000009, 0.010000000000000009, 1.0, 1.6, 1.95, -1.450980392156863, 0.7524509803921569, 0.7573529411764706, 1.0, 1.1470588235294117, 1.232843137254902, -492.65079365079373, 0.6325475793642857, 0.6373095634928572, 1.0, 1.4648076190476191, 1.9190034697420635, 19464745.949494954, 754.2084899147728, 697.6415328125001, 1.0, -4.606060606060606, -1.7560270675505072, 1871.3174603174605, 3.067108588413492, 2.9967898265071424, 1.0, 0.5869257142857143, 0.45874028025793656, 21.561247248582212, 1.3011724153511353, 1.2940256887850032, 1.0, 0.8681747510143584, 0.8036528103419859, -368463.08888888883, -0.6498525454757684, -0.5629651268527648, 1.0, 10.737261718186668, 34.36599062533445, 10010798467.16162, 208570.27233539015, 191188.95564534934, 1.0, 95.42974060606075, -15877.930325779678, 668995.5333333333, 81.91291223898511, 77.36136373822877, 1.0, -0.0031620915199999937, -0.00018853755666666701, 3327.576883753861, 5.051171380497275, 4.9102260743844734, 1.0, 0.31153492875746885, 0.1482515912965709, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 401.3115996330035, 5.727830313486948, 5.586408515307487, 1.0, 0.10119288512538815, 0.0005590169943749487, 1.3768220885629678, 0.18324274451541558, 0.1976176211286562, 1.0, 1.5723063371593213, 1.935850480783594, 0.7835243345637823, 0.7876881629390955, 1.0, 1.134577443533487, 1.2151325903507053, 3.0, 1.202, 1.198, 1.0, 0.88, 0.81, 11.0, 2.01, 1.99, 1.0, 0.4, 0.050000000000000044, -2.6, 0.6364, 0.6436, 1.0, 1.216, 1.342, 0.11764705882352933, 0.9108823529411765, 0.9126470588235294, 1.0, 1.0529411764705883, 1.0838235294117646, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 0.09090909090909091, 0.49751243781094534, 0.5025125628140703, 1.0, 2.5, 19.999999999999982, 8.730806546300515, 1.4113254884137527, 1.4022749969601616, 1.0, 0.8016077855788422, 0.7027218515905682, 2.1913487022322444, 1.0924535637219601, 1.0905585753732348, 1.0, 0.9482528578049167, 0.9191799820388069, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 1.9665008108956757e-08, 0.005706228717414593, 0.006144509705799984, 1.0, 880.5541417890707, 4242501142.19516, 138.71254790827138, 5.110435887841933, 5.002974490423454, 1.0, -0.021822942465341902, 0.06988170737413131, 1.7614261400035436, 1.7444141330317497, 1.0, 0.6458180759253609, 0.475081206047281, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 7223.444550517013, 20.39011729408668, 19.36023681139891, 1.0, -2.4008350521991972, -109.60344363409705, 61.13872671420176, 2.2578125644772533, 2.22564225375598, 1.0, 0.5669278179041132, 0.40265496980554594, 1.2454910261168253, 1.2401778345408005, 1.0, 0.8753054765198945, 0.8094386568484939, -1.0, 0.798, 0.802, 1.0, 1.12, 1.19, -9.0, -0.010000000000000009, 0.010000000000000009, 1.0, 1.6, 1.95, 4.6, 1.3636, 1.3564, 1.0, 0.784, 0.658, 1.8823529411764706, 1.0891176470588235, 1.0873529411764706, 1.0, 0.9470588235294117, 0.9161764705882353, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", -0.651081962731712, -0.5445172797757025, -0.5112372082943456, 1.0, 742.4352083542311, 38305689.19272088, 0.27009826016782085, 0.748617978394934, 0.7521396937336332, 1.0, 1.307996113785554, 1.7075179623508192, 0.9209800543014416, 0.9223755986385779, 1.0, 1.0575812882980218, 1.0963494962833231, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 0.05820862985444317, 1.0, 36303478.93548813, 1.3929185299975178e+18, 0.00575218217150655, 0.18055277835995323, 0.1846988589174082, 1.0, 15.57249007061542, 42617.29447393199, 0.5786252776388575, 0.5839455930227497, 1.0, 1.5817708987749601, 2.283247143345565, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 59869.72211490919, 177.4619968500369, 168.507118451391, 1.0, -131.99100344479535, -528922.9908778413, 401.3115996330035, 5.7278303134869475, 5.586408515307487, 1.0, 0.10119288512538815, 0.0005590169943749487, 25.188374720031792, 1.7569551905927858, 1.7391639705958448, 1.0, 0.6772488606121926, 0.5281610303940901, -4.555555555555555, 0.4388888888888889, 0.44999999999999996, 1.0, 1.3333333333333333, 1.5277777777777777, -26.77777777777778, -1.8055555555555554, -1.75, 1.0, 2.6666666666666665, 3.638888888888889, 11.0, 2.01, 1.99, 1.0, 0.4, 0.050000000000000044, 3.450980392156863, 1.2475490196078431, 1.2426470588235294, 1.0, 0.8529411764705882, 0.767156862745098, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", -0.08353419265652244, -2.042869924669208, -2.059998995886413, 1.0, 136331.67665422524, 5463862709345.7, 0.09090909090909091, 0.49751243781094534, 0.5025125628140703, 1.0, 2.5, 19.999999999999982, 0.31231583302819604, 0.8060197315453479, 0.8090585278662749, 1.0, 1.1776650101634791, 1.3226775937922093, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", -5.533085592635573e-05, -0.7615458563603548, -0.7388296643783832, 1.0, 39641245305.197495, 2.117911949843939e+24, 1.9665008108956757e-08, 0.005706228717414593, 0.006144509705799984, 1.0, 880.5541417890707, 4242501142.19516, 0.22917900193296076, 0.2347605917566327, 1.0, 3.7843863065139836, 12.898210811714437, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", 290992.80931441917, 893.5998258984249, 849.0433138129996, 1.0, -6806.570819087061, -948295068489.6099, 1754.1405556797163, 14.794924482626321, 14.32305432076869, 1.0, -0.02566968302658441, -0.44809210276874006, 89.93509035264425, 2.760525497921027, 2.7147819531818547, 1.0, 0.42524820142966624, 0.2230907142267818, -10.11111111111111, -0.12222222222222223, -0.10000000000000009, 1.0, 1.6666666666666665, 2.0555555555555554, -54.55555555555556, -4.611111111111111, -4.5, 1.0, 4.333333333333333, 6.277777777777778, 21.0, 3.02, 2.98, 1.0, -0.19999999999999996, -0.8999999999999999, 5.901960784313726, 1.4950980392156863, 1.4852941176470589, 1.0, 0.7058823529411764, 0.5343137254901961, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", -0.032701791132583626, -0.8414687633381505, 1.0, 75483608.47155939, 9.913045025317654e+19, 0.04282460317505117, 0.3153687356940052, 0.31983075108029946, 1.0, 13.465401785714302, 623612.0634920576, 0.17570582913847588, 0.6724658257490882, 0.6768068551393724, 1.0, 1.4289255390787534, 1.949346748033327, "PINF", "PINF", "PINF", 1.0, "PINF", "PINF", -3.0900882477227245e-07, 0.39839696496151483, 1.0, 156750282756516.1, 4.6094714349206136e+32, -9.198518549246854e-13, -6.087721831718218e-05, -6.748843653318489e-05, 1.0, 245653.93278956393, 5.8971216794061176e+16, 0.0605128935123625, 0.06323387211421305, 1.0, 17.421794032432604]}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases4.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases4.json
new file mode 100644
index 000000000000..42966ce9126d
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/edge_cases4.json
@@ -0,0 +1 @@
+{"a": [-0.15226830455134222, -0.9131783549548078, -0.4679194588655071, -1.7894868373197306, -1.7438037392788601, -0.23636924172608476, -0.24077587026600522, -1.9424088787449327, -7.294611452886247, -3.0200207398727885, -0.3434688006617477, -0.5895107691482007, -1.1530310152223548, -1.2967388960841908, -0.361094344887978, -0.7317548165813446, -0.5939603959242574, -0.00928558858562667, -1.6859321783507886, -3.1717941437250587, -0.35341879080094896, -0.8908522870166447, -0.05363826209817146, -0.35904243746949627, -5.07047758898129, -1.0188168717430623, -0.40136868659180736, -0.2891894316061827, -0.7501568040775133, -2.879426159018215, -0.4652204504876114, -1.9451393368450693, -0.10901809615496627, -1.252825595346593, -1.2544538678368347, -0.17893243919454216, -4.616278071013241, -0.47565073016915305, -3.9542671735571586, -0.04197190446337906, -0.14544728526693418, -0.03287085556142455, -1.1149740809008897, -0.8256962984331955, -0.6620641078035396, -0.02996729116525909, -0.7323783708281273, -0.30559022881722164, -0.5937116718841147, -0.08232303292559484, -0.8644369794855573, -0.744361875927894, -0.0045349465145478884, -0.8975865236870255, -4.059211214981328, -1.8351584508301744, -24.171174650326773, -7.383285170805502, -1.8482265148854813, -0.25092406136299283, -0.9227147230650592, -0.5426652386132857, -0.1562338665637033, -0.37876350496779976, -0.037609450917786, -0.49265896725108704, -13.562231826110176, -0.09222385658663712, -0.08844861765967438, -1.4455566819285544, -0.8040403065374522, -0.5300629113326125, -0.0784668836955067, -0.1895403267589879, -3.6405121375120073, -0.4325130638483674, -0.6681258043277785, -0.004160544178760661, -0.2692100824163093, -0.46646872206028234, -0.8802837270741077, -4.30669733813242, -0.9255219853624213, -1.2616881114617735, -0.11428790083065343, -1.4937321829113364, -2.271554628551837, -0.46893352951803213, -0.11668768065779855, -0.7509973665391898, -0.6500975055931744, -6.511855556691098, -0.5471455038285729, -0.5928416727500667, -0.6705898787003006, -2.127550705375923, -0.03998652308513062, -1.0916249310247799, -1.6418471076015337, -1.272614854201148, -1.8938761475581734, -0.7227748700454033, -8.497851310263437, -0.11195507134826599, -0.020266197452268875, -0.8235039186417472, -0.08409079146138598, -6.44871290964169, -0.30047221310207917, -0.1542672258479041, -0.5039493545147384, -4.404231860607107, -3.089233945178748, -0.2142386173441635, -0.3299608008597834, -0.14386012238640933, -3.698011040324481, -1.2644133839114042, -1.3742671135860598, -3.6443088403834176, -1.7370736940564218, -0.8394254642194579, -0.2578253016822336, -0.3127890836499596, -1.0430079447494207, -0.052092319655030916, -0.03843843444654871, -0.2972515992290763, -0.8133620867788796, -2.6049314976663362, -0.25304210244673153, -0.13506273003889935, -0.10068190937022203, -0.14098567332175405, -0.29008431017536385, -0.7506777128376021, -0.006281343205382983, -3.661768834245061, -11.451930791082392, -0.7205291033049017, -0.060834701374726796, -0.3099373171255433, -1.3845735770074015, -0.10786989440829142, -0.7091671808837223, -0.23688015492333636, -10.541210148824382, -1.0847572980615579, -0.21753975273828963, -0.0794218899582384, -1.7126994201110017, -1.764805162224373, -1.6009614765292648, -4.148665617183622, -1.0472787409094608, -0.7508836864039332, -0.1620980699148673, -1.2230350747678869, -6.591954565401293, -3.3548673201574433, -2.121814328880103, -0.6907140065382913, -0.4919437540566489, -3.370607812199914, -0.8220620026013146, -0.3551098987889263, -0.29712367855877275, -2.925470476327423, -0.175765871455829, -1.4234991506670567, -0.354461282238143, -1.9397428778316002, -1.7669901233167242, -1.238189577033681, -0.9154356796623033, -0.5741693704421418, -2.4006451582571016, -1.2935199737213194, -0.47877720054937845, -0.02124019152106671, -0.3510851115595126, -1.3980921109427813, -0.5377052237281388, -0.32509860854562245, -0.9792802407804477, -0.09410852776208234, -0.13359916783659398, -1.4366401828350601, -0.09479696817169603, -0.3602292339851607, -0.85544256438953, -0.07524001165963279, -1.9473896002538136, -5.961218791660036, -12.153949821388396, -3.1387351775315615, -0.9322230127368334, -4.914990279869797, -1.3635083653719757, -1.3181757101568117, -0.028358754014534915, -0.4709802487776107, -0.24722606466088015, -0.312553903996605, -0.05987232541694376, -1.5954861190874312, -0.6073348879073037, -1.0570303619966914, -0.9413850328662381, -0.36206936017289637, -0.4838177585133696, -0.4298253354494723, -0.5472037224311583, -14.320208255941864, -0.3656854868148416, -0.008357793579809814, -4.473246627367525, -2.9636403920686627, -0.3350685439804104, -0.9407504620777729, -0.34348231451892364, -0.17296200038525633, -0.4371331339149995, -0.051765218218893905, -1.0167384221703135, -1.5587897776991122, -0.3700335218745401, -0.26473587176999547, -0.3635400485080784, -2.229550432964541, -3.6771888046639303, -0.45005271691804793, -0.0014622888572040083, -0.028993165563456547, -0.10731216223535567, -0.8366236591020813, -0.07793068905181011, -0.2650138167041338, -0.04092611364474186, -0.9105370776440864, -0.01541198123481391, -2.6240753103131937, -0.2761480605415707, -1.5806469405500918, -0.7372462011797731, -0.026280403277924025, -0.7432163494348978, -1.0482816995237325, -0.1444927177279718, -1.899055523490949, -0.880990025359021, -0.7173233788466011, -0.9385094286040461, -1.1654408442391486, -0.20116694789479306, -1.8119709027897608, -2.6479867556942818, -1.3808773020462963, -1.1942737947462758, -0.5314514038790574, -2.6547036779592768, -1.072120713357104, -0.31042653358739547, -0.6270068701020515, -0.3974858631531315, -0.021250546510198642, -0.7741764914186546, -2.546164031495648, -6.518058668834194, -1.1508384599712147, -0.05423223274100164, -0.4216856401575153, -0.02894745167822066, -0.13608841373480374, -0.13490165334144044, -0.7461480440269401, -0.6177510392559371, -2.87436547086932, -1.3384096878884084, -3.7561548974190835, -0.24209320607686324, -0.21864472685830494, -1.229972929723334, -3.6907803438166136, -0.9793992147550477, -0.3060305155175893, -0.8627981228120247, -2.162132200294991, -0.9332032575535638, -0.08724900816972325, -0.2516558278280334, -16.856454811834052, -0.45769370878703985, -0.7669311604997446, -0.6478112206326951, -0.15813324650900307, -0.12837839951062446, -0.5895008572281406, -20.842512432520206, -0.3964144629983788, -1.3037538492948415, -0.13766629203440317, -0.0500940185543699, -0.12114649273884948, -0.12465155438120434, -0.2490445695880601, -0.6701759746673899, -1.689185289879179, -3.1182180053730226, -0.9665634842486601, -2.583764073389381, -0.8357653033557535, -1.20144242873778, -0.6713080569313947, -3.3356290183225834, -0.03643599964958755, -1.770801294238895, -0.11023420622687263, -0.04115201362399956, -0.041370450952880944, -0.036220838778241005, -0.6221640425058172, -0.4135793216781525, -0.07963056945539271, -0.3026327744433801, -58.660164409655266, -0.407464389516778, -3.1883359730369305, -0.7529717935438094, -6.704701900131203, -3.2381666515530316, -1.7380804846326154, -0.021783830144013194, -7.9446307022780704, -0.6303694541265263, -0.16799277472810825, -3.002087905225088, -0.18435539387731126, -0.1046296502435764, -1.3660844647988366, -10.332957848231512, -0.6672403974194931, -0.48035537312083965, -0.015017847662600836, -0.8606325638682308, -8.309856087687955, -4.889166372757629, -0.1458151049664591, -0.9160641251854, -0.42633931736020436, -0.3508325929885956, -0.025171338964113055, -2.8602053675589736, -1.1061183349956267, -0.06292448510162774, -3.277537051367557, -1.7646912668044537, -0.28977890307133247, -2.1173484693889297, -0.6035957083790842, -0.014383192934957378, -0.46064444392662396, -0.48305461512017556, -0.19952255028929078, -2.2617664769250023, -1.4852623872201964, -0.8016411294500583, -0.5724828065226566, -0.5611909065040777, -0.2297824144608327, -0.8575623795777054, -1.5439392841188013, -0.23409871514602942, -0.6364340056089413, -0.07143981592927107, -1.301733661281566, -0.7473415093094598, -31.022613586797718, -0.14028340832834862, -0.008216987799775088, -0.5024474932241272, -4.98788063070105, -2.4809619163954895, -0.533348518506157, -3.722373909122867, -0.18623578016660036, -0.27347708464816756, -1.3090351509623694, -1.3595178247772375, -0.012648015708961902, -0.2515803848075544, -0.7844426396859774, -4.9320756165310975, -0.3178450102899939, -0.08902763777591471, -0.6228047601160753, -1.2275198224488593, -0.26679483446907537, -2.7376278363904523, -3.83045656294554, -1.6529973056390337, -0.22366106637089955, -5.415161893256615, -1.4870840560406529, -4.006635788034224, -0.19784949950098252, -0.5768378302461059, -2.0244443635036973, -6.853766285868184, -0.9668954924304547, -4.0109295692922995, -1.1932834823426792, -0.029693870231085606, -2.3052805445168407, -0.3606590276185908, -5.286528132683257, -0.5525154014295182, -0.09337979623821657, -8.249984515539746, -0.011514073730335639, -1.1223344209935258, -0.10615466987808064, -0.11910132388863537, -1.0118195503965244, -1.2060601443425059, -1.6036560025229303, -0.4465278043140206, -0.1048298587897416, -0.1763180680878904, -1.6237294520747496, -0.03814511676104959, -0.5668342122839884, -0.14209236206748677, -0.9435249813454125, -0.7060505128684726, -0.7474136036400862, -2.1177052662875577, -5.452378794066184, -0.15358325319721833, -1.2974959849119312, -1.2212852545274542, -0.22043067214823875, -4.205776220242896, -0.6598077039902763, -0.7233038086236814, -0.2967119430698828, -0.3173586125593011, -0.3090204250834745, -12.062455814271988, -0.16351674518426584, -1.0815803044832748, -0.7684540634035752, -0.03622379484439886, -0.6850778980323255, -0.16814820041956513, -0.06574377059465175, -2.893886234480072, -0.0186730745541297, -9.05247730253469, -0.3027820316242027, -0.42200708257318387, -0.10197432685417662, -0.09482783460459054, -0.4279960545521342, -0.8975932274507765, -0.09919790394544825, -10.537012694136742, -0.1420411790859195, -1.591880278433214, -0.550733916513642, -1.6491494052953883, -0.27194782815169427, -0.010246412459433474, -0.5143141923639012, -1.248145873745476, -0.04660167584261754, -1.089895920126771, -0.3265317055059973, -0.8170308749423159, -0.18937048426680558, -0.23070869719618026, -5.051598524584552, -2.210273060469395, -0.11046798259965884, -1.0021033420210035], "b": [0.052567601793416685, 0.6386011703394907, 1.8585034991791098, 0.11538043476968252, 0.19764701375746507, 1.357737215135442, 0.2236986267736265, 0.030657528425512615, 0.013941976771891573, 5.087167442588966, 0.25836740986209383, 0.036958632796932234, 0.05105241055949139, 2.566361717253351, 0.41936445210781237, 1.4574726300332754, 5.373242404587774, 63.89563042475882, 0.874682503920851, 0.5117769645099031, 1.1175472923277656, 3.3863247334714854, 0.05092939095244531, 0.7194330814977972, 0.0032989095297941695, 9.664814503217986, 12.244389032995693, 1.2572372848824385, 0.014038635130855903, 2.3622913063419646, 0.15841939843686736, 0.2553475835492065, 3.0886854076272625, 0.6386568655134963, 1.6746266756618144, 0.29622626094271864, 2.4747515028040166, 0.9995041048093047, 0.9827256084947216, 0.3780863177301885, 0.9923550698117536, 0.745983247059167, 0.17598982229424864, 0.12718902537723897, 1.0680190211346772, 0.2345417563857184, 8.478101865137731, 2.405311819929846, 0.5854804728751226, 0.24261674981929104, 0.6796765760131545, 0.1228607832048243, 0.1021978531025356, 0.42677560436576445, 0.9640493794636544, 1.5242654871019758, 0.14111733700468787, 2.369467182888337, 1.4958837216994176, 25.578483076608286, 0.02368744301731973, 6.08294507599619, 1.7501598526938102, 0.763255601040769, 0.13933447292141588, 0.4453401703549762, 3.3312328342919315, 1.2837877561276207, 0.09345919177923312, 0.08955471294564687, 0.5645638094586858, 0.0685869881413117, 3.9405170886276695, 0.14625972972560497, 0.28429280948903224, 0.10216240670552668, 0.7582427993765553, 0.30845605560234546, 0.03880777831864535, 1.2242583765717434, 0.7918939088513774, 0.170419058945958, 1.1559641933430291, 0.08877331344488182, 0.33683539786526473, 1.460981497225458, 0.14244222212216706, 0.03113536204124956, 0.05074968818025716, 1.025982485649545, 2.2546559076635018, 3.148384060109848, 0.7301950133798694, 5.534388008105904, 1.2798043724094992, 0.22905348427187278, 0.10513437621737798, 2.1843721420402096, 0.4381472493060148, 0.34546534919914507, 0.6943033121115467, 1.7542980827897083, 1.1483791219930617, 0.8485105981613146, 23.324564786882604, 1.127308388274201, 1.0607642964415769, 1.7341115320207172, 7.79511951239706, 1.1795591827039784, 7.506325327628465, 0.835751925783639, 9.10668468517615, 1.4766256324630262, 0.03768087901361916, 0.7126568974785294, 0.695178899723838, 12.036423692333544, 1.4089116795136651, 0.041226754206326044, 0.6951067750293847, 0.005618560387131932, 0.523047929099915, 1.376463596230634, 1.6787542216433797, 1.0718911801836533, 1.4129638477030042, 2.8546160517233967, 0.40608879059370295, 0.06647990848966856, 0.5986032956084097, 1.979085628045532, 1.281467322078055, 0.7436442166338695, 0.9628992958491347, 1.5006492046468374, 0.08300195888297512, 0.2267198039702214, 0.01082460755805581, 1.0062489301374256, 0.05033865896447898, 0.13370508936514258, 0.023131050124869823, 0.44326075021452693, 1.3634129596420208, 1.5383511466646476, 0.6298496949913985, 2.5605720901509557, 2.7028939022070513, 5.451130912600774, 0.22902234555751777, 2.427084174767263, 0.9402979780769807, 1.729062862710392, 0.0697344087946612, 2.1667958507215683, 0.45045078153271034, 3.0631254861472863, 0.0690181972792121, 5.229743004121791, 0.597276463265987, 0.6942302966613709, 0.19227228801805052, 0.22901731443118933, 1.1943204027327452, 0.5430360695265539, 1.468669334435178, 0.749101941847188, 1.2210556506551424, 0.846932625668456, 0.017309729344331837, 0.514165072963499, 0.1476801611698011, 1.6513515168689308, 1.3468841604875337, 1.4818197722530195, 1.0423442697155942, 3.709036646619575, 1.6730860916429617, 4.110508265488164, 0.002437594439223645, 0.6204280709921799, 3.1632007151307215, 0.8049578364234531, 1.4885846776386265, 0.36894311285630943, 0.03552733273772768, 0.364780924377488, 0.3769136765532153, 0.6025433980366721, 0.28327840370264745, 2.12021169056192, 2.421756114616576, 2.0827697302988564, 2.5791261437110524, 3.604642392421213, 0.27419254489641, 1.281289106944162, 0.35993871560304846, 0.9780743988234553, 3.03339682045019, 0.4091695494208152, 0.35086745328454483, 0.11509707231651589, 2.1761860853998356, 0.014544272031628225, 0.614207064668443, 3.3321241113925817, 0.9835699650634684, 9.054633591904501, 0.03810304585556712, 1.2606226158689449, 1.5145373548695438, 0.25724038850690256, 0.07653155869354733, 0.7998575445058758, 0.27967318977836, 0.07356041521457035, 0.8660309756425688, 0.019581448928861267, 0.15645569501876988, 0.2317464688126336, 0.9053069094430237, 0.29685462081757596, 0.016303952527467525, 0.9639093501085445, 0.009440373077329145, 0.08850917100663946, 0.06780384226470582, 0.3251176816178214, 0.7623565000390096, 6.436401000709319, 0.34637249196810904, 0.622400598286085, 0.2743574905430808, 0.5801117215604508, 0.6950308984209768, 0.3972365000936078, 0.02166412580506427, 0.295619216366414, 1.9435801632281327, 0.04684026993158463, 0.46471973912445197, 0.12818424141468898, 0.3606754112880002, 1.0294121182547853, 2.9670909411456017, 0.14064190392899034, 0.3143902337257496, 3.191870996959244, 0.22333134746201333, 2.0157193429348923, 0.2849487814715468, 0.026375054628643424, 0.06332610699591634, 0.12307132815110622, 0.4250398798270656, 0.17999953383874767, 2.7554180157450237, 0.38674772500578825, 0.4435804670589887, 0.3003963026879304, 3.006182838751023, 0.06185994438921494, 6.041057023686785, 3.6402015993396377, 3.3794827814024853, 0.6732351355658641, 2.694300827756394, 1.268542841543327, 1.1594743384875614, 10.86499688171235, 0.21959042174141596, 0.9419739709346502, 0.6445833300618558, 0.7942424529195728, 0.4870969302501189, 1.2657949678539349, 0.021041551403946812, 12.962903372750255, 0.04826822783810214, 0.8183022245399718, 0.7385398186362893, 0.6098456654384208, 1.141184082897193, 0.06835991969104827, 0.3287412805080716, 0.0034704532155420686, 1.122888641820742, 0.8974150460725723, 5.0357518347796875, 0.23943453828871641, 0.08590066486454528, 0.12189715637548493, 0.7900092335625999, 2.1583727095227037, 0.2754441951471467, 0.21035878841813793, 0.3325990355113846, 0.27368471988224186, 0.4409406538039624, 0.529891707908112, 0.1831460144821213, 0.2577241049668628, 2.1184009892403624, 0.18894129381858282, 0.5068099993180057, 0.011184090837436544, 0.4274416869815503, 1.5310853366337644, 5.32336384784952, 0.13583809295922133, 2.958108506339768, 0.005004417860281718, 1.2673659612663677, 0.18887330394752744, 0.4655151634997807, 0.5968801380403148, 1.6344475318159253, 1.3734942595877837, 2.2213229042681575, 0.6318107852881627, 28.665392219429485, 0.1364369999327859, 0.0328111415827268, 0.24295768603705925, 0.231027149468787, 0.4500469326209007, 0.07801353116200671, 0.2983492141933126, 0.8715779876641934, 0.43308078992167665, 0.10889225496203081, 0.24357719109469467, 0.11453640774718465, 0.1501173278812904, 1.7733783476393632, 0.8695638172380873, 0.01745888156801878, 0.9702393339206528, 0.12039242972025455, 0.9598061721445859, 0.12347740823629683, 0.4516728121451663, 2.3466048888542366, 0.5771002446107978, 11.248894101170501, 0.6924922473228703, 0.1846444266979399, 0.5363656364903062, 0.29487413622323944, 0.24430804576936271, 0.14675320710685225, 1.4566972648259302, 1.9773919553997605, 0.3749392128540727, 0.2367832611116718, 0.1055945069510209, 0.12423893125096219, 0.050782945950968994, 0.9481182734658957, 0.5186903543113557, 0.4212266876384354, 7.083351273282851, 0.3370344381427437, 3.2580887372892775, 1.3752179494111396, 3.4138051680086887, 1.038817637476761, 0.2878751514672939, 0.3516674817890184, 0.203088780762388, 0.01003405258917045, 2.9863640407774072, 2.2572089628816214, 0.904641177480294, 1.054908930601747, 0.2514170588729967, 0.6287975083200668, 4.062419173177968, 0.1472542961413632, 0.9582336454389466, 0.019131719007325243, 0.2467109918010546, 2.6291068764627967, 0.4775798241172817, 1.6895633707152413, 1.1421229367102383, 2.0725621261567486, 1.780884419790902, 0.5297264455597372, 0.33888888851372534, 3.0513899423987505, 0.9243611150553512, 0.44351450641733714, 1.8054569333908272, 0.36354981792346464, 0.2162935620842501, 0.029830736759713927, 2.148202043419877, 0.01545116031745808, 0.9198842093217123, 0.24256140052519104, 0.9815310692848809, 0.4182506197213187, 1.1100437981462057, 2.3843043044543104, 0.6193965189652169, 1.0434760177239522, 0.0028070682650027656, 1.694940938800432, 0.8287308616280027, 1.173419210120354, 0.1966540477775005, 1.4805214204986576, 0.8702023531485292, 1.7496389178923217, 2.788956738370861, 1.923117878972906, 0.3858195652262586, 0.2836216125511226, 0.2892309753891633, 0.5522907271456297, 0.5509946713155469, 1.5876838900230577, 0.9636409860696329, 2.0830536361492147, 0.3624270626486461, 0.14845217865426386, 0.4651045854866309, 3.125388336480265, 0.9705195364062755, 1.3456892183981073, 5.784439021618976, 1.8332269813027828, 1.6356182552034984, 0.12106870147856297, 2.0177540727951238, 0.5785193624825735, 0.9010763655058338, 0.09536243421776303, 2.3415230738202486, 0.12784774162288493, 0.7354327398620017, 1.3038531204082942, 0.4670730665099636, 1.1687477460598648, 0.7556149306887257, 4.186548815967508, 0.24213311823521977, 0.3249245192055805, 0.009453412325714394, 0.7783762168804551, 0.9863293823044259, 0.5906873248817008, 1.4697300126155564, 0.002272967857672503, 0.5507568153092781, 1.5939704729758932, 0.009056231885439026, 0.7827324947438257, 5.186121008867535, 1.8476996797633327, 2.6748448820569917, 0.5891225781478429, 0.3248125045828747, 1.392737186634458, 0.36328457880251586, 0.3284542178921408, 0.5908098574470997, 2.349022287488827, 1.8728965065538001, 0.16432580531752294, 0.668177623251069, 1.2182444207379572, 0.9771507016409875, 0.8759229481951056, 0.55089589076466, 0.04551637631479544, 0.22940097538302262, 1.6365579851258292, 0.40789295917035395, 1.4028874318405204, 2.4381506957259966, 11.728469590227757], "c": [-4.922255067109977, -0.6207134873179538, -2.0213058762980483, -3.1513274947202623, -1.6087284115894036, -0.5162965458661128, -0.05252932882764183, -0.5278791553834901, -0.16095063902667706, -0.16875633677154278, -0.1391738375297178, -0.3385046656383648, -4.045069041767983, -0.4606430013879861, -0.13987271785515842, -1.5344770352822583, -0.035128768459643744, -0.059210964045545156, -0.026578745275323445, -0.517917938176349, -0.8538644066690586, -0.14311496999509288, -0.6290002867106463, -1.283254921631157, -4.621903940133066, -0.6522166599195642, -9.639672883538584, -0.004315144658724623, -0.5322758727602608, -0.6359427119882757, -0.11636814092764336, -1.0299182426988733, -0.09766084541160369, -0.49721393132736713, -13.75790673776297, -0.09940670598539092, -0.042319079709091545, -0.04797209168980432, -0.06971435911457391, -2.1291698385396396, -0.9389105132981184, -1.7746187383618035, -0.054972994736323555, -9.844524452920659, -3.176359264567779, -0.941800662084257, -4.836143576244428, -0.40280262347649765, -0.5643869930119336, -1.163709041585257, -0.24667831647904248, -1.1228997665398315, -0.5784308561899969, -1.8407470518622402, -0.17897411803701724, -1.4945995441599687, -0.4971447653285779, -0.41877606623349406, -4.508103251593231, -0.11506355508495147, -0.09811486083849297, -0.3781278926141749, -0.682988748229366, -5.862169658159625, -0.2973333291843028, -0.07073807545698596, -6.1220669415365165, -2.657461974959013, -0.017743460154036272, -0.08722487000997092, -2.250677608480601, -0.10447147847183835, -0.7538743809821378, -0.5420381699841685, -0.27657662090326185, -0.039612735784697595, -5.304973828326593, -3.7697619955194392, -1.3489949739059455, -1.0293082811780345, -0.3936838568359886, -10.300183335743453, -1.2877525994397234, -0.5728560754233656, -0.3014169113877452, -0.08555133941634696, -9.860662075447209, -0.14841756687480978, -0.1750280119634957, -1.595521150846535, -5.905197944187051, -0.5906913593113494, -1.06123330212843, -0.32913928515951074, -0.09608691687346993, -1.1432618585956043, -0.3922691387469197, -0.01786023976168427, -0.5886716001056347, -0.6498709713875399, -0.18345718429721614, -0.0011280431489255616, -0.4835019625708388, -0.5987743342398006, -0.05794298534030751, -2.1690275621866473, -0.2009692159573686, -0.006512805299045965, -0.18526226181844074, -0.06038389326334426, -2.208053490653814, -1.3078117246063576, -0.20558694183273607, -0.04495832106809594, -0.44912575984161096, -1.261913561003603, -1.3262603403132882, -0.15409133339217096, -1.455112158718308, -7.1134934938250645, -0.6219582688629959, -0.45469876786962216, -0.015658833188225474, -1.1672005988895786, -0.10421598365173623, -1.1043805416939345, -0.02709731446792163, -0.45765210322395666, -2.6111509217778948, -0.4417148239094095, -0.06368423019184966, -0.039677338870898415, -0.07537462856924848, -1.114004179696796, -0.06559110353718411, -2.287203549605127, -1.7149869237253812, -0.04297359255695765, -0.2962597438888481, -0.3711118960308484, -0.5922131860907616, -0.48961248374878297, -0.5218735586327814, -0.07652867843095645, -0.36616099583006423, -0.014783392566787734, -0.4866811397049926, -3.440054552020853, -1.7102821522087148, -0.21051146348204375, -1.4029891411210422, -0.28705748025967015, -0.5792634961833436, -0.035096272030497255, -0.7902329577656564, -0.2478335874996782, -0.26044725658395307, -0.09398230114482509, -3.4418863702373335, -0.4919782398958492, -2.018380934687598, -0.2482614755125374, -0.23726429921951198, -0.383876022308004, -5.012189037523042, -2.850168978122917, -0.4810248761640332, -0.019945577985636787, -0.07852440211755507, -0.1567938491184988, -0.1989097742321455, -2.1903070680824532, -3.535927624932784, -0.019034516332172124, -0.7643543211702521, -1.98034614529629, -0.4387011308057689, -0.6432373050341424, -0.25196547674293757, -1.0473725038850539, -0.06512685272798757, -2.163383640264959, -1.9985914020121833, -0.15236069116934337, -0.9698662759772751, -2.2905030862996805, -0.5265873028349763, -0.7840647310302298, -0.07989933594688425, -0.5125311353310535, -3.262113813388207, -0.5173583432352349, -0.5196931420911493, -0.15654974029389113, -0.026682295067638195, -0.8923797942767302, -0.7408520034956796, -0.07935678767416654, -1.4651433691900104, -0.14469424796879915, -0.3308213576575616, -0.5473883329014486, -0.9905519172382247, -0.911552079805467, -1.5979770436432421, -0.252560325143131, -0.5714858893338777, -1.1460186612715995, -0.6088595617507613, -1.6501588565246488, -0.26835751327859025, -0.695085698435842, -0.20568141961156727, -0.47822488685147846, -2.025888861052481, -0.07584983617375429, -0.19032926618192736, -1.8464049873848336, -0.7459623310746664, -2.226029910324399, -10.67545178971637, -8.386078945998815, -0.707432905599505, -0.0668755709193769, -1.457524544849436, -0.7399626617290016, -0.49948755351342555, -0.11941069677696192, -38.37614128395048, -3.3477002552598973, -1.9611426981948608, -0.423935789538876, -0.17329681008229003, -0.26176151568591055, -0.9159597208362042, -0.20949762299989527, -1.9209120956635837, -0.012789614709424857, -0.5471300450905168, -1.4178473937747293, -1.1535070908303924, -0.43997789126196074, -1.198363877223942, -0.3567129381572105, -0.192867779399702, -1.7868213399941277, -1.3745375592175364, -1.2640487347803235, -0.02173700846308213, -0.20017303843876033, -0.36225811857499046, -0.7884020614630121, -0.06332620623905338, -0.19254417077646724, -2.05274479191031, -1.5384261144710556, -1.9715236848458706, -0.2617658130229048, -1.749164065560068, -0.18500188659373795, -0.2563180321444394, -2.5262569361164138, -1.4813837827425531, -0.30895720142204564, -0.7480951757615246, -1.2297016819024802, -0.06640505094659765, -0.03755720824483899, -2.7591458209498563, -0.9401814265332744, -2.8898510971231506, -0.06309478434822857, -2.8170021560313407, -0.028479592448719115, -0.18764023267487562, -1.532432823759593, -0.4068916822721331, -0.4105452640827656, -0.2149661538927632, -0.6020418634011073, -0.1457029958688021, -0.039963278857857, -0.35632550205221536, -1.3355711934363597, -4.507001842055485, -0.1323758638959558, -1.3275168488313667, -2.89272831214928, -0.09670767075328701, -10.41055060299243, -1.5485734164332752, -4.241935244115427, -0.02595236663230116, -0.2516221460223209, -2.1710311287933015, -0.23880126433419635, -0.03604068750060696, -0.11263913089353372, -0.011148477826981251, -1.7642852590728024, -0.331476269217273, -1.5176796798251715, -0.038399606687371524, -0.055783748936562016, -1.8245287624815507, -0.3613642867128082, -0.08156658470459366, -0.4139275610188544, -1.0185105466465014, -0.4654193430794815, -0.16279686160979012, -0.47874280710194506, -1.4684240726323061, -0.06961104794561135, -0.6127044791243728, -2.4451326235010447, -27.84089383119358, -0.942933073585513, -0.2511835835305858, -0.0939553235358912, -0.009004090251806263, -0.31672801811925844, -0.555057928258093, -0.02477173113758191, -0.04301884127419853, -0.0157447815659002, -0.6032362431809528, -0.22961509540235636, -0.48125864633905135, -10.281467776886226, -1.9025429339702091, -0.2496126450979641, -0.717666162781611, -0.15807064783855473, -1.8358509860735674, -0.06303945305948533, -2.3640063553895883, -0.20209554531653207, -0.46191883104464804, -0.4509950261547717, -0.07445168658344481, -3.9360594207588635, -0.11356987955110065, -3.891610156407232, -0.007030332920238802, -0.1354904178879024, -0.28097545116193956, -2.526316077547932, -4.02953398003914, -3.638531507339401, -2.8423510338460867, -2.3617489812377586, -0.2153523363273604, -2.4362273383506574, -0.8982031096878293, -14.866219330207434, -0.8751018809538249, -1.020054059835597, -1.0308231523751097, -0.7088066780306548, -0.14680016409776142, -13.032587294637192, -0.06954916412392875, -1.50823656428609, -0.6417427012514192, -0.2573931023383982, -0.1884840239313479, -0.5953647659695334, -4.999914384642194, -0.7666417260947866, -20.185174426979653, -0.45423578718240964, -0.4318620924927601, -0.9328992918353027, -3.8845774493263647, -0.04913580556633934, -0.11847728734969554, -1.3285037513112763, -0.10185764808885045, -0.003042507735014466, -0.6721258794862899, -0.011217114903007586, -0.6673185478548944, -0.031670417694875, -0.1179250721203089, -2.436261174546853, -1.9040088316003745, -0.27279500133710255, -0.4033728249232247, -0.4884017867726047, -0.013928750507825383, -0.8979583238318016, -1.9692727990582308, -0.1946641840046568, -0.405921678349489, -0.5734060733620856, -0.5913950300148658, -0.31057368117490447, -0.0770948945972274, -0.9790135397833306, -0.11571918277048332, -0.15575635808390564, -0.04018938680339912, -2.2672137669163446, -0.12237368441635033, -2.8516017891393033, -0.6030383165047155, -0.09586172321278363, -0.08331816335714404, -0.1829797537063318, -3.351537844451549, -0.4913423479707182, -1.2177129553743335, -0.3907568070500167, -0.9149185148571541, -1.3169231927882268, -0.5892222699836325, -1.589944805474063, -2.2923261815965623, -0.7284670956617512, -0.6875753487567231, -0.8059907028566573, -0.017129069932668717, -19.343782147690625, -2.10938279176452, -0.10324372824795325, -0.11708042548348274, -0.34545911499961957, -0.21515653530639578, -0.17890455537392924, -0.7375336223035032, -0.5465567038803292, -0.06727606588308044, -0.6175342770105012, -0.15790691493607856, -0.5469691953283922, -0.24141192504604514, -0.007050797748012538, -3.29822940327531, -0.3663757807521826, -0.43163520269644406, -3.0560596146693078, -1.594920315945402, -0.698164293680438, -3.715470626833298, -4.417796834790854, -0.5182249683203921, -0.7435642836943201, -0.019503591011437615, -0.1060608679970867, -0.40571828451796277, -2.2220543432977196, -0.4994902768304472, -1.2001803945975462, -0.9686955836978741, -1.0363977297564397, -1.6586353590436564, -0.00015152863886869206, -0.2692751044395554, -1.209266090681513, -0.06558530393777473, -0.6395111782268439, -3.481526170758439, -8.122398734903182, -1.2601028577970874, -1.6187503962325058, -0.32535589330708947, -0.2134102899073118, -1.082343565392995, -0.11382617163911135, -0.5286824979821847, -0.015142948757616459, -1.58728422576998, -0.16590003128518904, -2.401395660341812, -1.702034793335761, -0.1379054355803615, -3.217865771309297, -0.06728946975413952, -0.1625182660067428, -0.364207939697047, -0.13560155867624446, -0.32620035474010467, -0.7491844851174656, -0.12055143549831882], "x": [-0.7540795947065715, -0.03187119944455463, 0.7100067186373971, -0.0892303507517711, -0.47514966682007076, 0.6754743290173086, 0.7632783299854273, -0.7708286937670721, -0.053055335652972824, -0.3903556632302434, -0.18418838454195718, 0.1993306318384105, 0.13817264895997172, 0.7298449445395321, 0.4165848435271633, -0.1361475930614353, -0.3826405096383956, -0.4103845297682063, 0.025890074871284918, 0.30847635577717836, 0.6884146496499524, -0.3064351607481879, 0.9184138114354288, 0.6894323309657526, 0.13362272358332405, -0.851575008231654, 0.3921790687130544, -0.14229428689584744, 0.7869755334061213, 0.6559584964653029, -0.28072821194858166, 0.08896285418053584, 0.5252622024687479, 0.6771510111710188, -0.44476021532263643, 0.21902788846620092, -0.07977148211182783, -0.8456441863052602, -0.2690992747593557, 0.4761788213745901, -0.2800322595172007, 0.026053549911720264, -0.4672379866114129, 0.5796636941269417, -0.2640748121247547, 0.6238609155675354, 0.380540691385139, 0.9611433966812359, 0.059757744525307466, 0.8414662361501155, 0.4149701470128313, -0.26799700318252273, 0.7557005054678858, -0.3390794119939353, -0.9220167709711102, 0.9925144594395874, 0.9322665328596416, -0.573194158042799, 0.6657147068735338, -0.08713213248077012, -0.7944751294862133, -0.0050843588006215246, -0.22888602939082925, 0.7220988134704274, 0.555304497569062, 0.2536677340866884, 0.37027191803198667, -0.5722379993952982, 0.5528490501678198, 0.3254464436461184, -0.5039135259525112, -0.856385519869711, -0.12358252127888214, -0.2853903355417544, -0.23709742573881076, 0.1341623127898255, 0.21667259547705453, -0.5213740764195651, 0.8093541700867215, -0.7239635816183168, 0.32019832834042616, 0.5792197720696162, -0.6754432153209375, 0.6630449875411637, 0.7494611025610569, -0.3022911856772188, -0.27308840307698956, 0.0971771055589794, -0.9784185927156215, 0.03538897388092943, -0.9214771342444585, 0.7960545566389763, -0.828341342915428, -0.2547090416231097, 0.15234515289492023, -0.7213151142039238, -0.6250106381398868, -0.7139890975801078, -0.9208438881890582, -0.24544351822873423, 0.2677806592779519, 0.7289986392043031, 0.7783522282923809, -0.24270689210245044, 0.5473501723401699, -0.6856698902985814, 0.3212236602597156, -0.18896242890811865, -0.8529623922959366, 0.6741515273544634, 0.21390340387383255, -0.01469990064917881, 0.5194630781677183, -0.12727122324989937, 0.7954711692391045, -0.5423684242838844, -0.49855547367287856, 0.37944757328941003, 0.6671949542245061, 0.6939158907980918, 0.06504680158591425, 0.6831751975084808, -0.5821993927653859, 0.18277724963285613, -0.532298471708037, -0.5408643292273161, -0.13129855982543748, 0.9151176818640174, 0.993802462193246, -0.3356079468621107, 0.7972464686394716, 0.9250349835779346, -0.2830178202000695, 0.41049038386493897, -0.11210649633605385, -0.805618325204533, 0.23932050803250293, 0.6637486026718891, 0.9549873358632717, -0.7892456475230849, 0.145763817674897, 0.5224591154514311, -0.1073498035745768, 0.9813599406858518, 0.19754370727715642, 0.5478154591467577, -0.9729990946130731, -0.39439522837464636, -0.9184964948875098, 0.4812705601708276, 0.26746685638045054, -0.8083628130235991, -0.5844707168283323, -0.36095298649393026, -0.88907104715625, -0.29113950908423236, -0.3121818881791516, -0.06704514536803852, -0.6105272294819135, -0.3638561515866001, 0.5560034215085647, -0.29651342621439625, 0.6920204614127863, -0.06220786965901448, -0.3509489320006425, 0.0839751721912323, 0.7064292916863713, 0.6949819885908213, 0.4346337883334752, -0.8884621145235048, -0.5848437704476437, -0.9204920619695152, -0.6981563768056576, -0.26706581524556583, 0.114569163592799, 0.5351234437158006, -0.6944751833190188, -0.8213526778832918, 0.17809203968682996, -0.12910631917566673, -0.06201494983258815, -0.2973272718912625, -0.38691689761253434, 0.5207960532252482, -0.8125738405722249, -0.8465455689328354, 0.25774191794178547, 0.28355300110863646, 0.6656943345729311, -0.6474057523074916, -0.14578736829861016, -0.13499520837294865, -0.07999427720205099, 0.390681311647471, 0.24799047549191533, -0.9709986726330304, -0.061340546200617796, -0.8065341076002759, 0.6360869941494309, -0.5797483987375798, -0.8426451057144901, 0.5740123191040771, 0.6452577701688837, -0.17768684988070027, 0.9582808320492693, 0.36193717231641753, -0.3199833919486763, 0.5450201704986968, -0.9033351139404815, -0.9507248092276215, -0.024393495472818216, -0.2020996734892151, -0.7672310241640996, -0.7566306666294502, -0.892823371272043, -0.346765975535523, 0.16033753922611127, 0.3023031139415657, -0.8667573218180411, -0.07705653555412706, -0.18705305332639988, -0.22115426363656132, -0.4667305919042877, 0.7078404413606105, 0.20373697733360907, -0.14012576450670067, 0.9475983647195849, 0.7916977042031057, -0.852350642375348, -0.9141964536633751, -0.7946352989115397, 0.9176177121943854, -0.40841960116503384, -0.32178240930580726, 0.23579521681863813, 0.7138362697063096, -0.654861797932268, -0.5797109736824109, 0.1835030281101846, -0.5503589890263241, -0.6841705338041835, -0.7420284545909261, 0.4465854729416625, -0.8207187977831403, -0.18133226146185866, 0.7382135869121187, -0.030778846130423032, -0.7082650358307689, 0.29590572853371144, -0.8459298604383918, -0.24558578286666055, -0.7712585732204245, 0.6337628969589861, 0.9247222778674649, -0.1216681044635688, -0.5808492489044623, 0.11253520396499916, 0.15737423469660827, -0.9480527447617142, -0.5132302453794391, -0.8377978344823709, -0.3236945420179227, -0.45363527135037796, -0.25527298400087983, 0.8600418339351188, -0.24571397094687009, -0.4802366613630136, -0.46412121908667103, -0.4049468390147226, -0.6664714363273694, -0.642399664231895, 0.050314433580868956, -0.17254941878805008, -0.07757517756524623, -0.8127842723812699, -0.7867546628481057, -0.22846820389063516, 0.4435492260315508, -0.2870130135528317, -0.8650630248956905, -0.5497639437354693, -0.5074752862672096, -0.004548379764050869, 0.021606206985148813, -0.8218029607996453, -0.8587314281489988, -0.7930351006819245, 0.008501411994556118, -0.5546001671893033, 0.783350683514388, 0.13958987409882306, -0.96659767400888, -0.9091758397263836, 0.2293537815402611, -0.020205124236337024, -0.021228629119526277, -0.16507385880093084, 0.5983473812283653, 0.48089642922287035, 0.008627853885964543, -0.5677725791094042, -0.8922033574366011, -0.7399729723575925, -0.7991318518979851, 0.089240563339128, 0.03845707910421381, -0.07797657230039268, 0.33117651881724575, 0.16033274924527618, -0.8220266990966072, 0.2068534623914, 0.6978478125177348, 0.9727169121668608, -0.4072021730348272, -0.7246150086412371, -0.8710479127107327, -0.40800535925706094, 0.5149442364481178, -0.6515327548765271, 0.5524570810000162, 0.8350483516377343, 0.8281452983234474, 0.870299758696399, -0.552473692835791, -0.5229275197424945, -0.15448489863396908, 0.2212116862794311, -0.8017396330252791, -0.9033378633217077, 0.24299754095026982, -0.8264183299764949, -0.24768558420547504, -0.7811546178150348, 0.2950494897468394, 0.2219323303328713, 0.3170982132333282, -0.24835924437038392, 0.16836793114744375, 0.6305654045322837, -0.030993175598812872, -0.4551947520235702, -0.8564978913006225, 0.9778542765043978, -0.656357383629492, 0.4491765008550028, 0.5359242605298888, -0.5733914628462522, -0.1970870876716997, 0.8154582537826094, 0.15224499931203406, -0.785874110774794, -0.9463396507985486, -0.08381874953527846, -0.16311241930984188, 0.5402024831267982, 0.7882448706503933, -0.16253302942061998, 0.02996157958354151, 0.2968705020474651, -0.46133995681920603, 0.016869635633984137, -0.4502728364573827, 0.42777819721634835, -0.7515703093174633, 0.9811462214230744, -0.12011757615005214, 0.30887035484914716, -0.16444226852132893, -0.8706581015270478, -0.46881988502194205, 0.5053949742037456, -0.44625735830143554, 0.20825164515755845, -0.29019461331993157, 0.07814262272081618, -0.9285036863723406, 0.4572254751521305, 0.5620746115612449, 0.3265459921301519, 0.796129138460338, 0.6235563612330259, 0.5290651896152272, -0.1986367084452192, -0.1704415216583357, 0.014847190772723229, 0.8191654874868921, 0.3949578632431747, 0.6759426275838243, -0.7770018150093594, 0.15074550146614452, -0.5648576006572328, 0.8094466393921864, 0.40124171894023153, 0.00651644232265669, -0.8979886425905295, 0.7280590203745201, 0.9625622450636349, 0.3789825417485928, 0.32054107701616075, 0.25316899404866344, 0.6155699214206334, -0.9624462420534543, -0.8500387198439305, -0.9400568549516437, -0.2189749884186334, 0.725977007177453, 0.8557148407601105, 0.3830325658186433, -0.30210179257339576, 0.3245143733900584, 0.043580068241937386, 0.9661033805019463, 0.11803876825953741, 0.0142670934303184, -0.4315243999570546, -0.1953685626544841, 0.313665158007568, -0.24885682159853317, 0.6258086353705234, -0.39042965100876237, -0.41867388614893697, 0.264741982599364, -0.718674415950044, -0.23069072629621057, -0.7190511738016301, 0.7166682337755712, 0.2909651693230877, 0.524093433776337, 0.5158831668238735, 0.32762108233303944, 0.42587336565682277, -0.3216459461227805, 0.4464555929319265, 0.3253617204803254, 0.5478373742141274, 0.37597462270439497, -0.9477141658934576, -0.8697822287372079, -0.7350926428940081, 0.39651311872817696, -0.774026686163487, 0.09342738587424293, 0.46603439939803915, 0.08140631326040815, -0.38392107362773675, 0.40377045714592263, -0.08011056913579906, -0.6230835710497031, -0.09992546471544816, 0.17310150092555454, -0.008969551411530441, 0.20692479874153813, 0.786593249751139, -0.6967080050725629, -0.6712663899730391, 0.8064519002378281, 0.7132775323104332, 0.19938554806827335, -0.7471068179970872, -0.2343813370080361, 0.31871670468295243, 0.41433873444419733, 0.34802058308623285, 0.5823593855641525, -0.8659324583451071, 0.8549283365168285, 0.6329162382542346, -0.21548076256885884, -0.8822797217764997, 0.8567864906960956, 0.019803425037128397, -0.7426972244859935, 0.6753804488737583, -0.12188878621708654, 0.002674225163785904, 0.3716431219316527, 0.15788557638553025, -0.8611565077543801, -0.4979073053794014, 0.5117265992036648, 0.22559855678188256, 0.07582481137240671, -0.9088961947029122, -0.05888183614667519, 0.01300560999001732], "expected": [0.9987779348194619, 0.9702323113508392, 573.7519782737164, 0.9942622778814196, 0.9275464270119698, 3.968101456024081, 2.4692723136218264, 0.8452409898912756, 0.9589734505717692, -190.0949435887263, 0.8918108679818644, 1.0137623275764263, 1.0020172084549925, -4.661796080073608, 1.5942515509674982, 0.9001596464698289, -23.138246573588948, 0.8741675710979901, 2.411784048862743, 1.154427956797929, 7.415796665689894, -5.040032574563911, 1.047844992552348, -0.589532010357871, 1.0005244043776045, -12.797610131234245, -312787.3604557073, -9.774840001589096, 1.0225906398920794, -5.721963905508406, 0.8372855639781808, 1.1188827418616791, 10.85205319650569, 1.6142473869985057, 0.932924277312854, 1.1348533205720628, -33.70504060727005, -4.987062222825718, -30.449258929934018, 1.0361540722654439, 1.0663164995704588, 1.0003475173044902, -0.7165348457837706, 0.9847296938121498, 0.9369592216172891, 1.1165515935692292, 645.6202006998271, 3118.8511194853045, 1.0385176539238101, 0.26450203098721253, 2.071837518683578, 0.9728238124749797, 1.002829423672581, 0.9298639647843243, -181.56890034383522, 230.13443222231152, 0.5968108772056485, -2872.659767322555, 0.05646882254146245, -1.258281615820072, 0.827853628109642, 0.9561948673127795, 0.9622157388574476, -167.40441248387978, 1.0178115552653453, 1.8812264455332113, 30.695769831217333, 0.9727672599615931, 1.3773586780646476, 1.4380194734662564, 0.8879888566441997, 0.752220399508462, 0.9902959359856282, 0.9887759639729161, -0.4688314334030434, 1.156731877306412, 1.0203691213402835, 0.9998058673120275, 0.9363400241486284, -1.7461582672829115, 1.608011211532939, 1.0469256981587045, 0.3930684693389949, 1.0894429211005874, 1.2833476144385465, -8.137527701324906, 0.9912381631414583, 1.0098757721777758, 0.9778907613653139, 1.0168039718268937, 0.7867018249209642, -1.054974113021075, -0.009087583139686564, -0.715895994390067, 2.4583549853409052, 1.8338234703204344, 0.9956920907368308, -101.4933040040599, -1.13119107604176, 0.8145304431875198, 2.4352224115240144, 1479.3366192215751, -0.2632177662474371, 0.9759885482263199, 43366660.417482644, 0.6379791097895572, 1.2251776010513264, -1095.3492570919495, -1.2383276769079723, 7.238527655340244, 5.983867803299292, 0.9651022336147703, 104.72311451257941, 0.2067849749730972, 1.0529248565245282, 0.9324641067263367, 7.92138283399091, -91.44973132146308, 4.408643307670904, 1.0191966071603746, 1.1125498805337204, 1.008270864073622, -2.8304042739860655, 0.9723445711255245, -8.17774699323335, 0.9203584864031832, 0.7726898037089007, 1572.1219023225492, 5278.95673863035, 0.7948766780464811, 5.9329667468413225, 407.8428707441021, 0.6319563052140262, 0.7568027314758986, 0.5589553792684954, 0.504180604752733, 1.0000346706213188, 4.607344253913161, 0.9975849936638563, -0.20106646763433852, 1.0009077337825196, 1.0752884928340232, 0.9931294343099145, 7.193434860011843, 1.5895542495766117, 31.53242081171903, -18547.419573972125, 0.6920311873801909, 1.000309602419599, 18.37352404948711, 1.0990469564665555, -26.96662393301266, -1.5984629066003244, -259.28171585419113, 0.9117255565393712, -0.6838966216307821, 0.9301944625964872, -1.7582625008990953, 2.3350979001207897, -138.96178999942967, 2.5485570453941757, 0.4768701290029865, 1.4224682279869265, 0.855782232653956, 0.9278567551039132, 1.0056008863464012, 5.733022553796188, 13.875101773183543, 3.108568665620308, -8.130740307256913, 0.9851791242403299, 0.8374286851746282, 0.9551561476646452, -29.892989345222425, 1.194860568694279, -22.729049465335873, -11.077328417211056, -10.854742589928655, 1.6821008951399445, 0.9450856077127793, 0.9992020757390262, 0.8965582163963938, 26.007403077312308, 2.5102402800887678, 0.21330817890127057, 0.9806775869746486, 1.003053369925683, 1.1060730280575006, 1.5993896923870654, 0.8410438932542934, 0.9890950175681357, 0.9718218830453633, 0.07888778032817402, -2.924318842192912, -10.586059583568746, -1658.0787572040158, 0.9790444527533416, -875.6314118658206, 1.3869389583707108, -5.091502225310942, 0.9640385814202735, 1.3932180809548895, 8.728154597320485, 0.9974974251873859, -63091.573538991695, 1.0280693787883004, 0.8300920602161646, 7.235449156444197, -0.2611706121384609, 1.3010786747956289, 0.9983390341075705, 0.8954340306497404, -1.096740419384267, -11252.91085067676, 0.9474188918481681, 0.9771067528923958, 1.6621042436855922, 1.0313679208129156, 0.9877968674005694, 0.999360863679184, 0.9990512850448668, 0.9989259700539218, 0.8816921727526067, 1.3456749663707628, 1.002328647768204, 0.6350878265138298, 1.0282962970994263, 1.288507554600551, 0.9994481654110264, 0.8552397105008793, 103.005612377669, 8664732.664234217, 0.9991008538567272, 0.983587590558776, 1.0248034892198123, 3.013583973157658, 1.0136180573072058, -2.7365361622335294, 1.0003682267916043, 0.8914307218643392, 0.9606596791048919, 0.5151640521326986, 0.8917084377115894, 0.3609861355033717, 0.7591450502309182, -1.4097369800984323, 0.948753039293687, 0.9210357576371814, 1.7531427932496537, -72.79367801817301, 0.8699523065332679, 0.6000582134394564, 3.779381675453608, 1.123801235630592, 0.9991264235823564, 0.952088464167792, 1.0542546290065997, 1.141959327688898, -1.088742987283159, 0.5183776424967227, -9.25810754118102, 0.959201907141137, 0.7107413974802026, 0.9700117984159996, 637481.8479636995, 0.9720884326195434, -14.771391981447106, -34.83173238162768, -501.65254898959165, -1.3037687181102127, 0.996674666807753, 5.466008667481582, 0.9995917383539668, 0.6726419383843141, 0.7784062140165333, 0.6814210960117993, 0.8469678241137962, 0.36378872944874074, 0.9601752842784533, -33886.552147295355, 0.9643066150101933, -0.6735997794945885, 0.9883884245502851, 1.0412493245882164, 0.7948190439743866, 0.8973526001905205, 0.8139910118701269, 1.000022110013534, -4.808519668844591, 279790.1651881931, 0.8965442309690393, -15791340.965640135, -0.11757925854922681, 1.0890861909859033, 0.9952074983439635, 0.9707499336506512, 0.8518278334419754, 1.832492692845003, 10.908822976445805, 1.0005281531996242, -0.1404765132140635, 0.9583061944668398, 0.8736536763403063, 0.6869751772684424, 1.0076504280454246, 1.0051464498571634, 0.6818541954618595, 1.0119896334593363, 3.5547235266063195, -1.5078149655548962, 0.5808904381203682, 1.2021856971372866, 71011.87613887405, 0.9815533749219174, -49.39085629154259, 0.9968889412877072, 0.988023492745552, 1.735141134758204, 0.9248130712237148, 1.9373256278178548, 202.125596084462, 3.2315516172294587, 5.478837481147873e+25, 0.8101004238911513, 0.8976518004162415, -130105.54957557426, 1.0431738584249726, -16.06878827189493, 0.9070696673504491, 1.0523999628585978, 29.017366774366497, 0.12627639783187106, 0.999470439498061, 1.775064301649523, 1.0073246046110713, 1.1532452461600715, 0.48007259186392826, 1.1592225998924142, 1.0053962421359914, 0.9070825908008808, -100.65410099591642, 0.8897959726298221, 2.1712481808848083, 0.9989732698339837, 152.67899525443212, 1.0289379900437676, -29418.455496284645, 0.9912556397175228, 5.982913050765605, 1.0093010926999915, 0.9747266111625815, 0.9965725995800009, 0.8174778894594139, 0.8940539484732289, 4.7875019439411535, -694.6333196336066, 0.8757618073570214, 1.000351593237975, 1.5209399060553508, 0.9849848949703145, 1.0015973858869003, 0.9916109109184257, 2.547780295533174, 0.8919133917358588, 0.1045012464506745, -1.6143675046996464, 3.0194635701535417, 0.6180654141288213, 20.904892632815866, 0.9858963753187805, 1.0092592417343478, 0.6162018800172538, 1.0013237160718043, 1.5092822781942719, 1.00309440037508, -26.143921541318694, 4.655233138157679, 0.6759151198080087, 1.3834031014227035, 1697.1057937817015, 1.1468690434038022, 12.783238686155379, 0.9792076351585935, 0.32501814175269467, 2.1318421185495837, 8.26122037967265, -0.5575801475519222, 2.9404396204711483, -7.293054796342207, 1.0106542136103622, -3.144431927570121, 2.2505230114160693, -91.33781487144749, 1.0098877083704534, 0.9587068041028524, 9.786814075732922, 1.0177144105008074, 1.0949168951509056, 1.2430169385276233, -49.25774151320939, 1.1013549841862327, 0.29987612482511317, -222.48705511124325, 0.7006765940211944, -3.9144379059664534, 44.571719071937025, 109.31941971622209, 4.258289931022386, -135.70170198567465, 1.0048500427919131, 1.095653614396125, 0.4027808656124373, 1.0006889457427282, 1.0162500767874718, 1.2934278865868398, 3.9459735516495558, 1.9110847527625698, 0.9587199285128402, -5.537855977616549, 0.9991738653399856, 0.7891957723623886, 1.0215620497497861, -0.8779950053965678, 0.9933520373557455, 0.6596496537816534, 5.398415457037507, 4.276472518489776, 1.1116604868570252, 1.095067260117023, 2.1144289613562397, 2.175742617445591, 0.75088063989221, 3.4314336173428712, 5.055859027574507, 8.018223660384995, 2.224198953173992, -0.8235108047467526, -45819.65114524228, 0.9726496745021932, 1.9913429629709423, 0.7633328450002395, 1.0128948326700622, 1.09978450626912, 1.0614573270920855, 0.8978850776679138, 1.0201310816649638, 0.9490977580811075, 0.9629300688956476, -2417.929513471934, 1.0720665425948723, 0.9922242893088783, 1.0006798618868085, 1.4442171921464304, 0.43156148869047517, 1.37262494690485, -91.6402494812965, 1.00188752834292, 17.004709768037433, -12003.856766268147, 0.9993147009354407, 2.980335080928168, 10.267817283288197, 0.9304242418571004, 1667.4957430619288, 0.5939005444022366, -0.574191657664711, -0.2184196629326168, 0.9550015444713943, 2.005642693697784, 6.028554129717972, 1.13843481408985, -13.255526779305521, 0.9924590670001439, 0.7612647617414757, 1.0016941849596646, 0.9694353483480617, 2.0747083773728523, 0.9305650836976463, 0.7365814611655741, 1.2054216069215589, 1.352186856525951, 1.8913331589411715, -26.331668749748037, 0.9855249949815079, 2.2677201840029673]}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/outliers.json b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/outliers.json
new file mode 100644
index 000000000000..6cbfb31e9cb0
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/outliers.json
@@ -0,0 +1 @@
+{"a": [-1.8, 1.8, 1.8, 1.8, 1.8, 5.0, 10.0, 10.0, 2.0, 2.0, -1.8, 1.8, 10.0, 10.0, -8.0, -0.1156544430516313, -27.911722328444608, -10.184355055477743, -5.0083982772911, -0.7429095709749414, -14.55029516886238, -5.428179853908536, -1.8190858888165087, -0.9534205693212994, -31.70680212982947, -0.18350917503602782, -200.19574300099214, -8.837706832399117, -3.2052905962805456, -13.37614633859299], "b": [7.4, -2.5, 1.0, 7.4, 7.4, 7.4, 7.4, 7.4, 3.0, 2.5, -2.5, 7.4, 1.0, 7.4, 18.016500331508873, 12.722140489351698, 14.018736008860946, 6.5450429328481174, 171.09919289684245, 11.725525989335528, 0.46553367087834685, 26.782963689614604, 21.025202609254364, 10.024920055648606, 0.11445767340979862, 14.696533286274349, 1.9444493115386567, 0.19096384651567044, 0.3048596186043564, 1.337786902832312], "c": [20.4, 20.4, 20.4, -1.8, 20.4, 20.4, 20.4, 20.4, 5.0, -3.25, 20.4, -1.8, -1.8, -1.8, 10.805295997850628, -0.6030985338257255, -1.0168630024136034, -0.44051751620383994, -1.4923865283013589, -7.299203351011158, -0.5349901418098844, -4.162402828198655, -0.6960141045675334, -0.23845367675425955, -0.5570625216964069, -6.338990250643928, -0.6933677849479691, -2.3808990396202425, -0.7039276707364683, -0.05015281580946018], "x": [-10.0, -10.0, -10.0, -10.0, -10.0, -10.0, -10.0, 0.95, 0.99, 0.999, -10.0, -1.01, -0.99, -0.99, 0.90875647507, -0.0005448214561780684, 0.6228483452847298, 0.6555896492302491, 0.7073764056574465, 0.11534401417791407, 0.6086682776938632, 0.10047548647104909, 0.2570211738060222, 0.4419851803780206, 0.020574313007314604, -0.9003519736816863, 0.24492811068225362, -0.27624718180517105, 0.8496565195400692, -0.0022109253176725296], "expected": [16.334204105729413, 5.883122144128727, 0.5820646473844754, 0.010147094307759376, 0.07291374137469146, 0.0011628419587190388, 8.042653908304492e-06, 566.0092271657466, 27.699347904322664, 2.183739328012162e+26, -0.5786871007671348, 0.10921062752340924, -0.8752587026378827, 0.4234752106080307, -3.566216341436626e-09, 0.998681836639102, 5.33299803869569, 1.1177709865124041, 3.491332086988064e+82, 1.132062691110089, -0.0006927158077474787, 98.41698380414908, -221.57018712798285, 43.53554136829992, 1.0540592696289446, 0.5371016318543966, 0.0028040224553278668, -2.4067466563131665, 0.028751519134363426, 0.18419839456905535]}
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/runner.py
new file mode 100644
index 000000000000..8127f44d4a68
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/fixtures/python/runner.py
@@ -0,0 +1,260 @@
+#!/usr/bin/env python
+#
+# @license Apache-2.0
+#
+# Copyright (c) 2025 The Stdlib Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Generate fixtures."""
+
+import os
+import json
+import numpy as np
+from scipy.special import hyp2f1
+
+# For reproducibility:
+np.random.seed(1234)
+
+# Get the file path:
+FILE = os.path.realpath(__file__)
+
+# Extract the directory in which this file resides:
+DIR = os.path.dirname(FILE)
+
+# Outliers:
+outliers = [
+ (-1.8, 7.4, 20.4, -10),
+ (1.8, -2.5, 20.4, -10),
+ (1.8, 1, 20.4, -10),
+ (1.8, 7.4, -1.8, -10),
+ (1.8, 7.4, 20.4, -10),
+ (5, 7.4, 20.4, -10),
+ (10, 7.4, 20.4, -10),
+ (10, 7.4, 20.4, 0.95),
+ (2, 3, 5, 0.99),
+ (2, 2.5, -3.25, 0.999),
+ (-1.8, -2.5, 20.4, -10),
+ (1.8, 7.4, -1.8, -1.01),
+ (10, 1, -1.8, -0.99),
+ (10, 7.4, -1.8, -0.99),
+ (-8, 18.016500331508873, 10.805295997850628, 0.90875647507),
+ (
+ -0.1156544430516313,
+ 12.722140489351698,
+ -0.6030985338257255,
+ -0.0005448214561780684,
+ ),
+ (-27.911722328444608, 14.018736008860946, -1.0168630024136034, 0.6228483452847298),
+ (-10.184355055477743, 6.5450429328481174, -0.44051751620383994, 0.6555896492302491),
+ (-5.0083982772911, 171.09919289684245, -1.4923865283013589, 0.7073764056574465),
+ (-0.7429095709749414, 11.725525989335528, -7.299203351011158, 0.11534401417791407),
+ (-14.55029516886238, 0.46553367087834685, -0.5349901418098844, 0.6086682776938632),
+ (-5.428179853908536, 26.782963689614604, -4.162402828198655, 0.10047548647104909),
+ (-1.8190858888165087, 21.025202609254364, -0.6960141045675334, 0.2570211738060222),
+ (-0.9534205693212994, 10.024920055648606, -0.23845367675425955, 0.4419851803780206),
+ (
+ -31.70680212982947,
+ 0.11445767340979862,
+ -0.5570625216964069,
+ 0.020574313007314604,
+ ),
+ (-0.18350917503602782, 14.696533286274349, -6.338990250643928, -0.9003519736816863),
+ (-200.19574300099214, 1.9444493115386567, -0.6933677849479691, 0.24492811068225362),
+ (
+ -8.837706832399117,
+ 0.19096384651567044,
+ -2.3808990396202425,
+ -0.27624718180517105,
+ ),
+ (-3.2052905962805456, 0.3048596186043564, -0.7039276707364683, 0.8496565195400692),
+ (
+ -13.37614633859299,
+ 1.337786902832312,
+ -0.05015281580946018,
+ -0.0022109253176725296,
+ ),
+]
+
+
+def gen(a, b, c, x, name):
+ """Generate fixture data and write to file.
+
+ # Arguments
+
+ * `a`: domain
+ * `b`: domain
+ * `c`: domain
+ * `x`: domain
+ * `name::str`: output filename
+
+ # Examples
+
+ ``` python
+ python> a = linspace(-50, 50, 1000)
+ python> b = linspace(-50, 50, 1000)
+ python> c = linspace(-50, 50, 1000)
+ python> x = linspace(-50, 50, 1000)
+ python> gen(a, b, c, x, './data.json')
+ ```
+ """
+ filtered_data = [
+ (ai, bi, ci, xi)
+ for ai, bi, ci, xi in zip(a, b, c, x)
+ if (ai, bi, ci, xi) not in outliers
+ ]
+ a_f, b_f, c_f, x_f = map(np.array, zip(*filtered_data))
+ y = hyp2f1(a_f, b_f, c_f, x_f)
+ y_f = ["PINF" if np.isinf(val) else val for val in y]
+ data = {
+ "a": a_f.tolist(),
+ "b": b_f.tolist(),
+ "c": c_f.tolist(),
+ "x": x_f.tolist(),
+ "expected": y_f,
+ }
+
+ # Based on the script directory, create an output filepath:
+ filepath = os.path.join(DIR, name)
+
+ # Write the data to the output filepath as JSON:
+ with open(filepath, "w", encoding="utf-8") as outfile:
+ json.dump(data, outfile)
+
+
+def gen_outliers(name):
+ """Generate a test fixture including only outlier points.
+
+ # Arguments
+
+ * `name::str`: output filename
+
+ # Examples
+
+ ``` python
+ python> gen_outliers('./data.json')
+ ```
+ """
+ a = np.array([o[0] for o in outliers])
+ b = np.array([o[1] for o in outliers])
+ c = np.array([o[2] for o in outliers])
+ x = np.array([o[3] for o in outliers])
+ y = hyp2f1(a, b, c, x)
+ y = ["PINF" if np.isinf(val) else val for val in y]
+ data = {
+ "a": a.tolist(),
+ "b": b.tolist(),
+ "c": c.tolist(),
+ "x": x.tolist(),
+ "expected": y,
+ }
+
+ # Based on the script directory, create an output filepath:
+ filepath = os.path.join(DIR, name)
+
+ # Write the data to the output filepath as JSON:
+ with open(filepath, "w", encoding="utf-8") as outfile:
+ json.dump(data, outfile)
+
+
+def main():
+ """Generate fixture data."""
+ # Basic values:
+ n = 1000
+ a = np.linspace(-50, 50, n, dtype=int)
+ b = np.linspace(-50, 50, n, dtype=int)
+ c = np.linspace(-50, 50, n, dtype=int)
+ x = np.linspace(-50, 50, n)
+ gen(a, b, c, x, "basic.json")
+
+ # Edge Cases #1
+ pts = [
+ (1, 2, 3, 0),
+ (1.0 / 3, 2.0 / 3, 5.0 / 6, 27.0 / 32),
+ (1.0 / 4, 1.0 / 2, 3.0 / 4, 80.0 / 81),
+ (2, -2, -3, 3),
+ (2, -3, -2, 3),
+ (2, -1.5, -1.5, 3),
+ (1, 2, 3, 0),
+ (0.7235, -1, -5, 0.3),
+ (0.25, 1.0 / 3, 2, 0.999),
+ (0.25, 1.0 / 3, 2, -1),
+ (2, 3, 5, 0.99),
+ (3.0 / 2, -0.5, 3, 0.99),
+ (2, 2.5, -3.25, 0.999),
+ (-8, 18.016500331508873, 10.805295997850628, 0.90875647507000001),
+ (-10, 900, -10.5, 0.99),
+ (-10, 900, 10.5, 0.99),
+ (-1, 2, 1, 1.0),
+ (-1, 2, 1, -1.0),
+ (-3, 13, 5, 1.0),
+ (-3, 13, 5, -1.0),
+ (0.5, 1 - 270.5, 1.5, 0.999**2),
+ ]
+ a, b, c, x = zip(*pts)
+ a = np.array(a)
+ b = np.array(b)
+ c = np.array(c)
+ x = np.array(x)
+ gen(a, b, c, x, "edge_cases1.json")
+
+ # Edge Cases #2
+ pts = [
+ (112, 5.1, -0.9, -0.99999),
+ (10, -900, 10.5, 0.99),
+ (10, -900, -10.5, 0.99),
+ ]
+ a, b, c, x = zip(*pts)
+ a = np.array(a)
+ b = np.array(b)
+ c = np.array(c)
+ x = np.array(x)
+ gen(a, b, c, x, "edge_cases2.json")
+
+ # Edge Cases #3
+ a_values = [-10, -5, -1.8, 1.8, 5, 10]
+ b_values = [-2.5, -1, 1, 7.4]
+ c_values = [-9, -1.8, 5, 20.4]
+ x_values = [-10, -1.01, -0.99, 0, 0.6, 0.95]
+
+ a_list, b_list, c_list, x_list = [], [], [], []
+
+ for a in a_values:
+ for b in b_values:
+ for c in c_values:
+ for x in x_values:
+ a_list.append(a)
+ b_list.append(b)
+ c_list.append(c)
+ x_list.append(x)
+
+ a = np.array(a_list)
+ b = np.array(b_list)
+ c = np.array(c_list)
+ x = np.array(x_list)
+ gen(a, b, c, x, "edge_cases3.json")
+
+ # Edge Cases #4
+ n = 500
+ a = np.random.pareto(1.5, n) * (-1) ** np.random.randint(2, n)
+ b = np.random.pareto(1.5, n) * (-1) ** np.random.randint(2, n)
+ c = np.random.pareto(1.5, n) * (-1) ** np.random.randint(2, n)
+ x = 2 * np.random.rand(n) - 1
+ gen(a, b, c, x, "edge_cases4.json")
+
+ # Outliers:
+ gen_outliers("outliers.json")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/test.js b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/test.js
new file mode 100644
index 000000000000..115ab92ba165
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/hyp2f1/test/test.js
@@ -0,0 +1,296 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var tape = require( 'tape' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var EPS = require( '@stdlib/constants/float64/eps' );
+var PINF = require( '@stdlib/constants/float64/pinf' );
+var hyp2f1 = require( './../lib' );
+
+
+// FIXTURES //
+
+var basic = require( './fixtures/python/basic.json' );
+var edgeCases1 = require( './fixtures/python/edge_cases1.json' );
+var edgeCases2 = require( './fixtures/python/edge_cases2.json' );
+var edgeCases3 = require( './fixtures/python/edge_cases3.json' );
+var edgeCases4 = require( './fixtures/python/edge_cases4.json' );
+var outliers = require( './fixtures/python/outliers.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof hyp2f1, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function returns `1` if `x` is 0', function test( t ) {
+ var v;
+
+ v = hyp2f1( 1.0, 1.0, 1.0, 0.0 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ v = hyp2f1( 1.5, 2.5, 3.5, 0.0 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ v = hyp2f1( -1, 4, 2, 0.0 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
+ var v;
+
+ v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
+ t.equal( isnanf( v ), true, 'returns expected value' );
+
+ v = hyp2f1( 0.0, NaN, 2.0, 0.5 );
+ t.equal( isnanf( v ), true, 'returns expected value' );
+
+ v = hyp2f1( 0.0, 3.0, NaN, 0.5 );
+ t.equal( isnanf( v ), true, 'returns expected value' );
+
+ v = hyp2f1( 0.0, 3.0, 2.0, NaN );
+ t.equal( isnanf( v ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns `1` if either `a` or `b` is 0 and `c` is not 0', function test( t ) {
+ var v;
+
+ v = hyp2f1( 0.0, 3.0, 2.0, 0.5 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ v = hyp2f1( 0.0, -2.0, 4.0, 0.3 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ v = hyp2f1( 3.0, 0.0, 2.0, 0.5 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ v = hyp2f1( -2.0, 0.0, 4.0, 0.3 );
+ t.strictEqual( v, 1.0, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns `PINF` when `c <= a + b`, `x === 1`, and neither `a` nor `b` are nonpositive integers', function test( t ) {
+ var v;
+
+ v = hyp2f1( 3.0, 4.0, 7.0, 1.0 );
+ t.strictEqual( v, PINF, 'returns expected value' );
+
+ v = hyp2f1( 3.5, 4.5, 8.0, 1.0 );
+ t.strictEqual( v, PINF, 'returns expected value' );
+
+ v = hyp2f1( 3.5, 4.5, 8.0, 1.0 );
+ t.strictEqual( v, PINF, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function correctly evaluates the hypergeometric function', function test( t ) {
+ var expected;
+ var delta;
+ var tol;
+ var a;
+ var b;
+ var c;
+ var x;
+ var v;
+ var i;
+
+ a = basic.a;
+ b = basic.b;
+ c = basic.c;
+ x = basic.x;
+ expected = basic.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
+ if ( expected[ i ] === 'PINF' ) {
+ t.equal( v, PINF, 'returns expected value' );
+ continue;
+ }
+ delta = abs( v - expected[ i ] );
+ tol = EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. a: ' + a[ i ] + ' b: ' + b[ i ] + ' c: ' + c[ i ] + ' x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Delta: ' + delta + '. Tolerance: ' + tol + '.' );
+ }
+ t.end();
+});
+
+tape( 'the function correctly evaluates the hypergeometric function', function test( t ) {
+ var expected;
+ var delta;
+ var tol;
+ var a;
+ var b;
+ var c;
+ var x;
+ var v;
+ var i;
+
+ a = edgeCases1.a;
+ b = edgeCases1.b;
+ c = edgeCases1.c;
+ x = edgeCases1.x;
+ expected = edgeCases1.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
+ if ( expected[ i ] === 'PINF' ) {
+ t.equal( v, PINF, 'returns expected value' );
+ continue;
+ }
+ delta = abs( v - expected[ i ] );
+ tol = EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. a: ' + a[ i ] + ' b: ' + b[ i ] + ' c: ' + c[ i ] + ' x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Delta: ' + delta + '. Tolerance: ' + tol + '.' );
+ }
+ t.end();
+});
+
+tape( 'the function correctly evaluates the hypergeometric function', function test( t ) {
+ var expected;
+ var delta;
+ var tol;
+ var a;
+ var b;
+ var c;
+ var x;
+ var v;
+ var i;
+
+ a = edgeCases2.a;
+ b = edgeCases2.b;
+ c = edgeCases2.c;
+ x = edgeCases2.x;
+ expected = edgeCases2.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
+ if ( expected[ i ] === 'PINF' ) {
+ t.equal( v, PINF, 'returns expected value' );
+ continue;
+ }
+ delta = abs( v - expected[ i ] );
+ tol = 7.0 * EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. a: ' + a[ i ] + ' b: ' + b[ i ] + ' c: ' + c[ i ] + ' x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Delta: ' + delta + '. Tolerance: ' + tol + '.' );
+ }
+ t.end();
+});
+
+tape( 'the function correctly evaluates the hypergeometric function', function test( t ) {
+ var expected;
+ var delta;
+ var tol;
+ var a;
+ var b;
+ var c;
+ var x;
+ var v;
+ var i;
+
+ a = edgeCases3.a;
+ b = edgeCases3.b;
+ c = edgeCases3.c;
+ x = edgeCases3.x;
+ expected = edgeCases3.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
+ if ( expected[ i ] === 'PINF' ) {
+ t.equal( v, PINF, 'returns expected value' );
+ continue;
+ }
+ delta = abs( v - expected[ i ] );
+ tol = 10.0 * EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. a: ' + a[ i ] + ' b: ' + b[ i ] + ' c: ' + c[ i ] + ' x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Delta: ' + delta + '. Tolerance: ' + tol + '.' );
+ }
+ t.end();
+});
+
+tape( 'the function correctly evaluates the hypergeometric function', function test( t ) {
+ var expected;
+ var delta;
+ var tol;
+ var a;
+ var b;
+ var c;
+ var x;
+ var v;
+ var i;
+
+ a = edgeCases4.a;
+ b = edgeCases4.b;
+ c = edgeCases4.c;
+ x = edgeCases4.x;
+ expected = edgeCases4.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
+ if ( expected[ i ] === 'PINF' ) {
+ t.equal( v, PINF, 'returns expected value' );
+ continue;
+ }
+ delta = abs( v - expected[ i ] );
+ tol = 20.0 * EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. a: ' + a[ i ] + ' b: ' + b[ i ] + ' c: ' + c[ i ] + ' x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Delta: ' + delta + '. Tolerance: ' + tol + '.' );
+ }
+ t.end();
+});
+
+tape( 'the function correctly evaluates the hypergeometric function', function test( t ) {
+ var expected;
+ var delta;
+ var tol;
+ var a;
+ var b;
+ var c;
+ var x;
+ var v;
+ var i;
+
+ a = outliers.a;
+ b = outliers.b;
+ c = outliers.c;
+ x = outliers.x;
+ expected = outliers.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
+ delta = abs( v - expected[ i ] );
+
+ /*
+ * NOTE: the tolerance is set high in this case due to:
+ *
+ * 1. The expected values having a very large range, being either very small or very large.
+ * 2. The function making a large number of internal calls, leading to accumulated numerical errors.
+ */
+ tol = 260000.0 * EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. a: ' + a[ i ] + ' b: ' + b[ i ] + ' c: ' + c[ i ] + ' x: ' + x[ i ] + '. Value: ' + v + '. Expected: ' + expected[ i ] + '. Delta: ' + delta + '. Tolerance: ' + tol + '.' );
+ }
+ t.end();
+});