diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/README.md b/lib/node_modules/@stdlib/math/base/special/gammasgnf/README.md
new file mode 100644
index 000000000000..eb8c7fffad68
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/README.md
@@ -0,0 +1,217 @@
+
+
+# gammasgnf
+
+> Sign of the [gamma function][@stdlib/math/base/special/gamma] for a single-precision floating-point number.
+
+
+
+The sign of the [gamma-function][@stdlib/math/base/special/gamma] is defined as
+
+
+
+```math
+\mathop{\mathrm{gammasgn}} ( x ) = \begin{cases} 1 & \textrm{if}\ \Gamma > 0 \\ -1 & \textrm{if}\ \Gamma < 0 \\ 0 & \textrm{otherwise}\ \end{cases}
+```
+
+
+
+The [gamma function][@stdlib/math/base/special/gamma] can be computed as the product of `gammasgn(x)` and `exp(gammaln(x))`.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var gammasgnf = require( '@stdlib/math/base/special/gammasgnf' );
+```
+
+#### gammasgnf( x )
+
+Computes the sign of the [gamma function][@stdlib/math/base/special/gamma] for a single-precision floating-point number.
+
+```javascript
+var v = gammasgnf( 1.0 );
+// returns 1.0
+
+v = gammasgnf( -2.5 );
+// returns -1.0
+
+v = gammasgnf( 0.0 );
+// returns 0.0
+
+v = gammasgnf( NaN );
+// returns NaN
+```
+
+
+
+
+
+
+
+## Notes
+
+- The [gamma function][@stdlib/math/base/special/gamma] is not defined for negative integer values (i.e., `gamma(x) === NaN` when `x` is a negative integer). The [natural logarithm of the gamma function][@stdlib/math/base/special/gammaln] is defined for negative integer values (i.e., `gammaln(x) === Infinity` when `x` is a negative integer). Accordingly, in order for the equality `gamma(x) === gammasgn(x) * exp(gammaln(x))` to hold (i.e., return `NaN`), `gammasgn` needs to either return `NaN` or `0`. By convention, this function returns `0`.
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var logEachMap = require( '@stdlib/console/log-each-map' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var gammasgnf = require( '@stdlib/math/base/special/gammasgnf' );
+
+var x = uniform( 100, -10.0, 10.0, {
+ 'dtype': 'float32'
+});
+
+logEachMap( 'x: %0.4f, f(x): %0.4f', x, gammasgnf );
+```
+
+
+
+
+
+
+
+* * *
+
+
+
+## C APIs
+
+
+
+
+
+
+
+
+
+
+
+### Usage
+
+```c
+#include "stdlib/math/base/special/gammasgnf.h"
+```
+
+#### stdlib_base_gammasgnf( x )
+
+Computes the sign of the [gamma function][@stdlib/math/base/special/gamma] for a single-precision floating-point number.
+
+```c
+float out = stdlib_base_gammasgnf( 1.0f );
+// returns 1.0f
+
+out = stdlib_base_gammasgnf( -2.5f );
+// returns -1.0f
+```
+
+The function accepts the following arguments:
+
+- **x**: `[in] float` input value.
+
+```c
+float stdlib_base_gammasgnf( const float x );
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Examples
+
+```c
+#include "stdlib/math/base/special/gammasgnf.h"
+#include
+#include
+
+int main( void ) {
+ float x;
+ float v;
+ int i;
+
+ for ( i = 0; i < 100; i++ ) {
+ x = ( (float)rand() / (float)RAND_MAX ) * 100.0f;
+ v = stdlib_base_gammasgnf( x );
+ printf( "gammasgnf(%f) = %f\n", x, v );
+ }
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[@stdlib/math/base/special/gamma]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/math/base/special/gamma
+
+[@stdlib/math/base/special/gammaln]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/math/base/special/gammaln
+
+
+
+
+
+
+
+
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/benchmark.js
new file mode 100644
index 000000000000..8f2cda56c6c4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/benchmark.js
@@ -0,0 +1,54 @@
+/**
+* @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 isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var pkg = require( './../package.json' ).name;
+var gammasgnf = require( './../lib' );
+
+
+// MAIN //
+
+bench( pkg, function benchmark( b ) {
+ var x;
+ var y;
+ var i;
+
+ x = uniform( 100, -10.0, 10.0, {
+ 'dtype': 'float32'
+ });
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = gammasgnf( x[ i%x.length ] );
+ if ( isnanf( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnanf( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/benchmark.native.js
new file mode 100644
index 000000000000..7293ef2d59b4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/benchmark.native.js
@@ -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.
+*/
+
+'use strict';
+
+// MODULES //
+
+var resolve = require( 'path' ).resolve;
+var bench = require( '@stdlib/bench' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var tryRequire = require( '@stdlib/utils/try-require' );
+var pkg = require( './../package.json' ).name;
+
+
+// VARIABLES //
+
+var gammasgnf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
+var opts = {
+ 'skip': ( gammasgnf instanceof Error )
+};
+
+
+// MAIN //
+
+bench( pkg+'::native', opts, function benchmark( b ) {
+ var x;
+ var y;
+ var i;
+
+ x = uniform( 100, -10.0, 10.0, {
+ 'dtype': 'float32'
+ });
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = gammasgnf( x[ i%x.length ] );
+ if ( isnanf( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnanf( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/c/native/Makefile
new file mode 100644
index 000000000000..a4bd7b38fd74
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/c/native/Makefile
@@ -0,0 +1,146 @@
+#/
+# @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.
+#/
+
+# VARIABLES #
+
+ifndef VERBOSE
+ QUIET := @
+else
+ QUIET :=
+endif
+
+# Determine the OS ([1][1], [2][2]).
+#
+# [1]: https://en.wikipedia.org/wiki/Uname#Examples
+# [2]: http://stackoverflow.com/a/27776822/2225624
+OS ?= $(shell uname)
+ifneq (, $(findstring MINGW,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring MSYS,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring CYGWIN,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring Windows_NT,$(OS)))
+ OS := WINNT
+endif
+endif
+endif
+endif
+
+# Define the program used for compiling C source files:
+ifdef C_COMPILER
+ CC := $(C_COMPILER)
+else
+ CC := gcc
+endif
+
+# Define the command-line options when compiling C files:
+CFLAGS ?= \
+ -std=c99 \
+ -O3 \
+ -Wall \
+ -pedantic
+
+# Determine whether to generate position independent code ([1][1], [2][2]).
+#
+# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options
+# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option
+ifeq ($(OS), WINNT)
+ fPIC ?=
+else
+ fPIC ?= -fPIC
+endif
+
+# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`):
+INCLUDE ?=
+
+# List of source files:
+SOURCE_FILES ?=
+
+# List of libraries (e.g., `-lopenblas -lpthread`):
+LIBRARIES ?=
+
+# List of library paths (e.g., `-L /foo/bar -L /beep/boop`):
+LIBPATH ?=
+
+# List of C targets:
+c_targets := benchmark.out
+
+
+# RULES #
+
+#/
+# Compiles source files.
+#
+# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`)
+# @param {string} [CFLAGS] - C compiler options
+# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`)
+# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`)
+# @param {string} [SOURCE_FILES] - list of source files
+# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`)
+# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`)
+#
+# @example
+# make
+#
+# @example
+# make all
+#/
+all: $(c_targets)
+
+.PHONY: all
+
+#/
+# Compiles C source files.
+#
+# @private
+# @param {string} CC - C compiler (e.g., `gcc`)
+# @param {string} CFLAGS - C compiler options
+# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`)
+# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`)
+# @param {string} SOURCE_FILES - list of source files
+# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`)
+# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`)
+#/
+$(c_targets): %.out: %.c
+ $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES)
+
+#/
+# Runs compiled benchmarks.
+#
+# @example
+# make run
+#/
+run: $(c_targets)
+ $(QUIET) ./$<
+
+.PHONY: run
+
+#/
+# Removes generated files.
+#
+# @example
+# make clean
+#/
+clean:
+ $(QUIET) -rm -f *.o *.out
+
+.PHONY: clean
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/c/native/benchmark.c
new file mode 100644
index 000000000000..65072dc80e1f
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/c/native/benchmark.c
@@ -0,0 +1,136 @@
+/**
+* @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.
+*/
+
+#include "stdlib/math/base/special/gammasgnf.h"
+#include
+#include
+#include
+#include
+#include
+
+#define NAME "gammasgnf"
+#define ITERATIONS 1000000
+#define REPEATS 3
+
+/**
+* Prints the TAP version.
+*/
+static void print_version( void ) {
+ printf( "TAP version 13\n" );
+}
+
+/**
+* Prints the TAP summary.
+*
+* @param total total number of tests
+* @param passing total number of passing tests
+*/
+static void print_summary( int total, int passing ) {
+ printf( "#\n" );
+ printf( "1..%d\n", total ); // TAP plan
+ printf( "# total %d\n", total );
+ printf( "# pass %d\n", passing );
+ printf( "#\n" );
+ printf( "# ok\n" );
+}
+
+/**
+* Prints benchmarks results.
+*
+* @param elapsed elapsed time in seconds
+*/
+static void print_results( double elapsed ) {
+ double rate = (double)ITERATIONS / elapsed;
+ printf( " ---\n" );
+ printf( " iterations: %d\n", ITERATIONS );
+ printf( " elapsed: %0.9f\n", elapsed );
+ printf( " rate: %0.9f\n", rate );
+ printf( " ...\n" );
+}
+
+/**
+* Returns a clock time.
+*
+* @return clock time
+*/
+static double tic( void ) {
+ struct timeval now;
+ gettimeofday( &now, NULL );
+ return (double)now.tv_sec + (double)now.tv_usec / 1.0e6;
+}
+
+/**
+* Generates a random number on the interval [0,1).
+*
+* @return random number
+*/
+static float rand_float( void ) {
+ int r = rand();
+ return (float)r / ( (float)RAND_MAX + 1.0f );
+}
+
+/**
+* Runs a benchmark.
+*
+* @return elapsed time in seconds
+*/
+static double benchmark( void ) {
+ double elapsed;
+ float x[ 100 ];
+ double t;
+ float y;
+ int i;
+
+ for ( i = 0; i < 100; i++ ) {
+ x[ i ] = ( 100.0f * rand_float() ) - 50.0f;
+ }
+
+ t = tic();
+ for ( i = 0; i < ITERATIONS; i++ ) {
+ y = stdlib_base_gammasgnf( x[ i%100 ] );
+ if ( y != y ) {
+ printf( "should not return NaN\n" );
+ break;
+ }
+ }
+ elapsed = tic() - t;
+ if ( y != y ) {
+ printf( "should not return NaN\n" );
+ }
+ return elapsed;
+}
+
+/**
+* Main execution sequence.
+*/
+int main( void ) {
+ double elapsed;
+ int i;
+
+ // Use the current time to seed the random number generator:
+ srand( time( NULL ) );
+
+ print_version();
+ for ( i = 0; i < REPEATS; i++ ) {
+ printf( "# c::native::%s\n", NAME );
+ elapsed = benchmark();
+ print_results( elapsed );
+ printf( "ok %d benchmark finished\n", i+1 );
+ }
+ print_summary( REPEATS, REPEATS );
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/python/scipy/benchmark.py b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/python/scipy/benchmark.py
new file mode 100644
index 000000000000..4b8ec7228339
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/benchmark/python/scipy/benchmark.py
@@ -0,0 +1,97 @@
+#!/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.
+
+"""Benchmark scipy.special.gammasgn."""
+
+from __future__ import print_function
+import timeit
+
+NAME = "gammasgnf"
+REPEATS = 3
+ITERATIONS = 1000000
+
+
+def print_version():
+ """Print the TAP version."""
+ print("TAP version 13")
+
+
+def print_summary(total, passing):
+ """Print the benchmark summary.
+
+ # Arguments
+
+ * `total`: total number of tests
+ * `passing`: number of passing tests
+
+ """
+ print("#")
+ print("1.." + str(total)) # TAP plan
+ print("# total " + str(total))
+ print("# pass " + str(passing))
+ print("#")
+ print("# ok")
+
+
+def print_results(elapsed):
+ """Print benchmark results.
+
+ # Arguments
+
+ * `elapsed`: elapsed time (in seconds)
+
+ # Examples
+
+ ``` python
+ python> print_results(0.131009101868)
+ ```
+ """
+ rate = ITERATIONS / elapsed
+
+ print(" ---")
+ print(" iterations: " + str(ITERATIONS))
+ print(" elapsed: " + str(elapsed))
+ print(" rate: " + str(rate))
+ print(" ...")
+
+
+def benchmark():
+ """Run the benchmark and print benchmark results."""
+ setup = "from scipy.special import gammasgn; from random import random; import numpy as np;"
+ stmt = "y = gammasgn(np.float32(100.0*random()))"
+
+ t = timeit.Timer(stmt, setup=setup)
+
+ print_version()
+
+ for i in range(REPEATS):
+ print("# python::scipy::" + NAME)
+ elapsed = t.timeit(number=ITERATIONS)
+ print_results(elapsed)
+ print("ok " + str(i+1) + " benchmark finished")
+
+ print_summary(REPEATS, REPEATS)
+
+
+def main():
+ """Run the benchmark."""
+ benchmark()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/gammasgnf/binding.gyp
new file mode 100644
index 000000000000..68a1ca11d160
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/binding.gyp
@@ -0,0 +1,170 @@
+# @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.
+
+# A `.gyp` file for building a Node.js native add-on.
+#
+# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md
+# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md
+{
+ # List of files to include in this file:
+ 'includes': [
+ './include.gypi',
+ ],
+
+ # Define variables to be used throughout the configuration for all targets:
+ 'variables': {
+ # Target name should match the add-on export name:
+ 'addon_target_name%': 'addon',
+
+ # Set variables based on the host OS:
+ 'conditions': [
+ [
+ 'OS=="win"',
+ {
+ # Define the object file suffix:
+ 'obj': 'obj',
+ },
+ {
+ # Define the object file suffix:
+ 'obj': 'o',
+ }
+ ], # end condition (OS=="win")
+ ], # end conditions
+ }, # end variables
+
+ # Define compile targets:
+ 'targets': [
+
+ # Target to generate an add-on:
+ {
+ # The target name should match the add-on export name:
+ 'target_name': '<(addon_target_name)',
+
+ # Define dependencies:
+ 'dependencies': [],
+
+ # Define directories which contain relevant include headers:
+ 'include_dirs': [
+ # Local include directory:
+ '<@(include_dirs)',
+ ],
+
+ # List of source files:
+ 'sources': [
+ '<@(src_files)',
+ ],
+
+ # Settings which should be applied when a target's object files are used as linker input:
+ 'link_settings': {
+ # Define libraries:
+ 'libraries': [
+ '<@(libraries)',
+ ],
+
+ # Define library directories:
+ 'library_dirs': [
+ '<@(library_dirs)',
+ ],
+ },
+
+ # C/C++ compiler flags:
+ 'cflags': [
+ # Enable commonly used warning options:
+ '-Wall',
+
+ # Aggressive optimization:
+ '-O3',
+ ],
+
+ # C specific compiler flags:
+ 'cflags_c': [
+ # Specify the C standard to which a program is expected to conform:
+ '-std=c99',
+ ],
+
+ # C++ specific compiler flags:
+ 'cflags_cpp': [
+ # Specify the C++ standard to which a program is expected to conform:
+ '-std=c++11',
+ ],
+
+ # Linker flags:
+ 'ldflags': [],
+
+ # Apply conditions based on the host OS:
+ 'conditions': [
+ [
+ 'OS=="mac"',
+ {
+ # Linker flags:
+ 'ldflags': [
+ '-undefined dynamic_lookup',
+ '-Wl,-no-pie',
+ '-Wl,-search_paths_first',
+ ],
+ },
+ ], # end condition (OS=="mac")
+ [
+ 'OS!="win"',
+ {
+ # C/C++ flags:
+ 'cflags': [
+ # Generate platform-independent code:
+ '-fPIC',
+ ],
+ },
+ ], # end condition (OS!="win")
+ ], # end conditions
+ }, # end target <(addon_target_name)
+
+ # Target to copy a generated add-on to a standard location:
+ {
+ 'target_name': 'copy_addon',
+
+ # Declare that the output of this target is not linked:
+ 'type': 'none',
+
+ # Define dependencies:
+ 'dependencies': [
+ # Require that the add-on be generated before building this target:
+ '<(addon_target_name)',
+ ],
+
+ # Define a list of actions:
+ 'actions': [
+ {
+ 'action_name': 'copy_addon',
+ 'message': 'Copying addon...',
+
+ # Explicitly list the inputs in the command-line invocation below:
+ 'inputs': [],
+
+ # Declare the expected outputs:
+ 'outputs': [
+ '<(addon_output_dir)/<(addon_target_name).node',
+ ],
+
+ # Define the command-line invocation:
+ 'action': [
+ 'cp',
+ '<(PRODUCT_DIR)/<(addon_target_name).node',
+ '<(addon_output_dir)/<(addon_target_name).node',
+ ],
+ },
+ ], # end actions
+ }, # end target copy_addon
+ ], # end targets
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/repl.txt
new file mode 100644
index 000000000000..d8f089e2ae25
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/repl.txt
@@ -0,0 +1,28 @@
+
+{{alias}}( x )
+ Computes the sign of the gamma function for a single-precision
+ floating-point number.
+
+ Parameters
+ ----------
+ x: number
+ Input value.
+
+ Returns
+ -------
+ y: number
+ Sign of the gamma function.
+
+ Examples
+ --------
+ > var y = {{alias}}( 1.0 )
+ 1.0
+ > y = {{alias}}( -2.5 )
+ -1.0
+ > y = {{alias}}( 0.0 )
+ 0.0
+ > y = {{alias}}( NaN )
+ NaN
+
+ See Also
+ --------
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/types/index.d.ts
new file mode 100644
index 000000000000..5ee4d8d1cfb0
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/types/index.d.ts
@@ -0,0 +1,48 @@
+/*
+* @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
+
+/**
+* Computes the sign of the gamma function for a single-precision floating-point number.
+*
+* @param x - input value
+* @returns sign of the gamma function
+*
+* @example
+* var v = gammasgnf( 1.0 );
+* // returns 1.0
+*
+* @example
+* var v = gammasgnf( -2.5 );
+* // returns -1.0
+*
+* @example
+* var v = gammasgnf( 0.0 );
+* // returns 0.0
+*
+* @example
+* var v = gammasgnf( NaN );
+* // returns NaN
+*/
+declare function gammasgnf( x: number ): number;
+
+
+// EXPORTS //
+
+export = gammasgnf;
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/types/test.ts
new file mode 100644
index 000000000000..687583006cfc
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/docs/types/test.ts
@@ -0,0 +1,44 @@
+/*
+* @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 gammasgnf = require( './index' );
+
+
+// TESTS //
+
+// The function returns a number...
+{
+ gammasgnf( 2 ); // $ExpectType number
+}
+
+// The compiler throws an error if the function is provided a value other than a number...
+{
+ gammasgnf( true ); // $ExpectError
+ gammasgnf( false ); // $ExpectError
+ gammasgnf( null ); // $ExpectError
+ gammasgnf( undefined ); // $ExpectError
+ gammasgnf( '5' ); // $ExpectError
+ gammasgnf( [] ); // $ExpectError
+ gammasgnf( {} ); // $ExpectError
+ gammasgnf( ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided insufficient arguments...
+{
+ gammasgnf(); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/c/Makefile
new file mode 100644
index 000000000000..25ced822f96a
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/c/Makefile
@@ -0,0 +1,146 @@
+#/
+# @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.
+#/
+
+# VARIABLES #
+
+ifndef VERBOSE
+ QUIET := @
+else
+ QUIET :=
+endif
+
+# Determine the OS ([1][1], [2][2]).
+#
+# [1]: https://en.wikipedia.org/wiki/Uname#Examples
+# [2]: http://stackoverflow.com/a/27776822/2225624
+OS ?= $(shell uname)
+ifneq (, $(findstring MINGW,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring MSYS,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring CYGWIN,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring Windows_NT,$(OS)))
+ OS := WINNT
+endif
+endif
+endif
+endif
+
+# Define the program used for compiling C source files:
+ifdef C_COMPILER
+ CC := $(C_COMPILER)
+else
+ CC := gcc
+endif
+
+# Define the command-line options when compiling C files:
+CFLAGS ?= \
+ -std=c99 \
+ -O3 \
+ -Wall \
+ -pedantic
+
+# Determine whether to generate position independent code ([1][1], [2][2]).
+#
+# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options
+# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option
+ifeq ($(OS), WINNT)
+ fPIC ?=
+else
+ fPIC ?= -fPIC
+endif
+
+# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`):
+INCLUDE ?=
+
+# List of source files:
+SOURCE_FILES ?=
+
+# List of libraries (e.g., `-lopenblas -lpthread`):
+LIBRARIES ?=
+
+# List of library paths (e.g., `-L /foo/bar -L /beep/boop`):
+LIBPATH ?=
+
+# List of C targets:
+c_targets := example.out
+
+
+# RULES #
+
+#/
+# Compiles source files.
+#
+# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`)
+# @param {string} [CFLAGS] - C compiler options
+# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`)
+# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`)
+# @param {string} [SOURCE_FILES] - list of source files
+# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`)
+# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`)
+#
+# @example
+# make
+#
+# @example
+# make all
+#/
+all: $(c_targets)
+
+.PHONY: all
+
+#/
+# Compiles C source files.
+#
+# @private
+# @param {string} CC - C compiler (e.g., `gcc`)
+# @param {string} CFLAGS - C compiler options
+# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`)
+# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`)
+# @param {string} SOURCE_FILES - list of source files
+# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`)
+# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`)
+#/
+$(c_targets): %.out: %.c
+ $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES)
+
+#/
+# Runs compiled examples.
+#
+# @example
+# make run
+#/
+run: $(c_targets)
+ $(QUIET) ./$<
+
+.PHONY: run
+
+#/
+# Removes generated files.
+#
+# @example
+# make clean
+#/
+clean:
+ $(QUIET) -rm -f *.o *.out
+
+.PHONY: clean
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/c/example.c
new file mode 100644
index 000000000000..1a67b6add0a4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/c/example.c
@@ -0,0 +1,33 @@
+/**
+* @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.
+*/
+
+#include "stdlib/math/base/special/gammasgnf.h"
+#include
+#include
+
+int main( void ) {
+ float x;
+ float v;
+ int i;
+
+ for ( i = 0; i < 100; i++ ) {
+ x = ( (float)rand() / (float)RAND_MAX ) * 100.0f;
+ v = stdlib_base_gammasgnf( x );
+ printf( "gammasgnf(%f) = %f\n", x, v );
+ }
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/index.js
new file mode 100644
index 000000000000..f2cf230d4ef1
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/examples/index.js
@@ -0,0 +1,29 @@
+/**
+* @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 logEachMap = require( '@stdlib/console/log-each-map' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var gammasgnf = require( './../lib' );
+
+var x = uniform( 100, -10.0, 10.0, {
+ 'dtype': 'float32'
+});
+
+logEachMap( 'x: %0.4f, f(x): %0.4f', x, gammasgnf );
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/include.gypi b/lib/node_modules/@stdlib/math/base/special/gammasgnf/include.gypi
new file mode 100644
index 000000000000..ecfaf82a3279
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/include.gypi
@@ -0,0 +1,53 @@
+# @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.
+
+# A GYP include file for building a Node.js native add-on.
+#
+# Main documentation:
+#
+# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md
+# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md
+{
+ # Define variables to be used throughout the configuration for all targets:
+ 'variables': {
+ # Source directory:
+ 'src_dir': './src',
+
+ # Include directories:
+ 'include_dirs': [
+ ' 0.0 ) {
+ return 1.0;
+ }
+ fx = floorf( x );
+ if ( x === fx ) {
+ return 0.0;
+ }
+ fx = float64ToFloat32( fx / 2.0 );
+ if ( fx === floorf( fx ) ) {
+ return 1.0;
+ }
+ return -1.0;
+}
+
+
+// EXPORTS //
+
+module.exports = gammasgnf;
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/lib/native.js b/lib/node_modules/@stdlib/math/base/special/gammasgnf/lib/native.js
new file mode 100644
index 000000000000..61bf9f10576b
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/lib/native.js
@@ -0,0 +1,55 @@
+/**
+* @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 addon = require( './../src/addon.node' );
+
+
+// MAIN //
+
+/**
+* Computes the sign of the gamma function for a single-precision floating-point number.
+*
+* @private
+* @param {number} x - input value
+* @returns {number} sign of the gamma function
+*
+* @example
+* var v = gammasgnf( 1.0 );
+* // returns 1.0
+*
+* v = gammasgnf( -2.5 );
+* // returns -1.0
+*
+* v = gammasgnf( 0.0 );
+* // returns 0.0
+*
+* v = gammasgnf( NaN );
+* // returns NaN
+*/
+function gammasgnf( x ) {
+ return addon( x );
+}
+
+
+// EXPORTS //
+
+module.exports = gammasgnf;
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/manifest.json b/lib/node_modules/@stdlib/math/base/special/gammasgnf/manifest.json
new file mode 100644
index 000000000000..372625b547c4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/manifest.json
@@ -0,0 +1,75 @@
+{
+ "options": {
+ "task": "build"
+ },
+ "fields": [
+ {
+ "field": "src",
+ "resolve": true,
+ "relative": true
+ },
+ {
+ "field": "include",
+ "resolve": true,
+ "relative": true
+ },
+ {
+ "field": "libraries",
+ "resolve": false,
+ "relative": false
+ },
+ {
+ "field": "libpath",
+ "resolve": true,
+ "relative": false
+ }
+ ],
+ "confs": [
+ {
+ "task": "build",
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/napi/unary",
+ "@stdlib/math/base/assert/is-nanf",
+ "@stdlib/math/base/special/floorf"
+ ]
+ },
+ {
+ "task": "benchmark",
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/assert/is-nanf",
+ "@stdlib/math/base/special/floorf"
+ ]
+ },
+ {
+ "task": "examples",
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/assert/is-nanf",
+ "@stdlib/math/base/special/floorf"
+ ]
+ }
+ ]
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/package.json b/lib/node_modules/@stdlib/math/base/special/gammasgnf/package.json
new file mode 100644
index 000000000000..6b96f7efa96e
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/package.json
@@ -0,0 +1,67 @@
+{
+ "name": "@stdlib/math/base/special/gammasgnf",
+ "version": "0.0.0",
+ "description": "Computes the sign of the gamma function for a single-precision floating-point number.",
+ "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",
+ "gypfile": true,
+ "directories": {
+ "benchmark": "./benchmark",
+ "doc": "./docs",
+ "example": "./examples",
+ "include": "./include",
+ "lib": "./lib",
+ "src": "./src",
+ "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",
+ "gamma",
+ "float32",
+ "sign",
+ "number"
+ ]
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/Makefile
new file mode 100644
index 000000000000..7733b6180cb4
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/Makefile
@@ -0,0 +1,70 @@
+#/
+# @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.
+#/
+
+# VARIABLES #
+
+ifndef VERBOSE
+ QUIET := @
+else
+ QUIET :=
+endif
+
+# Determine the OS ([1][1], [2][2]).
+#
+# [1]: https://en.wikipedia.org/wiki/Uname#Examples
+# [2]: http://stackoverflow.com/a/27776822/2225624
+OS ?= $(shell uname)
+ifneq (, $(findstring MINGW,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring MSYS,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring CYGWIN,$(OS)))
+ OS := WINNT
+else
+ifneq (, $(findstring Windows_NT,$(OS)))
+ OS := WINNT
+endif
+endif
+endif
+endif
+
+
+# RULES #
+
+#/
+# Removes generated files for building an add-on.
+#
+# @example
+# make clean-addon
+#/
+clean-addon:
+ $(QUIET) -rm -f *.o *.node
+
+.PHONY: clean-addon
+
+#/
+# Removes generated files.
+#
+# @example
+# make clean
+#/
+clean: clean-addon
+
+.PHONY: clean
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/addon.c
new file mode 100644
index 000000000000..2672daf083b8
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/addon.c
@@ -0,0 +1,22 @@
+/**
+* @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.
+*/
+
+#include "stdlib/math/base/special/gammasgnf.h"
+#include "stdlib/math/base/napi/unary.h"
+
+STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_gammasgnf )
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/main.c b/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/main.c
new file mode 100644
index 000000000000..f4ff0408f3b1
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/src/main.c
@@ -0,0 +1,51 @@
+/**
+* @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.
+*/
+
+#include "stdlib/math/base/special/gammasgnf.h"
+#include "stdlib/math/base/assert/is_nanf.h"
+#include "stdlib/math/base/special/floorf.h"
+
+/**
+* Computes the sign of the gamma function for a single-precision floating-point number.
+*
+* @param x number
+* @return sign of the gamma function
+*
+* @example
+* float v = stdlib_base_gammasgnf( 1.0f );
+* // returns 1.0f
+*/
+float stdlib_base_gammasgnf( const float x ) {
+ float fx;
+
+ if ( stdlib_base_is_nanf( x ) ) {
+ return 0.0f / 0.0f; // NaN
+ }
+ if ( x > 0.0f ) {
+ return 1.0f;
+ }
+ fx = stdlib_base_floorf( x );
+ if ( x == fx ) {
+ return 0.0f;
+ }
+ fx /= 2.0f;
+ if ( fx == stdlib_base_floorf( fx ) ) {
+ return 1.0f;
+ }
+ return -1.0f;
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/fixtures/python/data.json b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/fixtures/python/data.json
new file mode 100644
index 000000000000..e04242523470
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/fixtures/python/data.json
@@ -0,0 +1 @@
+{"x": [72.29377746582031, -484.18048095703125, 452.5222473144531, 580.3936767578125, 368.4444274902344, 378.9513244628906, -276.0083923339844, 943.3155517578125, 177.79531860351562, 966.3272705078125, 386.53277587890625, -809.6299438476562, 854.3905029296875, -775.8443603515625, 444.7872619628906, 756.4056396484375, 833.7479858398438, 897.5510864257812, 968.3085327148438, 488.3846130371094, -120.3249282836914, 298.366943359375, -651.0611572265625, -566.3665161132812, 227.88470458984375, -223.18922424316406, -630.5233154296875, 675.0587768554688, 920.6935424804688, -418.6266174316406, 483.719482421875, -242.90924072265625, -999.3721313476562, -932.8941040039062, -398.9837646484375, -503.795166015625, -68.22515106201172, -400.4518737792969, -474.8246765136719, -49.81031036376953, -688.0718383789062, 596.8626708984375, 278.0148620605469, 923.8255004882812, 718.8834228515625, -681.5597534179688, 446.534912109375, 178.1630401611328, -214.63302612304688, -394.943359375, 343.4424743652344, 591.625244140625, -677.9346923828125, -35.731380462646484, 601.8646850585938, -403.6531982421875, -847.482177734375, 498.9290771484375, 271.7791442871094, -517.0999145507812, 631.1029663085938, 248.1778564453125, -368.2844543457031, -95.2524642944336, -662.8087158203125, -124.93384552001953, -370.8474426269531, -203.0970458984375, 719.1597900390625, -163.23109436035156, 714.67236328125, -237.8204803466797, -96.39997863769531, -333.1002502441406, 593.6065063476562, -466.5657958984375, 476.3220520019531, -467.7000427246094, -846.673095703125, 740.322021484375, -274.3287353515625, -585.0113525390625, -337.43084716796875, -668.1766967773438, -128.46002197265625, -191.42832946777344, -913.3319702148438, -8.833503723144531, -907.2333374023438, 608.9613647460938, 837.1180419921875, 646.7387084960938, -811.4189453125, 236.63670349121094, -230.1661834716797, -242.94509887695312, 406.2327880859375, 657.0618286132812, 476.326904296875, -549.888427734375, 299.18670654296875, -681.7986450195312, -396.4096374511719, 671.2528686523438, -31.268903732299805, 126.84419250488281, -263.1190185546875, -605.6387939453125, -40.055355072021484, -450.91217041015625, 74.63361358642578, -167.09156799316406, 408.0333557128906, -80.54705810546875, 520.516357421875, -966.7116088867188, 836.3079223632812, 602.839599609375, 515.4225463867188, 31.783536911010742, 831.231201171875, 292.1596374511719, -465.19036865234375, 412.6718444824219, 751.4171142578125, 527.5263671875, 770.2613525390625, 517.5586547851562, -634.5345458984375, -887.4003295898438, 317.13189697265625, -384.9481201171875, 677.3084716796875, -170.83238220214844, -573.3214111328125, -536.414306640625, 45.778236389160156, -828.2545776367188, 90.86827087402344, 501.6543884277344, 565.2053833007812, 713.876708984375, -134.21522521972656, -467.7892150878906, -426.69671630859375, -121.5662841796875, 202.7205047607422, -404.8239440917969, -613.8077392578125, 702.09814453125, -900.8501586914062, -169.18798828125, 6.363746166229248, -349.8936462402344, -411.5010681152344, 326.983154296875, 142.48208618164062, -734.4075317382812, -273.3197326660156, 440.339599609375, -322.9599304199219, 840.0345458984375, -8.736483573913574, -581.4151000976562, 933.3333740234375, -676.8203735351562, 414.3088684082031, 241.31170654296875, -535.81982421875, -690.8468627929688, -174.22340393066406, -202.01547241210938, -449.96002197265625, -358.57666015625, -39.88526916503906, -838.416259765625, -406.2785339355469, -622.7892456054688, -585.1996459960938, 615.9259643554688, -298.44769287109375, -162.03941345214844, 874.2413940429688, 173.21592712402344, 743.522705078125, -66.2969970703125, 9.810027122497559, -499.5106506347656, -536.1304931640625, -625.5429077148438, 684.7415771484375, 907.105712890625, -368.7273864746094, 850.7950439453125, 520.8414306640625, -733.472900390625, -684.8447875976562, -107.38013458251953, -113.04922485351562, -13.207489967346191, 378.7339172363281, 173.61973571777344, 243.55271911621094, 58.418663024902344, 702.7910766601562, -607.7839965820312, -486.3902893066406, 356.5520324707031, 222.85394287109375, -612.2464599609375, 238.68472290039062, -423.71124267578125, 385.25787353515625, -429.9082336425781, -183.47100830078125, -154.20086669921875, 156.44256591796875, -897.8140258789062, 888.0545654296875, 446.7154541015625, -289.54937744140625, -433.2946472167969, -766.4097290039062, 338.65277099609375, -389.6372375488281, 315.9469909667969, 944.8692016601562, -276.62237548828125, -950.241943359375, 907.534423828125, -494.0437316894531, -18.328777313232422, 551.378173828125, 924.8985595703125, -105.88140869140625, 726.735107421875, -199.26206970214844, 76.71273040771484, 568.914306640625, -13.277915000915527, -710.85400390625, 863.1930541992188, -692.9472045898438, 775.6744384765625, -461.26678466796875, -477.78485107421875, 943.8463745117188, -823.1491088867188, 95.96175384521484, -319.7314758300781, -194.76271057128906, -758.4373779296875, -530.8407592773438, 222.46231079101562, -750.0477294921875, 476.5159606933594, 702.9230346679688, -411.4799499511719, -801.2835083007812, 623.92333984375, -946.3247680664062, -788.4285278320312, -549.2515258789062, -820.6082153320312, -188.1250457763672, -409.57501220703125, -517.2744140625, 176.15597534179688, -784.3190307617188, 184.98463439941406, 650.1377563476562, 27.080921173095703, -223.78860473632812, 947.8356323242188, 246.29200744628906, -155.6345672607422, -713.223876953125, 328.7467956542969, 379.6930847167969, -242.84364318847656, -474.0014953613281, -965.6920776367188, -697.6097412109375, -711.0728149414062, 391.783447265625, -91.45881652832031, -2.7208588123321533, 922.04248046875, -209.20201110839844, 232.29251098632812, 644.4268798828125, -90.4534683227539, -378.30914306640625, -934.9337158203125, 496.4508056640625, -647.4013671875, -622.5133666992188, -795.0546264648438, -838.3882446289062, -624.4589233398438, -552.7896118164062, 688.4901123046875, 180.13690185546875, 698.5650634765625, -451.7039794921875, 254.0948028564453, -21.132463455200195, -689.0914916992188, -322.853515625, 197.89552307128906, -398.45013427734375, -639.5960693359375, -902.6832885742188, 652.3782348632812, 297.1004638671875, 907.4465942382812, -870.4163818359375, 63.28615951538086, -13.329643249511719, 26.231189727783203, -653.4733276367188, 538.0535888671875, -967.7496948242188, -893.2936401367188, 213.18109130859375, -913.7017211914062, 738.308837890625, 462.3212890625, 114.77305603027344, -156.82916259765625, 160.80287170410156, -935.6455078125, -736.4269409179688, 465.9970397949219, -549.1466674804688, -284.92529296875, 761.58544921875, 327.79833984375, 86.43036651611328, -519.7005615234375, 981.93017578125, 765.9191284179688, 591.0704956054688, 725.4246826171875, -942.6087036132812, 142.90269470214844, 854.3568115234375, -684.1726684570312, -303.6083068847656, -695.4532470703125, -641.6201782226562, -661.2364501953125, -778.544189453125, 243.5174102783203, 454.9570617675781, 176.09616088867188, -275.524658203125, 297.4345703125, -802.3382568359375, 270.96466064453125, 955.1365356445312, -289.83099365234375, -711.3375854492188, -719.90673828125, -394.0475158691406, -473.4023742675781, 816.4764404296875, 954.0294189453125, -359.9324951171875, -961.1061401367188, 463.4216003417969, 494.0787353515625, -750.023193359375, 185.3292236328125, -556.5742797851562, 772.256103515625, -306.6552734375, -54.64809799194336, 714.8546142578125, -404.8541259765625, 609.3231201171875, 947.0654907226562, -227.86720275878906, -918.17041015625, -552.415771484375, 158.5086669921875, 704.1487426757812, -186.8459930419922, 201.24794006347656, 429.0339050292969, 841.6784057617188, 996.7178955078125, 603.74609375, 718.9014892578125, -598.3526000976562, 615.0592651367188, 997.29833984375, 512.4532470703125, 202.85328674316406, -933.5529174804688, -59.07998275756836, -907.8305053710938, -506.0480651855469, 879.6891479492188, 664.4968872070312, -551.6798095703125, 66.61318969726562, 872.1036376953125, -565.74658203125, -298.1781921386719, 52.10894775390625, 35.33345031738281, -46.65753936767578, 617.0673828125, -325.92431640625, -127.61227416992188, 756.47705078125, 239.95346069335938, 107.94375610351562, -512.9043579101562, 419.2963562011719, 870.3699340820312, -280.19268798828125, 613.9686889648438, 724.0096435546875, -488.5963439941406, -692.1640014648438, 129.36312866210938, 541.7753295898438, -79.81008911132812, 270.52471923828125, 244.57872009277344, 14.96379566192627, 902.4185180664062, -56.80952835083008, -87.57335662841797, -778.5859985351562, 349.39373779296875, 983.3270263671875, 961.2786865234375, 951.62548828125, -651.434326171875, 343.75079345703125, 117.68828582763672, 672.1768798828125, -548.375732421875, -371.2475280761719, -721.41748046875, 718.4463500976562, 982.5022583007812, -273.8786926269531, 703.8501586914062, -101.99851989746094, 573.6386108398438, -906.5811767578125, 249.2582244873047, 579.6746215820312, -575.5367431640625, 954.2888793945312, 838.2554321289062, -172.3627471923828, 294.3403625488281, 584.9306640625, -796.2713012695312, 729.9786987304688, 893.2426147460938, -527.0245971679688, 963.9666137695312, 473.2046813964844, -498.2106018066406, 374.781494140625, -391.8468933105469, 518.6209106445312, 816.5471801757812, -327.6571350097656, 827.0474853515625, -564.9116821289062, 980.3704833984375, -906.8628540039062, 496.19952392578125, -298.92889404296875, -627.3275146484375, 545.0101928710938, 248.02178955078125, 715.7183837890625, 623.37158203125, 222.37278747558594, -758.5211791992188, -775.3140869140625, -433.3201599121094, -499.60003662109375, -211.09762573242188, -456.4058837890625, -14.599064826965332, 139.77789306640625, 611.46875, -139.65890502929688, 457.4771728515625, -821.7105102539062, 593.9929809570312, 288.8363037109375, -129.5935821533203, -102.77448272705078, 801.9006958007812, 925.5357666015625, -761.9022827148438, -449.16888427734375, -690.9921875, 75.33924102783203, -227.5210418701172, -414.8445129394531, 513.9676513671875, 968.1488647460938, 41.5684700012207, -616.9263305664062, -649.1376953125, -273.1222229003906, 312.0288391113281, -185.23329162597656, 845.2059936523438, 374.67047119140625, -722.9388427734375, -582.977783203125, 257.93255615234375, 41.21258544921875, 52.339176177978516, -144.68370056152344, -624.289306640625, 189.02322387695312, -488.89984130859375, -890.2035522460938, 573.679443359375, -907.7108154296875, 485.7755432128906, -48.916751861572266, -813.7401733398438, 587.4998779296875, -211.92694091796875, -594.3153686523438, 459.7543640136719, -119.1583480834961, -538.4273681640625, -723.4545288085938, 426.6300354003906, 66.32882690429688, 822.4471435546875, 134.0530242919922, -489.06964111328125, -800.523681640625, 851.6395263671875, 296.7525329589844, -188.61167907714844, 302.42578125, 999.3543090820312, 982.5218505859375, 333.6282043457031, -559.8905639648438, 772.83154296875, -550.6143188476562, -925.596923828125, -600.0213623046875, 183.48504638671875, 432.9690246582031, 430.051513671875, -111.96574401855469, -321.8283996582031, -421.8010559082031, -409.724853515625, 795.7042236328125, -224.05514526367188, -972.2898559570312, -941.3591918945312, 905.4725952148438, 864.8119506835938, -938.4862060546875, 644.056396484375, 219.13145446777344, -434.5539855957031, -674.9525146484375, -60.0000114440918, -559.0872192382812, -854.68603515625, -682.9417114257812, 295.4338073730469, -886.192138671875, -852.9400024414062, -431.2876281738281, -161.13619995117188, 842.4815063476562, -414.4031677246094, -619.2061157226562, 542.8516235351562, 823.2379150390625, 204.87034606933594, 390.2553405761719, 337.09783935546875, 755.7286376953125, -171.928466796875, 965.6130981445312, -820.7176513671875, 682.5889282226562, -333.3795166015625, 376.45037841796875, -950.342529296875, -886.7052001953125, 498.7497253417969, 422.70001220703125, -588.3217163085938, -798.7114868164062, 200.51202392578125, -395.6263427734375, -82.2125244140625, -598.6254272460938, 559.3953247070312, 974.416015625, 606.1318359375, -793.7953491210938, 4.789636135101318, -273.0472412109375, -252.119384765625, -869.2058715820312, 581.1859741210938, -809.9475708007812, 783.7933959960938, 289.74176025390625, -565.599609375, 624.11474609375, 599.8663330078125, 602.2650146484375, 986.0611572265625, 426.79705810546875, -860.901611328125, -757.8543701171875, -227.36854553222656, 748.5228881835938, 819.94677734375, 496.06195068359375, 750.9727783203125, -395.21728515625, -392.8636169433594, 677.5814208984375, 694.3472900390625, 983.1175537109375, 208.66880798339844, 687.1565551757812, -402.2780456542969, 769.3132934570312, -903.4911499023438, 603.474609375, 649.6615600585938, 986.161376953125, -215.5764923095703, 696.6207885742188, -1.8615221977233887, -427.7003479003906, -761.3386840820312, 761.0948486328125, 45.0523567199707, -370.02252197265625, -165.97781372070312, 816.2569580078125, 151.678955078125, 740.6053466796875, -12.571389198303223, 239.8246307373047, -808.123291015625, -685.5711669921875, 333.44390869140625, -469.90496826171875, -228.4779510498047, -647.5289306640625, 770.4024658203125, -777.165283203125, 441.0475769042969, 578.6279907226562, 158.7229461669922, -102.31525421142578, 728.3948364257812, -158.45697021484375, -45.81161880493164, 87.71653747558594, 908.934326171875, -120.69766235351562, -52.046043395996094, -479.8546447753906, 834.996826171875, -352.37335205078125, -350.7894287109375, -668.646728515625, 633.1801147460938, -864.7161865234375, 548.44580078125, 719.4910278320312, -149.987548828125, 276.3916931152344, 730.7184448242188, -596.8851928710938, 133.14947509765625, 916.1906127929688, -663.7415161132812, 640.2001342773438, 512.861572265625, 514.773193359375, -745.1310424804688, -673.8003540039062, 258.7842712402344, -629.3483276367188, 831.4102172851562, 425.38818359375, -775.5530395507812, -219.91864013671875, 387.7742614746094, 647.344970703125, 898.9432373046875, 940.8019409179688, -496.1515808105469, -851.6181030273438, 656.9828491210938, -434.9787292480469, -309.8251953125, -139.3385772705078, 177.53358459472656, -329.8377685546875, 753.6918334960938, 41.15814971923828, 138.37550354003906, 93.05585479736328, -200.83840942382812, 844.2254028320312, -130.3924560546875, 809.1776123046875, -125.318115234375, -25.76255989074707, 499.549560546875, -423.5859680175781, -664.5413818359375, 76.57954406738281, 64.89574432373047, -774.7587280273438, 523.576904296875, 466.2001037597656, -280.4716491699219, -803.3646240234375, -743.7371215820312, 715.4424438476562, 344.0272216796875, -664.113037109375, -724.9873046875, 271.1472473144531, -165.60330200195312, -985.0530395507812, -3.693697452545166, -352.87127685546875, 126.88050079345703, -521.2755737304688, 424.91046142578125, -433.3578186035156, 378.12432861328125, -140.09078979492188, -277.7177429199219, 349.0690612792969, -67.21601104736328, 976.8600463867188, 983.9496459960938, 162.90249633789062, -259.6311950683594, -455.70013427734375, 54.48370361328125, 198.4663848876953, -771.7833862304688, 186.09616088867188, -290.6041564941406, -465.96990966796875, 837.594482421875, 304.21453857421875, -42.89693069458008, 928.55712890625, 926.544189453125, 787.3701782226562, -522.103271484375, 609.2875366210938, 884.6351928710938, -367.33441162109375, -947.7906494140625, 564.5428466796875, -230.96099853515625, -702.7034912109375, 963.7212524414062, 398.75396728515625, -719.1325073242188, 741.1720581054688, -129.68934631347656, -56.616268157958984, -722.2918701171875, 214.4734344482422, -575.555419921875, -563.7818603515625, -844.1757202148438, -783.3587646484375, 294.31231689453125, -265.5607604980469, -539.0657958984375, 380.7375183105469, 730.4802856445312, 467.4217834472656, -174.42601013183594, 984.1812133789062, 617.5780639648438, -571.7825317382812, -33.4155387878418, -26.863840103149414, 386.48748779296875, -13.106404304504395, -186.46414184570312, -957.3755493164062, -566.200439453125, 633.3018798828125, 436.2138977050781, -547.00048828125, 380.739501953125, -969.0670776367188, 352.1687316894531, 720.4984130859375, -19.940038681030273, 81.02467346191406, 80.80325317382812, 83.1701431274414, 345.9878234863281, 645.5425415039062, -879.3770141601562, 481.9429016113281, -427.61346435546875, 400.9002685546875, -832.4309692382812, 802.4705200195312, -631.1686401367188, 502.55584716796875, 791.7066040039062, 526.6483154296875, 183.94749450683594, 622.2078247070312, 971.9180297851562, 216.1362762451172, -733.6888427734375, -778.848876953125, 973.751953125, -595.0350952148438, 551.5709228515625, -692.3489379882812, -675.7158203125, 578.3204345703125, 486.7403869628906, 31.578548431396484, -162.03269958496094, -481.0852966308594, 179.97726440429688, -691.47802734375, -345.924560546875, -501.9964904785156, 672.7571411132812, -509.85736083984375, -951.2496948242188, -484.4101867675781, -758.6316528320312, 680.1511840820312, -971.3903198242188, 694.3826293945312, 862.3252563476562, 161.0861053466797, -282.0262145996094, -513.7070922851562, -907.1949462890625, 224.7471466064453, 257.2354736328125, -502.1807556152344, 279.0204162597656, -841.3665771484375, -158.4341278076172, 442.66571044921875, -569.3696899414062, -756.58642578125, 515.3820190429688, -218.2581024169922, 793.2955932617188, -811.7880859375, -816.4807739257812, 48.43172836303711, -150.11978149414062, 529.6598510742188, 867.7537841796875, 942.603271484375, 599.4511108398438, -806.4187622070312, 592.54248046875, 937.548583984375, 691.1539916992188, -289.73876953125, 850.3778686523438, -693.1102294921875, -853.3010864257812, -267.2711181640625, -543.6874389648438, 563.40869140625, -995.8057250976562, -484.0721435546875, -7.741693019866943, -714.8157958984375, 722.02294921875, 346.5265808105469, 378.4922180175781, -125.63081359863281, -228.4267120361328, -103.65563201904297, 78.80374145507812, 53.741371154785156, -406.7638244628906, -543.4224243164062, -599.301513671875, 632.243408203125, -916.8328247070312, 165.70677185058594, 882.8653564453125, -118.70108795166016, 405.3099670410156, -212.58062744140625, 708.9646606445312, -573.6775512695312, -686.2235107421875, 744.3685302734375, -394.1384582519531, 545.0601196289062, 995.5588989257812, 453.5140380859375, 809.0614624023438, 272.593017578125, -223.96026611328125, -714.6864624023438, 522.8518676757812, -539.5818481445312, 752.6983032226562, 341.3082580566406, 499.730224609375, 805.4202880859375, 254.33856201171875, -749.1578369140625, 201.0883331298828, -654.4173583984375, -138.4321746826172, -247.45535278320312, 409.2169494628906, 742.138916015625, -696.2205810546875, 552.7754516601562, -94.75945281982422, 103.51295471191406, 578.9014282226562, 510.06689453125, -345.26953125, -37.338958740234375, 527.9042358398438, 684.158203125, -211.10536193847656, 555.2506103515625, 492.6875, 777.5776977539062, 7.187664985656738, -456.684326171875, 903.9403686523438, -292.2528381347656, -393.7458801269531, -248.22528076171875, 493.7668762207031, -574.76953125, 426.70263671875, -395.8379211425781, 597.7492065429688, -543.5879516601562, -514.5692138671875, 881.5847778320312, -835.3507080078125, 29.48830795288086, 128.49574279785156, 324.58721923828125, -198.09666442871094, -404.70941162109375, 11.48224925994873, -131.63226318359375, -812.7413940429688, 797.246826171875, 282.512939453125, -883.7324829101562, 194.6742401123047, -509.4091796875, -406.12646484375, 622.908203125, 648.103759765625, -975.447509765625, -210.80548095703125, -398.49432373046875, -965.9361572265625, -944.3910522460938, 691.8597412109375, -48.73933410644531, -980.917236328125, -290.45953369140625, 507.5185852050781, 801.3078002929688, 859.6629638671875, 766.333740234375, 445.6850280761719, 42.87632369995117, 354.9701843261719, -873.0503540039062, -266.538818359375, 565.8642578125, -800.2470703125, 689.80322265625, 511.3106689453125, 307.22760009765625, -550.0487060546875, -131.26669311523438, -916.0550537109375, -759.4688720703125, 685.63427734375, -62.16429901123047, -419.5016174316406, -835.9598999023438, -214.322021484375, -676.4445190429688, -166.95236206054688, -596.2969360351562, -361.3741149902344, -769.1990356445312, 550.98876953125, -993.4224243164062, 714.339111328125, -613.0410766601562, -421.8681335449219, -635.0989990234375, 900.0218505859375, -985.4335327148438, 918.7278442382812, -366.6615905761719, -537.5653686523438, 723.2901611328125, 282.3178405761719, -842.9854125976562, -8.321115493774414, -622.9521484375, 191.61428833007812, 365.876953125, 959.6627197265625, 168.70558166503906, 935.9432983398438, -584.3923950195312, -968.6880493164062, -496.26092529296875, -487.687744140625, -430.0640563964844, 42.861446380615234, 776.6845092773438, -168.42572021484375, -539.7555541992188, 770.6194458007812, -111.92465209960938, 385.25811767578125, -447.9617004394531, -403.2362365722656, -911.5869750976562, -600.6510620117188, -175.1984405517578, -636.2874755859375, -762.8209228515625, 852.650146484375, -687.5869750976562, -971.7266845703125, -705.2535400390625, 190.69476318359375, -122.3421859741211, -554.144287109375, -60.777713775634766, -989.3616943359375, 698.4595947265625, -189.23341369628906, -172.9640350341797, 506.97906494140625, -830.217041015625, -585.6232299804688, -72.10470581054688, 968.5577392578125, 704.97265625, -723.7050170898438, 822.0343627929688, 382.8929443359375, 198.72349548339844, -341.13037109375, 703.6303100585938, 457.8765563964844, -81.97095489501953, -295.2102355957031, 149.312255859375, 681.682373046875, -160.43060302734375, 653.345947265625, 158.03265380859375, -702.1987915039062, -939.5692138671875, -374.3498229980469, -689.7861328125, -403.08544921875, -273.689453125, -806.0867919921875, -432.36602783203125, 699.4201049804688, 730.2257080078125, 606.3735961914062, 778.9424438476562, 982.8917846679688, -274.5494689941406, -344.4911804199219, -10.300519943237305, 294.5938415527344, -161.4694061279297, 434.8934020996094, 979.5302124023438, -689.5006713867188, 235.43869018554688, -419.24371337890625, 281.92578125, -715.451904296875, -34.04669952392578, -385.02423095703125, -179.82574462890625, 546.923583984375, -128.8256072998047, 99.0947494506836, -320.7135925292969, -454.6676025390625, 258.57550048828125, 47.49527359008789, -180.65086364746094, 551.756591796875, 423.96929931640625, -829.1279907226562, -797.4336547851562, -851.7758178710938, 976.1239013671875, 922.6904907226562, 654.3011474609375, -963.0357666015625, 490.6825866699219, -601.1932373046875, 6.010406494140625, -927.4490966796875, -69.81584167480469, -681.3627319335938, 879.2448120117188, 205.0941925048828, -830.381591796875, 771.1307373046875, 689.483642578125, 369.1949768066406, 876.1047973632812, 737.65625, -586.2868041992188, -143.8188934326172, 905.7409057617188, 877.9193725585938, -618.2333374023438, 402.9454650878906, 24.517343521118164, 535.0084838867188, -451.18670654296875, 819.4436645507812, 598.1687622070312, 189.1517791748047, -421.707275390625, 785.9948120117188, -605.5834350585938, -47.55076217651367, -686.6242065429688, 182.51553344726562, 484.0752868652344, 605.9087524414062, 8.27971363067627, 299.626220703125, 850.5223999023438, -93.40374755859375, -393.5245361328125, 983.7640991210938, -698.0859985351562, -92.85249328613281, -859.4169311523438, -144.7737274169922, 17.21072769165039, -113.72288513183594, -663.9567260742188, -794.6986083984375, -102.35728454589844, -446.9462585449219, -893.4484252929688, -332.2151184082031, 311.8633728027344, -787.42919921875, -174.4158172607422, 915.4380493164062, -480.3593444824219, -956.8668212890625, -541.5867309570312, 776.2442016601562, 648.1884765625, -175.29615783691406, 671.7297973632812, 31.432165145874023, 987.6477661132812, -766.1515502929688, -777.4495239257812, -726.4569702148438, 296.9076232910156, -828.9559936523438, 771.5067749023438, 681.2412719726562, -84.4478988647461, -358.1311950683594, 956.5540161132812, -690.5435180664062, 439.6551208496094, -916.908935546875, 640.0326538085938, -58.76393127441406, -758.2805786132812, -876.0358276367188, 786.6453247070312, -66.75743103027344, 269.9107360839844, -625.2711791992188, 499.3946838378906, 587.7333984375, -38.660945892333984, -440.442138671875, 991.3646850585938, -470.0945739746094, -512.0703735351562, -103.61519622802734, 190.8998260498047, 24.287654876708984, -885.3961181640625, -909.7380981445312, -734.3856811523438, 513.541748046875, 692.1788330078125, 114.47894287109375, 691.1679077148438, -534.6567993164062, 671.609130859375, -878.6873779296875, 570.9775390625, -530.757568359375, 175.0896759033203, 957.9459228515625, -102.8868637084961, -879.8084716796875, -334.0769348144531, -144.9904327392578, -79.56134796142578, 399.3387451171875, -607.6971435546875, -159.9069366455078, -572.6124877929688, -51.014366149902344, -657.3923950195312, -651.4810791015625, -191.2373504638672, 345.2164001464844, -792.4586181640625, -456.6141662597656, -980.0364379882812, -428.73486328125, 860.9366455078125, 634.0208740234375, -313.4432678222656, -386.3388977050781, 250.78341674804688, 180.92898559570312, -379.7109680175781, 508.90643310546875, 597.3120727539062, -649.7584838867188, 450.7115478515625, -935.9658203125, 868.3009643554688, -329.8955383300781, -939.0693359375, 759.5947265625, 955.7114868164062, 119.98074340820312, 280.73846435546875, 69.02027130126953, -943.6974487304688, -980.7445678710938, 758.343994140625, 34.30817413330078, 294.1652526855469, -668.5917358398438, 904.5265502929688, -762.0046997070312, 57.56607437133789, 331.9046325683594, -736.0199584960938, -301.50982666015625, 121.72955322265625, 790.6598510742188, -108.11241149902344, -268.5533142089844, -673.2998657226562, -607.076416015625, 309.1392822265625, -747.3342895507812, -340.8668212890625, -494.1708984375, -775.6346435546875, -129.2545623779297, -625.2916259765625, -121.61492156982422, 500.41693115234375, 530.34326171875, 173.3802947998047, -264.0783996582031, -618.504150390625, 14.230305671691895, 110.63876342773438, 268.857421875, -475.6713562011719, 871.0237426757812, -984.3070678710938, -840.069580078125, -343.4044189453125, -982.4701538085938, 582.9720458984375, 942.6738891601562, 60.5040283203125, 415.4568176269531, 518.0013427734375, 889.8594970703125, -89.13406372070312, 634.8599243164062, -991.322998046875, 619.489501953125, 333.18646240234375, -846.369384765625, -958.0526123046875, 736.2523193359375, -966.4471435546875, 363.0990295410156, -843.7855834960938, 618.0074462890625, 303.35919189453125, -585.27490234375, -470.0299987792969, -156.6241912841797, 419.432861328125, -253.85206604003906, -918.9254760742188, -458.8000183105469, 502.3860778808594, 848.1239624023438, 33.357120513916016, -369.4367980957031, 903.5076293945312, 399.145751953125, 217.73980712890625, 261.2043762207031, -535.5309448242188, -339.51934814453125, -539.3019409179688, 542.065185546875, 538.9840087890625, 45.107723236083984, 987.5103149414062, 974.5125732421875, 283.42095947265625, -345.39959716796875, -526.1021118164062, 409.090087890625, 768.837158203125, -650.8124389648438, 370.77117919921875, 155.04766845703125, -2.473073720932007, 661.3392333984375, -18.214160919189453, 76.56581115722656, -424.1780700683594, 472.43359375, 119.16253662109375, -369.5461120605469, 743.90234375, -548.7979125976562, -561.0338745117188, 381.10528564453125, 503.3050842285156, -90.0484848022461, -175.6824188232422, 71.41471099853516, -175.81285095214844, 283.1973571777344, -770.0296630859375, 614.8037719726562, 347.4125061035156, 992.5263671875, -405.5315246582031, 143.0817108154297, 827.8094482421875, -415.5141906738281, 97.94551086425781, 253.23458862304688, -129.06005859375, 113.2291030883789, -755.0358276367188, 446.936767578125, -394.8960876464844, -271.0439453125, 413.33734130859375, -67.4002456665039, 65.02848052978516, 592.8048706054688, -690.9505004882812, 620.630615234375, -933.62451171875, 890.3846435546875, 215.5701446533203, -887.9845581054688, 585.2525634765625, -329.15570068359375, 961.1994018554688, -499.6721496582031, 224.34326171875, 989.3309936523438, -296.88653564453125, 182.43063354492188, 115.31889343261719, 660.6400756835938, -725.115966796875, 958.8878173828125, 245.27427673339844, -884.8497924804688, -435.2586364746094, 223.4689178466797, -111.40562438964844, 562.6882934570312, 0.6009929776191711, 410.22857666015625, 123.07952880859375, 660.2056884765625, 38.60393524169922, -704.5028686523438, -544.2344970703125, 209.97215270996094, 155.0453338623047, 828.245849609375, -711.6826171875, -248.64837646484375, -234.09326171875, -398.0264587402344, 434.08734130859375, -599.8096313476562, 524.5511474609375, 389.4482116699219, 26.656204223632812, -317.4652404785156, 219.8076934814453, 445.8744812011719, -637.07958984375, -182.51763916015625, -488.9123840332031, 782.97314453125, -533.3408813476562, -266.6058044433594, -12.44853401184082, 171.69253540039062, 319.1615295410156, -251.1592559814453, -343.9634704589844, 279.81500244140625, 359.28515625, -46.14878463745117, 876.09716796875, 864.4637451171875, 229.73934936523438, -567.740966796875, -295.7452697753906, 923.7366333007812, -318.4349670410156, -182.64581298828125, -322.56488037109375, 406.9414978027344, 888.669189453125, 796.685791015625, 970.0339965820312, -162.4576873779297, -97.10101318359375, 125.8802261352539, -585.2809448242188, 151.66590881347656, -241.1958465576172, 716.8109130859375, -205.09954833984375, 640.105224609375, -758.5513305664062, 932.1355590820312, 924.4560546875, -616.68798828125, -885.4432373046875, 655.24267578125, -503.0328369140625, 80.87693786621094, -595.3509521484375, 779.3075561523438, 526.5018920898438, 55.8030891418457, -973.4396362304688, -534.8825073242188, 474.513671875, -403.3965759277344, -593.7620849609375, 482.4422302246094, -828.35693359375, 104.73052978515625, -14.278894424438477, -367.4411315917969, -833.35546875, -840.2625122070312, -160.0987548828125, -546.9382934570312, -342.26806640625, 994.3976440429688, 577.4033203125, 617.0791625976562, 510.49102783203125, 492.5274963378906, -139.00479125976562, 448.0715637207031, -468.5511779785156, 127.92253875732422, -380.0213317871094, 43.3216667175293, 553.0291137695312, -751.5869140625, 658.300048828125, 529.844482421875, 400.0063781738281, -60.65049362182617, 583.7694702148438, 223.86012268066406, 959.9994506835938, 486.8628234863281, 641.7407836914062, 892.5982055664062, -423.4888610839844, 997.0117797851562, 413.1789245605469, 730.5127563476562, -92.56727600097656, 269.4428405761719, 757.011962890625, 448.4205627441406, 596.2301635742188, -365.9722900390625, -829.9636840820312, -418.9178466796875, 192.71339416503906, 481.963623046875, 957.4065551757812, -233.8397674560547, -342.7112731933594, -392.1608581542969, -107.8794937133789, -969.0574951171875, 432.8705749511719, -47.003326416015625, -502.1541748046875, -447.8804931640625, 530.4273681640625, 676.2991943359375, 455.0032653808594, -373.5270690917969, -260.62060546875, 601.931884765625, -1.7881592512130737, 510.7369384765625, 680.4566650390625, -766.0748291015625, -173.40086364746094, 343.04962158203125, 57.91685485839844, -21.113271713256836, -959.8278198242188, -203.95343017578125, 170.0335235595703, 280.9491271972656, 608.6339111328125, -21.26942253112793, -242.97813415527344, 604.5213623046875, -485.9742736816406, 76.82583618164062, 669.5537719726562, -838.7508544921875, -272.8604736328125, -518.9028930664062, -223.0644073486328, 126.68878936767578, -409.8001708984375, 843.7050170898438, 381.4246520996094, -294.10516357421875, -155.2890167236328, 600.7096557617188, 219.96823120117188, 487.1904296875, 460.3252868652344, 972.021484375, -359.80340576171875, -271.8926086425781, -123.2372817993164, 443.71820068359375, -340.6399230957031, -935.7628784179688, 9.678339958190918, -390.1239929199219, -98.57376098632812, -84.20122528076172, 545.2354736328125, -985.700927734375, -860.6351928710938, 683.7967529296875, 46.664306640625, -773.9093627929688, 732.9097900390625, 957.8320922851562, -606.2821044921875, -419.2098693847656, 173.41322326660156, -332.4428405761719, -346.6317443847656, -527.51123046875, 117.7063217163086, -653.1416015625, 168.62452697753906, 198.14808654785156, 754.0455322265625, 565.5989990234375, 183.0923309326172, 916.6629638671875, -935.83251953125, 432.6910095214844, -860.6259765625, -18.681650161743164, -623.69970703125, 384.0698547363281, -64.9191665649414, 406.4051818847656, -690.9091796875, 796.9844360351562, -105.28042602539062, 102.33085632324219, 744.1005859375, 815.4439086914062, -749.1891479492188, -677.1578369140625, -113.45215606689453, 890.7386474609375, 688.093017578125, -959.5974731445312, -913.8400268554688, -311.2121887207031, -408.4720764160156, -76.02239990234375, -445.9786071777344, -696.6608276367188, -507.9454040527344, 608.5164794921875, 691.8455200195312, -459.2254333496094, -886.2003173828125, -352.3739013671875, 319.99359130859375, 165.85946655273438, -814.6802368164062, 431.85028076171875, 981.9009399414062, -405.7890319824219, 277.6620178222656, 689.7191772460938, -625.0498046875, 452.74664306640625, -677.8432006835938, -96.43537139892578, 989.0103759765625, -993.5629272460938, 124.35189819335938, -24.206707000732422, -368.7312316894531, 259.5455627441406, -862.938232421875, 266.1942138671875, -984.286376953125, 357.498291015625, -617.9830322265625, -54.49422073364258, -782.4058837890625, -142.5110626220703, -316.4175720214844, 682.94091796875, 842.7510375976562, 236.22445678710938, 438.4638977050781, -201.40370178222656, -188.62893676757812, 573.7182006835938, 506.5846252441406, 55.71720504760742, -318.5613708496094, -655.0385131835938, -44.472206115722656, -100.41886138916016, 785.609619140625, -23.18164825439453, -154.53501892089844, -229.73593139648438, -712.61767578125, 78.41522216796875, 464.19659423828125, 988.7567138671875, 138.00611877441406, -420.78857421875, 409.8080749511719, 669.5051879882812, 418.89959716796875, 986.3258056640625, 529.6241455078125, -649.514404296875, -542.37646484375, 143.50694274902344, 905.0379028320312, -637.6675415039062, -932.141357421875, 624.0665893554688, -608.3163452148438, 957.9678344726562, 839.4219970703125, 260.04010009765625, 237.82940673828125, 374.9571228027344, 325.331787109375, 239.04844665527344, 480.6026611328125, 717.507080078125, -11.272567749023438, 233.67874145507812, 766.93994140625, -854.4220581054688, -121.32878875732422, 54.91898727416992, -307.8922119140625, -845.5394287109375, 584.47216796875, 770.7926025390625, 982.1841430664062, -399.4020080566406, 593.3136596679688, 143.93968200683594, 169.93951416015625, 204.24769592285156, 229.35205078125, -336.7470703125, 808.2774658203125, 341.3229064941406, -734.7557373046875, -984.6264038085938, -968.8494262695312, -194.6132049560547, -35.79152297973633, 46.02656936645508, -800.516845703125, -100.57759094238281, 449.9877624511719, -471.7770690917969, -695.059326171875, -75.65117645263672, -474.2268371582031, -866.2229614257812, -19.66058349609375, 782.657470703125, -292.1278991699219, -9.9640531539917, 991.894775390625, -321.6611328125, 801.1287231445312, 432.321044921875, 296.9178771972656, -298.4294738769531, -126.18107604980469, 834.9172973632812, 407.9477844238281, 591.8141479492188, -536.306640625, -362.1447448730469, 412.93792724609375, 130.80294799804688, 106.08421325683594, -887.9292602539062, -270.8439636230469, -703.8673706054688, 384.0893859863281, -876.9417724609375, 515.9686279296875, 851.6263427734375, 584.252685546875, -762.885986328125, -732.6530151367188, 403.2973327636719, -978.9968872070312, 318.9970703125, -549.9457397460938, -237.67613220214844, 351.67926025390625, 68.98802947998047, 694.9064331054688, -35.3165168762207, 335.2318420410156, -220.8480682373047, 57.42735290527344, 621.4534301757812, -4.61001443862915, -289.10211181640625, 733.0355224609375, -848.2843627929688, 19.325061798095703, -582.2525024414062, 746.4843139648438, -976.5116577148438, -648.52978515625, 601.9352416992188, 866.4152221679688, -465.46942138671875, 828.7345581054688, -838.8493041992188, 621.9230346679688, 133.23672485351562, 107.27798461914062, -44.54079818725586, 72.9620132446289, -877.4154663085938, -244.6757354736328, -462.63177490234375, -487.6203308105469, -352.9990539550781, -390.8789978027344, -864.4594116210938, -989.5792236328125, 724.1322021484375, 791.0700073242188, -228.22711181640625, -22.822580337524414, 496.8785705566406, -532.9461669921875, -716.3671264648438, -393.0530090332031, -429.6534729003906, 223.7342529296875, -408.87689208984375, 415.3237609863281, -201.1144256591797, -920.8889770507812, 38.68523025512695, 828.4747314453125, -732.9361572265625, 773.4173583984375, -991.171875, -8.985125541687012, -909.6009521484375, -328.56103515625, -156.2656707763672, 577.0711669921875, -606.387939453125, -209.2620849609375, 497.8251037597656, -440.7087097167969, 802.9273681640625, 413.9352722167969, 533.8954467773438, 469.1070861816406, 459.1539001464844, 399.7237854003906, 925.1126098632812, 9.280771255493164, 392.3165283203125, 508.958740234375, -903.7845458984375, -713.83154296875, -414.2601318359375, -367.5762634277344, 140.03927612304688, -649.4168090820312, -735.8304443359375, -832.0718994140625, -578.8245849609375, -963.1788940429688, 147.41078186035156, -558.8099975585938, 558.3493041992188, -165.23854064941406, -629.8096923828125, -43.63370132446289, -740.4279174804688, -99.74795532226562, -190.326416015625, -59.31878662109375, 596.8623657226562, -136.42340087890625, -213.46484375, -620.673095703125, -597.77392578125, 183.88063049316406, -449.4448547363281, 762.7838134765625, -679.761474609375, -648.0885009765625, 399.4779052734375, -244.73516845703125, -931.3616333007812, -57.27324295043945, -477.1260986328125, -242.9613494873047, 133.34056091308594, 716.0255737304688, 284.1548767089844, -22.464521408081055, -716.3372802734375, 177.44549560546875, 50.248992919921875, 689.3252563476562, 103.20584869384766, -288.2220458984375, -925.9315795898438, 402.6402587890625, -970.82958984375, -250.40176391601562, -517.5279541015625, 173.50454711914062, -844.4102783203125, 320.1692810058594, -115.06256103515625, -769.9029541015625, -280.3199157714844, -892.0309448242188, 638.00830078125, -809.139892578125, 914.6918334960938, 239.2658233642578, -868.08154296875, -428.9028015136719, 479.9173278808594, 559.880859375, 668.70068359375, 665.6680297851562, 574.35400390625, 975.4127807617188, 493.8061828613281, -766.4867553710938, -226.348388671875, 754.7918701171875, -446.5975036621094, 933.4193725585938, 685.587646484375, 212.21095275878906, -734.103515625, -952.1339111328125, -206.33370971679688, -491.6429748535156, -362.3861999511719, -676.4009399414062, -226.54835510253906, 363.25750732421875, -241.67799377441406, -187.76409912109375, -197.11473083496094, 720.7640991210938, -129.79739379882812, 484.072265625, 405.1846923828125, 252.92083740234375, -853.8319702148438, 897.1876220703125, -594.9784545898438, 720.861328125, -117.63758850097656, 255.1663818359375, -183.61080932617188, 24.200706481933594], "expected": [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, -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, 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, -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, -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, -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, 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, 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, -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, 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, -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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, -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, 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, 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, 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, -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, 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, 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, -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, 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, 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, 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, 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, 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, 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, -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, 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, 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, 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, -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, 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]}
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/fixtures/python/runner.py
new file mode 100644
index 000000000000..6f39c0fbcb43
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/fixtures/python/runner.py
@@ -0,0 +1,74 @@
+#!/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 gammasgn
+
+# Get the file path:
+FILE = os.path.realpath(__file__)
+
+# Extract the directory in which this file resides:
+DIR = os.path.dirname(FILE)
+
+
+def gen(x, name):
+ """Generate fixture data and write to file.
+
+ # Arguments
+
+ * `x`: domain
+ * `name::str`: output filename
+
+ # Examples
+
+ ``` python
+ python> x = linspace(-1000, 1000, 2001)
+ python> gen(x, './data.json')
+ ```
+ """
+ y = gammasgn(x).astype(np.float32)
+
+ # Convert all NaN values to 0 according to our convention:
+ y[np.isnan(y)] = 0
+
+ # Store data to be written to file as a dictionary:
+ data = {
+ "x": x.tolist(),
+ "expected": y.tolist()
+ }
+
+ # 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."""
+ x = np.random.uniform(-1000, 1000, 2001).astype(np.float32)
+ gen(x, "data.json")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/test.js b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/test.js
new file mode 100644
index 000000000000..e7cd9549eec2
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/test.js
@@ -0,0 +1,85 @@
+/**
+* @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 isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' );
+var gammasgnf = require( './../lib' );
+
+
+// FIXTURES //
+
+var data = require( './fixtures/python/data.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof gammasgnf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function computes the sign of the gamma function', function test( t ) {
+ var expected;
+ var x;
+ var v;
+ var i;
+
+ x = data.x;
+ expected = data.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = gammasgnf( x[ i ] );
+ t.strictEqual( v, expected[ i ], 'returns expected value' );
+ }
+ t.end();
+});
+
+tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
+ var v = gammasgnf( NaN );
+ t.strictEqual( isnanf( v ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function returns `+0` if provided `+0`', function test( t ) {
+ var v = gammasgnf( +0.0 );
+ t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function returns `+0` if provided `-0`', function test( t ) {
+ var v = gammasgnf( -0.0 );
+ t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function returns `+0` if provided a negative integer', function test( t ) {
+ var v;
+ var i;
+
+ for ( i = 0; i >= -100; i-- ) {
+ v = gammasgnf( i );
+ t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' );
+ }
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/test.native.js
new file mode 100644
index 000000000000..b9924afa5252
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/gammasgnf/test/test.native.js
@@ -0,0 +1,94 @@
+/**
+* @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 resolve = require( 'path' ).resolve;
+var tape = require( 'tape' );
+var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' );
+var tryRequire = require( '@stdlib/utils/try-require' );
+
+
+// VARIABLES //
+
+var gammasgnf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
+var opts = {
+ 'skip': ( gammasgnf instanceof Error )
+};
+
+
+// FIXTURES //
+
+var data = require( './fixtures/python/data.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', opts, function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof gammasgnf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function computes the sign of the gamma function', opts, function test( t ) {
+ var expected;
+ var x;
+ var v;
+ var i;
+
+ x = data.x;
+ expected = data.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ v = gammasgnf( x[ i ] );
+ t.strictEqual( v, expected[ i ], 'returns expected value' );
+ }
+ t.end();
+});
+
+tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) {
+ var v = gammasgnf( NaN );
+ t.strictEqual( isnanf( v ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
+ var v = gammasgnf( +0.0 );
+ t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function returns `+0` if provided `-0`', opts, function test( t ) {
+ var v = gammasgnf( -0.0 );
+ t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function returns `+0` if provided a negative integer', opts, function test( t ) {
+ var v;
+ var i;
+
+ for ( i = 0; i >= -100; i-- ) {
+ v = gammasgnf( i );
+ t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' );
+ }
+ t.end();
+});