diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/README.md b/lib/node_modules/@stdlib/math/base/special/cexpf/README.md
new file mode 100644
index 000000000000..dc51e087f1e8
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/README.md
@@ -0,0 +1,229 @@
+
+
+# expf
+
+> Evaluate the [exponential][exponential-function] function for a single-precision complex floating-point number.
+
+
+
+The [exponential][exponential-function] function of a complex number is defined as
+
+
+
+```math
+\mathop{\mathrm{exp}}(z) = e^{x + i y} = (\exp{x}) (\cos(y) + i \sin(y))
+```
+
+
+
+
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var cexpf = require( '@stdlib/math/base/special/cexpf' );
+```
+
+#### cexpf( z )
+
+Evaluates the [exponential][exponential-function] function for a single-precision complex floating-point number.
+
+```javascript
+var Complex64 = require( '@stdlib/complex/float32/ctor' );
+
+var v = cexpf( new Complex64( 0.0, 0.0 ) );
+// returns [ 1.0, 0.0 ]
+
+v = cexpf( new Complex64( 0.0, 1.0 ) );
+// returns [ ~0.540, ~0.841 ]
+```
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var Complex64 = require( '@stdlib/complex/float32/ctor' );
+var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
+var cexpf = require( '@stdlib/math/base/special/cexpf' );
+
+function randomComplex() {
+ var re = discreteUniform( -50, 50 );
+ var im = discreteUniform( -50, 50 );
+ return new Complex64( re, im );
+}
+
+var z1;
+var z2;
+var i;
+for ( i = 0; i < 100; i++ ) {
+ z1 = randomComplex();
+ z2 = cexpf( z1 );
+ console.log( 'cexpf(%s) = %s', z1.toString(), z2.toString() );
+}
+```
+
+
+
+
+
+
+
+* * *
+
+
+
+## C APIs
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Usage
+
+```c
+#include "stdlib/math/base/special/cexpf.h"
+```
+
+#### stdlib_base_cexpf( z )
+
+Evaluates the [exponential][exponential-function] function for a single-precision complex floating-point number.
+
+```c
+#include "stdlib/complex/float32/ctor.h"
+#include "stdlib/complex/float32/real.h"
+#include "stdlib/complex/float32/imag.h"
+
+stdlib_complex64_t z = stdlib_complex64( 0.0f, 0.0f );
+stdlib_complex64_t out = stdlib_base_cexpf( z );
+
+float re = stdlib_complex64_real( out );
+// returns 1.0f
+
+float im = stdlib_complex64_imag( out );
+// returns 0.0f
+```
+
+The function accepts the following arguments:
+
+- **z**: `[in] stdlib_complex64_t` input value.
+
+```c
+stdlib_complex64_t stdlib_base_cexpf( const stdlib_complex64_t z );
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Examples
+
+```c
+#include "stdlib/math/base/special/cexpf.h"
+#include "stdlib/complex/float32/ctor.h"
+#include "stdlib/complex/float32/reim.h"
+#include
+
+int main( void ) {
+ const stdlib_complex64_t x[] = {
+ stdlib_complex64( 3.14f, 1.5f ),
+ stdlib_complex64( -3.14f, -1.5f ),
+ stdlib_complex64( 0.0f, 0.0f ),
+ stdlib_complex64( 0.0f/0.0f, 0.0f/0.0f )
+ };
+
+ stdlib_complex64_t v;
+ stdlib_complex64_t y;
+ float re1;
+ float im1;
+ float re2;
+ float im2;
+ int i;
+ for ( i = 0; i < 4; i++ ) {
+ v = x[ i ];
+ y = stdlib_base_cexpf( v );
+ stdlib_complex64_reim( v, &re1, &im1 );
+ stdlib_complex64_reim( y, &re2, &im2 );
+ printf( "cexpf(%f + %fi) = %f + %fi\n", re1, im1, re2, im2 );
+ }
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[exponential-function]: https://en.wikipedia.org/wiki/Exponential_function
+
+
+
+
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/benchmark.js
new file mode 100644
index 000000000000..961429038de8
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/benchmark.js
@@ -0,0 +1,59 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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/base/uniform' );
+var format = require( '@stdlib/string/format' );
+var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var Complex64 = require( '@stdlib/complex/float32/ctor' );
+var realf = require( '@stdlib/complex/float32/real' );
+var imagf = require( '@stdlib/complex/float32/imag' );
+var pkg = require( './../package.json' ).name;
+var cexpf = require( './../lib' );
+
+
+// MAIN //
+
+bench( format( '%s', pkg ), function benchmark( b ) {
+ var values;
+ var y;
+ var i;
+
+ values = [
+ new Complex64( uniform( -50.0, 50.0 ), uniform( -50.0, 50.0 ) ),
+ new Complex64( uniform( -50.0, 50.0 ), uniform( -50.0, 50.0 ) )
+ ];
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = cexpf( values[ i%values.length ] );
+ if ( typeof y !== 'object' ) {
+ b.fail( 'should return a complex number' );
+ }
+ }
+ b.toc();
+ if ( isnanf( realf( y ) ) || isnanf( imagf( y ) ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/benchmark.native.js
new file mode 100644
index 000000000000..48048c9bca92
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/benchmark.native.js
@@ -0,0 +1,68 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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/base/uniform' );
+var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var Complex64 = require( '@stdlib/complex/float32/ctor' );
+var realf = require( '@stdlib/complex/float32/real' );
+var imagf = require( '@stdlib/complex/float32/imag' );
+var format = require( '@stdlib/string/format' );
+var tryRequire = require( '@stdlib/utils/try-require' );
+var pkg = require( './../package.json' ).name;
+
+
+// VARIABLES //
+
+var cexpf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
+var opts = {
+ 'skip': ( cexpf instanceof Error )
+};
+
+
+// MAIN //
+
+bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
+ var values;
+ var y;
+ var i;
+
+ values = [
+ new Complex64( uniform( -500.0, 500.0 ), uniform( -500.0, 500.0 ) ),
+ new Complex64( uniform( -500.0, 500.0 ), uniform( -500.0, 500.0 ) )
+ ];
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = cexpf( values[ i%values.length ] );
+ if ( typeof y !== 'object' ) {
+ b.fail( 'should return a complex number' );
+ }
+ }
+ b.toc();
+ if ( isnanf( realf( y ) ) || isnanf( imagf( y ) ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/Makefile b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/Makefile
new file mode 100644
index 000000000000..928de45a1a06
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/Makefile
@@ -0,0 +1,127 @@
+#/
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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 C targets:
+c_targets := benchmark.out
+
+
+# RULES #
+
+#/
+# Compiles C source files.
+#
+# @param {string} [C_COMPILER] - C compiler
+# @param {string} [CFLAGS] - C compiler flags
+# @param {(string|void)} [fPIC] - compiler flag indicating whether to generate position independent code
+#
+# @example
+# make
+#
+# @example
+# make all
+#/
+all: $(c_targets)
+
+.PHONY: all
+
+#/
+# Compiles C source files.
+#
+# @private
+# @param {string} CC - C compiler
+# @param {string} CFLAGS - C compiler flags
+# @param {(string|void)} fPIC - compiler flag indicating whether to generate position independent code
+#/
+$(c_targets): %.out: %.c
+ $(QUIET) $(CC) $(CFLAGS) $(fPIC) -o $@ $< -lm
+
+#/
+# 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/cexpf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/benchmark.c
new file mode 100644
index 000000000000..204e6bc679f2
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/benchmark.c
@@ -0,0 +1,138 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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
+#include
+#include
+#include
+#include
+
+#define NAME "cexpf"
+#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 ) {
+ float re[ 100 ];
+ float im[ 100 ];
+ double elapsed;
+ double t;
+ int i;
+
+ float complex z;
+
+ for ( i = 0; i < 100; i++ ) {
+ re[ i ] = ( 100.0f*rand_float() ) - 50.0f;
+ im[ i ] = ( 100.0f*rand_float() ) - 50.0f;
+ }
+
+ t = tic();
+ for ( i = 0; i < ITERATIONS; i++ ) {
+ z = cexpf( re[ i%100 ] + I * im[ i%100 ] );
+ if ( z != z ) {
+ printf( "should not return NaN\n" );
+ break;
+ }
+ }
+ elapsed = tic() - t;
+ if ( z != z ) {
+ 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::%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/cexpf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/native/Makefile
new file mode 100644
index 000000000000..979768abbcec
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/native/Makefile
@@ -0,0 +1,146 @@
+#/
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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/cexpf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/native/benchmark.c
new file mode 100644
index 000000000000..0b17a52d3a90
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/c/native/benchmark.c
@@ -0,0 +1,144 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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/cexpf.h"
+#include "stdlib/complex/float32/ctor.h"
+#include "stdlib/complex/float32/reim.h"
+#include
+#include
+#include
+#include
+#include
+
+#define NAME "cexpf"
+#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 ) {
+ float v[ 100 ];
+ double elapsed;
+ float re;
+ float im;
+ double t;
+ int i;
+
+ stdlib_complex64_t x;
+ stdlib_complex64_t y;
+
+ for ( i = 0; i < 100; i++ ) {
+ v[ i ] = ( 1000.0f*rand_float() ) - 500.0f;
+ }
+
+ t = tic();
+ for ( i = 0; i < ITERATIONS; i++ ) {
+ x = stdlib_complex64( v[ i%100 ], v[ i%100 ] );
+ y = stdlib_base_cexpf( x );
+ stdlib_complex64_reim( y, &re, &im );
+ if ( re != re ) {
+ printf( "unexpected result\n" );
+ break;
+ }
+ }
+ elapsed = tic() - t;
+ if ( im != im ) {
+ printf( "unexpected result\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/cexpf/benchmark/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/julia/REQUIRE
new file mode 100644
index 000000000000..98645e192e41
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/julia/REQUIRE
@@ -0,0 +1,2 @@
+julia 1.5
+BenchmarkTools 0.5.0
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/julia/benchmark.jl b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/julia/benchmark.jl
new file mode 100755
index 000000000000..10185fc79160
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/julia/benchmark.jl
@@ -0,0 +1,144 @@
+#!/usr/bin/env julia
+#
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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 BenchmarkTools
+using Printf
+
+# Benchmark variables:
+name = "cexpf";
+repeats = 3;
+
+"""
+ print_version()
+
+Prints the TAP version.
+
+# Examples
+
+``` julia
+julia> print_version()
+```
+"""
+function print_version()
+ @printf( "TAP version 13\n" );
+end
+
+"""
+ print_summary( total, passing )
+
+Print the benchmark summary.
+
+# Arguments
+
+* `total`: total number of tests
+* `passing`: number of passing tests
+
+# Examples
+
+``` julia
+julia> print_summary( 3, 3 )
+```
+"""
+function print_summary( total, 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" );
+end
+
+"""
+ print_results( iterations, elapsed )
+
+Print benchmark results.
+
+# Arguments
+
+* `iterations`: number of iterations
+* `elapsed`: elapsed time (in seconds)
+
+# Examples
+
+``` julia
+julia> print_results( 1000000, 0.131009101868 )
+```
+"""
+function print_results( iterations, elapsed )
+ rate = iterations / elapsed
+
+ @printf( " ---\n" );
+ @printf( " iterations: %d\n", iterations );
+ @printf( " elapsed: %0.9f\n", elapsed );
+ @printf( " rate: %0.9f\n", rate );
+ @printf( " ...\n" );
+end
+
+"""
+ benchmark()
+
+Run a benchmark.
+
+# Notes
+
+* Benchmark results are returned as a two-element array: [ iterations, elapsed ].
+* The number of iterations is not the true number of iterations. Instead, an 'iteration' is defined as a 'sample', which is a computed estimate for a single evaluation.
+* The elapsed time is in seconds.
+
+# Examples
+
+``` julia
+julia> out = benchmark();
+```
+"""
+function benchmark()
+ t = BenchmarkTools.@benchmark exp(ComplexF64( (rand()*100.0)-50.0, (rand()*100.0)-50.0 )) samples=1e6
+
+ # Compute the total "elapsed" time and convert from nanoseconds to seconds:
+ s = sum( t.times ) / 1.0e9;
+
+ # Determine the number of "iterations":
+ iter = length( t.times );
+
+ # Return the results:
+ [ iter, s ];
+end
+
+"""
+ main()
+
+Run benchmarks.
+
+# Examples
+
+``` julia
+julia> main();
+```
+"""
+function main()
+ print_version();
+ for i in 1:repeats
+ @printf( "# julia::%s\n", name );
+ results = benchmark();
+ print_results( results[ 1 ], results[ 2 ] );
+ @printf( "ok %d benchmark finished\n", i );
+ end
+ print_summary( repeats, repeats );
+end
+
+main();
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/python/benchmark.py b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/python/benchmark.py
new file mode 100644
index 000000000000..3bb8f4e081ea
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/benchmark/python/benchmark.py
@@ -0,0 +1,97 @@
+#!/usr/bin/env python
+#
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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 cexpf."""
+
+from __future__ import print_function
+import timeit
+
+NAME = "cexpf"
+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 random import random; from cmath import exp;"
+ stmt = "re = (random()*100.0) - 50.0; im = (random()*100.0) - 50.0; y = exp(re + 1.0j * im);"
+
+ t = timeit.Timer(stmt, setup=setup)
+
+ print_version()
+
+ for i in range(REPEATS):
+ print("# python::" + 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/cexpf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/cexpf/binding.gyp
new file mode 100644
index 000000000000..0d6508a12e99
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/binding.gyp
@@ -0,0 +1,170 @@
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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/cexpf/docs/img/equation_cexp_function.svg b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/img/equation_cexp_function.svg
new file mode 100644
index 000000000000..99243749602d
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/img/equation_cexp_function.svg
@@ -0,0 +1,69 @@
+
\ No newline at end of file
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/repl.txt
new file mode 100644
index 000000000000..2a1fea7b335d
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/repl.txt
@@ -0,0 +1,25 @@
+
+{{alias}}( z )
+ Evaluates the exponential function for a single-precision complex floating-
+ point number.
+
+ Parameters
+ ----------
+ z: Complex64
+ Complex number.
+
+ Returns
+ -------
+ out: Complex64
+ Complex number.
+
+ Examples
+ --------
+ > var y = {{alias}}( new {{alias:@stdlib/complex/float32/ctor}}( 0.0, 0.0 ) )
+ [ 1.0, 0.0 ]
+ > y = {{alias}}( new {{alias:@stdlib/complex/float32/ctor}}( 0.0, 1.0 ) )
+ [ ~0.540, ~0.841 ]
+
+ See Also
+ --------
+
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/types/index.d.ts
new file mode 100644
index 000000000000..445a251aefb6
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/types/index.d.ts
@@ -0,0 +1,48 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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
+
+///
+
+import { Complex64 } from '@stdlib/types/complex';
+
+/**
+* Evaluates the exponential function for a single-precision complex floating-point number.
+*
+* @param z - complex number
+* @returns result
+*
+* @example
+* var Complex64 = require( '@stdlib/complex/float32/ctor' );
+*
+* var v = cexpf( new Complex64( 0.0, 0.0 ) );
+* // returns [ 1.0, 0.0 ]
+*
+* @example
+* var Complex64 = require( '@stdlib/complex/float32/ctor' );
+*
+* var v = cexpf( new Complex64( 1.0, 0.0 ) );
+* // returns [ ~2.718, 0.0 ]
+*/
+declare function cexpf( z: Complex64 ): Complex64;
+
+
+// EXPORTS //
+
+export = cexpf;
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/types/test.ts
new file mode 100644
index 000000000000..8d042f85f9ec
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/docs/types/test.ts
@@ -0,0 +1,46 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 Complex64 = require( '@stdlib/complex/float32/ctor' );
+import cexpf = require( './index' );
+
+
+// TESTS //
+
+// The function returns a complex number...
+{
+ cexpf( new Complex64( 1.0, 2.0 ) ); // $ExpectType Complex64
+}
+
+// The compiler throws an error if the function is provided a value other than a complex number...
+{
+ cexpf( 2 ); // $ExpectError
+ cexpf( true ); // $ExpectError
+ cexpf( false ); // $ExpectError
+ cexpf( null ); // $ExpectError
+ cexpf( undefined ); // $ExpectError
+ cexpf( '5' ); // $ExpectError
+ cexpf( [] ); // $ExpectError
+ cexpf( {} ); // $ExpectError
+ cexpf( ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided insufficient arguments...
+{
+ cexpf(); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/cexpf/examples/c/Makefile
new file mode 100644
index 000000000000..c8f8e9a1517b
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/examples/c/Makefile
@@ -0,0 +1,146 @@
+#/
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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/cexpf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/cexpf/examples/c/example.c
new file mode 100644
index 000000000000..74101b48850a
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/examples/c/example.c
@@ -0,0 +1,46 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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/cexpf.h"
+#include "stdlib/complex/float32/ctor.h"
+#include "stdlib/complex/float32/reim.h"
+#include
+
+int main( void ) {
+ const stdlib_complex64_t x[] = {
+ stdlib_complex64( 3.14f, 1.5f ),
+ stdlib_complex64( -3.14f, -1.5f ),
+ stdlib_complex64( 0.0f, 0.0f ),
+ stdlib_complex64( 0.0f/0.0f, 0.0f/0.0f )
+ };
+
+ stdlib_complex64_t v;
+ stdlib_complex64_t y;
+ float re1;
+ float im1;
+ float re2;
+ float im2;
+ int i;
+ for ( i = 0; i < 4; i++ ) {
+ v = x[ i ];
+ y = stdlib_base_cexpf( v );
+ stdlib_complex64_reim( v, &re1, &im1 );
+ stdlib_complex64_reim( y, &re2, &im2 );
+ printf( "cexpf(%f + %fi) = %f + %fi\n", re1, im1, re2, im2 );
+ }
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/cexpf/examples/index.js
new file mode 100644
index 000000000000..7dbb4f6f68b2
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/examples/index.js
@@ -0,0 +1,38 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 Complex64 = require( '@stdlib/complex/float32/ctor' );
+var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
+var cexpf = require( './../lib' );
+
+function randomComplex() {
+ var re = discreteUniform( -50, 50 );
+ var im = discreteUniform( -50, 50 );
+ return new Complex64( re, im );
+}
+
+var z1;
+var z2;
+var i;
+for ( i = 0; i < 100; i++ ) {
+ z1 = randomComplex();
+ z2 = cexpf( z1 );
+ console.log( 'cexpf(%s) = %s', z1.toString(), z2.toString() );
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/include.gypi b/lib/node_modules/@stdlib/math/base/special/cexpf/include.gypi
new file mode 100644
index 000000000000..bee8d41a2caf
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/include.gypi
@@ -0,0 +1,53 @@
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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': [
+ '[ ~2.718, 0.0 ]
+*/
+
+// MODULES //
+
+var main = require( './main.js' );
+
+
+// EXPORTS //
+
+module.exports = main;
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/cexpf/lib/main.js
new file mode 100644
index 000000000000..0f389168551e
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/lib/main.js
@@ -0,0 +1,97 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 Complex64 = require( '@stdlib/complex/float32/ctor' );
+var copysignf = require( '@stdlib/math/base/special/copysignf' );
+var sincosf = require( '@stdlib/math/base/special/sincosf' );
+var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
+var isInfinitef = require( '@stdlib/math/base/assert/is-infinitef' );
+var exp = require( '@stdlib/math/base/special/exp' );
+var f32 = require( '@stdlib/number/float64/base/to-float32' );
+var PINF = require( '@stdlib/constants/float32/pinf' );
+var NINF = require( '@stdlib/constants/float32/ninf' );
+var realf = require( '@stdlib/complex/float32/real' );
+var imagf = require( '@stdlib/complex/float32/imag' );
+
+
+// MAIN //
+
+/**
+* Evaluates the exponential function for a single-precision complex floating-point number.
+*
+* @param {Complex64} z - complex number
+* @returns {Complex64} result
+*
+* @example
+* var Complex64 = require( '@stdlib/complex/float32/ctor' );
+* var cexpf = require( '@stdlib/math/base/special/cexpf' );
+*
+* var v = cexpf( new Complex64( 0.0, 0.0 ) );
+* // returns [ 1.0, 0.0 ]
+*
+* @example
+* var Complex64 = require( '@stdlib/complex/float32/ctor' );
+* var cexpf = require( '@stdlib/math/base/special/cexpf' );
+*
+* var v = cexpf( new Complex64( 1.0, 0.0 ) );
+* // returns [ ~2.718, 0.0 ]
+*/
+function cexpf( z ) {
+ var out;
+ var im;
+ var re;
+ var e;
+
+ re = realf( z );
+ im = imagf( z );
+
+ if ( isnanf( re ) ) {
+ re = NaN;
+ im = ( im === 0.0 ) ? im : re;
+ } else if ( isInfinitef( im ) ) {
+ if ( re === PINF ) {
+ re = -re;
+ im = NaN;
+ } else if ( re === NINF ) {
+ re = -0.0;
+ im = copysignf( 0.0, im );
+ } else {
+ re = NaN;
+ im = NaN;
+ }
+ } else {
+ e = exp( re );
+ if ( im === 0.0 ) {
+ re = e;
+ } else {
+ out = sincosf( im );
+ re = f32( out[ 1 ] * e );
+ im = f32( out[ 0 ] * e );
+ }
+ }
+ return new Complex64( re, im );
+}
+
+
+// EXPORTS //
+
+module.exports = cexpf;
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/lib/native.js b/lib/node_modules/@stdlib/math/base/special/cexpf/lib/native.js
new file mode 100644
index 000000000000..2c062fe34e0c
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/lib/native.js
@@ -0,0 +1,57 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 Complex64 = require( '@stdlib/complex/float32/ctor' );
+var addon = require( './../src/addon.node' );
+
+
+// MAIN //
+
+/**
+* Evaluates the exponential function for a single-precision complex floating-point number.
+*
+* @param {Complex64} z - complex number
+* @returns {Complex64} result
+*
+* @example
+* var Complex64 = require( '@stdlib/complex/float32/ctor' );
+* var cexpf = require( '@stdlib/math/base/special/cexpf' );
+*
+* var v = cexpf( new Complex64( 0.0, 0.0 ) );
+* // returns [ 1.0, 0.0 ]
+*
+* @example
+* var Complex64 = require( '@stdlib/complex/float32/ctor' );
+* var cexpf = require( '@stdlib/math/base/special/cexpf' );
+*
+* var v = cexpf( new Complex64( 1.0, 0.0 ) );
+* // returns [ ~2.718, 0.0 ]
+*/
+function cexpf( z ) {
+ var v = addon( z );
+ return new Complex64( v.re, v.im );
+}
+
+
+// EXPORTS //
+
+module.exports = cexpf;
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/manifest.json b/lib/node_modules/@stdlib/math/base/special/cexpf/manifest.json
new file mode 100644
index 000000000000..bd59cd3f33eb
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/manifest.json
@@ -0,0 +1,96 @@
+{
+ "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/special/exp",
+ "@stdlib/math/base/special/sincosf",
+ "@stdlib/math/base/assert/is-nanf",
+ "@stdlib/math/base/assert/is-infinitef",
+ "@stdlib/constants/float32/pinf",
+ "@stdlib/math/base/special/copysignf",
+ "@stdlib/constants/float32/ninf",
+ "@stdlib/complex/float32/ctor",
+ "@stdlib/complex/float32/reim"
+ ]
+ },
+ {
+ "task": "benchmark",
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/special/exp",
+ "@stdlib/math/base/special/sincosf",
+ "@stdlib/math/base/assert/is-nanf",
+ "@stdlib/math/base/assert/is-infinitef",
+ "@stdlib/constants/float32/pinf",
+ "@stdlib/math/base/special/copysignf",
+ "@stdlib/constants/float32/ninf",
+ "@stdlib/complex/float32/ctor",
+ "@stdlib/complex/float32/reim"
+ ]
+ },
+ {
+ "task": "examples",
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/special/exp",
+ "@stdlib/math/base/special/sincosf",
+ "@stdlib/math/base/assert/is-nanf",
+ "@stdlib/math/base/assert/is-infinitef",
+ "@stdlib/constants/float32/pinf",
+ "@stdlib/math/base/special/copysignf",
+ "@stdlib/constants/float32/ninf",
+ "@stdlib/complex/float32/ctor",
+ "@stdlib/complex/float32/reim"
+ ]
+ }
+ ]
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/package.json b/lib/node_modules/@stdlib/math/base/special/cexpf/package.json
new file mode 100644
index 000000000000..918a1b08e48b
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/package.json
@@ -0,0 +1,200 @@
+{
+ "name": "@stdlib/math/base/special/cexpf",
+ "version": "0.0.0",
+ "description": "Evaluate the exponential function for a single-precision complex 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",
+ "arithmetic",
+ "complex",
+ "cmplx",
+ "number",
+ "exponential",
+ "exp",
+ "pow",
+ "cexpf"
+ ],
+ "__stdlib__": {
+ "scaffold": {
+ "$schema": "math/base@v1.0",
+ "base_alias": "cexp",
+ "alias": "cexpf",
+ "pkg_desc": "evaluate the exponential function for a single-precision complex floating-point number",
+ "desc": "evaluates the exponential function for a single-precision complex floating-point number",
+ "short_desc": "exponential function",
+ "parameters": [
+ {
+ "name": "x",
+ "desc": "input value",
+ "type": {
+ "javascript": "Complex64",
+ "jsdoc": "Complex64",
+ "c": "stdlib_complex64_t",
+ "dtype": "complex64"
+ },
+ "domain": null,
+ "rand": {
+ "prng": "random/base/uniform",
+ "parameters": [
+ [
+ -10,
+ 10
+ ],
+ [
+ -10,
+ 10
+ ]
+ ]
+ },
+ "example_values": [
+ {
+ "re": -3.14,
+ "im": -1.5
+ },
+ {
+ "re": 0,
+ "im": 0
+ },
+ {
+ "re": -1.5,
+ "im": 2.5
+ },
+ {
+ "re": 2.5,
+ "im": -1.5
+ },
+ {
+ "re": 0,
+ "im": -3.7
+ },
+ {
+ "re": 4.2,
+ "im": 0
+ },
+ {
+ "re": 21.2,
+ "im": 3
+ },
+ {
+ "re": 11,
+ "im": -5
+ },
+ {
+ "re": 33,
+ "im": -14.67
+ },
+ {
+ "re": -42,
+ "im": 9.3
+ },
+ {
+ "re": -3,
+ "im": 3
+ },
+ {
+ "re": 73,
+ "im": 31
+ },
+ {
+ "re": -2.45,
+ "im": 1.23
+ },
+ {
+ "re": 2.45,
+ "im": -1.23
+ },
+ {
+ "re": 1.77,
+ "im": -3.14
+ },
+ {
+ "re": -7.5,
+ "im": 8.2
+ },
+ {
+ "re": 5.5,
+ "im": -12.3
+ },
+ {
+ "re": -15.8,
+ "im": 0.4
+ },
+ {
+ "re": 0.99,
+ "im": -0.99
+ }
+ ]
+ }
+ ],
+ "returns": {
+ "desc": "function value",
+ "type": {
+ "javascript": "Complex64",
+ "jsdoc": "Complex64",
+ "c": "stdlib_complex64_t",
+ "dtype": "complex64"
+ }
+ },
+ "keywords": [
+ "complex",
+ "cmplx",
+ "exponential",
+ "exp",
+ "pow",
+ "cexpf"
+ ],
+ "extra_keywords": []
+ }
+ }
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/cexpf/src/Makefile
new file mode 100644
index 000000000000..2caf905cedbe
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/src/Makefile
@@ -0,0 +1,70 @@
+#/
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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/cexpf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/cexpf/src/addon.c
new file mode 100644
index 000000000000..de7bba9fb2d5
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/src/addon.c
@@ -0,0 +1,22 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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/cexpf.h"
+#include "stdlib/math/base/napi/unary.h"
+
+STDLIB_MATH_BASE_NAPI_MODULE_C_C( stdlib_base_cexpf )
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/src/main.c b/lib/node_modules/@stdlib/math/base/special/cexpf/src/main.c
new file mode 100644
index 000000000000..009b86a02a38
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/src/main.c
@@ -0,0 +1,82 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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/cexpf.h"
+#include "stdlib/math/base/special/exp.h"
+#include "stdlib/math/base/special/sincosf.h"
+#include "stdlib/math/base/assert/is_nanf.h"
+#include "stdlib/math/base/assert/is_infinitef.h"
+#include "stdlib/constants/float32/pinf.h"
+#include "stdlib/math/base/special/copysignf.h"
+#include "stdlib/constants/float32/ninf.h"
+#include "stdlib/complex/float32/ctor.h"
+#include "stdlib/complex/float32/reim.h"
+
+/**
+* Evaluates the exponential function of a single-precision complex floating-point number.
+*
+* @param z input value
+* @return result
+*
+* @example
+* #include "stdlib/complex/float32/ctor.h"
+* #include "stdlib/complex/float32/real.h"
+* #include "stdlib/complex/float32/imag.h"
+*
+* stdlib_complex64_t z = stdlib_complex64( 0.0f, 0.0f );
+* stdlib_complex64_t out = stdlib_base_cexpf( z );
+*
+* float re = stdlib_complex64_real( out );
+* // returns 1.0f
+*
+* float im = stdlib_complex64_imag( out );
+* // returns 0.0f
+*/
+stdlib_complex64_t stdlib_base_cexpf( const stdlib_complex64_t z ) {
+ float re;
+ float im;
+ float e;
+
+ stdlib_complex64_reim( z, &re, &im );
+
+ if ( stdlib_base_is_nanf( re ) ) {
+ re = 0.0f / 0.0f; // NaN
+ im = ( im == 0.0f ) ? im : re;
+ } else if ( stdlib_base_is_infinitef( im ) ) {
+ if ( re == STDLIB_CONSTANT_FLOAT32_PINF ) {
+ re = -re;
+ im = 0.0f / 0.0f; // NaN
+ } else if ( re == STDLIB_CONSTANT_FLOAT32_NINF ) {
+ re = -0.0f;
+ im = stdlib_base_copysignf( 0.0f, im );
+ } else {
+ re = 0.0f / 0.0f; // NaN
+ im = 0.0f / 0.0f; // NaN
+ }
+ } else {
+ e = stdlib_base_exp( re );
+ if ( im == 0.0f ) {
+ re = e;
+ } else {
+ stdlib_base_sincosf( im, &im, &re );
+ re *= e;
+ im *= e;
+ }
+ }
+ return stdlib_complex64( re, im );
+}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/REQUIRE
new file mode 100644
index 000000000000..308c3be89c85
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/REQUIRE
@@ -0,0 +1,2 @@
+julia 1.5
+JSON 0.21
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/general_complex.json b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/general_complex.json
new file mode 100644
index 000000000000..b9630de8daf1
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/general_complex.json
@@ -0,0 +1 @@
+{"expim":[2.016711913136508e19,-9.44677692946661e36,2.185796763870333e26,-6.064570489585428e25,115.48465728759766,7.9208096e7,-2.3228362752e10,1.0309807283416347e35,1.0611928406914003e33,2.2553904492256575e21,6.2570272e8,-5.201335207314455e36,-3.570518555753341e35,1.6510861312e11,-8.859901640209701e19,-5.2339100252268134e17,-9.14108664556518e25,-6.2092495e6,3.7040896079312116e25,-6.270238615885631e19,-4.446490744201543e29,2.1795681100533804e28,4.20554375168e11,-4.245432670334587e34,-4.7155565e6,8.396511232e9,4.668515607590403e32,-6.60909768835072e14,9.332903115457748e37,-7.773529096719476e37,3.974863373371462e32,834.0897827148438,-1.2611787065131008e16,-45857.51953125,1.7733123047424e14,9.348990440368652,6.662648902021619e31,-6.025287040537949e29,1.2842357781105514e34,0.03139039874076843,1.63645904388096e15,1.2708451984017968e24,-8.557947738719024e37,-9.336256535515598e31,-1.6284790390637275e28,1.2649290336177019e36,2.6260410614203883e22,611622.875,-4171.3359375,6.817104952903807e26,9.275262649495613e33,2.7130256165380503e35,1.11926712e8,1.968166347472896e15,1.6946226963342158e32,-5.433040609479829e28,1.94503262208e11,-12740.7822265625,-8.070515834442526e21,-7044.46435546875,-1.3531981824e10,-1.2826138248040563e23,2.201860117993277e23,51.71828079223633,-2.24627310592e11,-2.4510241885127093e25,-2.6800565690470236e18,0.053068388253450394,1.4121499208187904e16,1.887556304470213e35,2.21775925e6,1.2280582809583616e19,9343.9599609375,-8.150417846095011e37,-7.867638942737911e31,-1.3090818401020829e23,1.3154191163181383e34,-6.859442176e10,-1.64706945859584e14,22229.26171875,8.133921900362089e30,3.8784494599047857e31,-6.058473253399675e22,-6.006467975405424e19,7.6858565149125e30,-1.0824224768e10,-1.457500088143402e21,-1.6394191160140104e18,1.067941253208917e31,0.5893690586090088,6.092572257978311e22,9.0917931319296e13,-6.776776818688e13,76.2464599609375,2.0614395904e10,-1.143707136e10,-1.8627879571298333e24,-1.9191402084696064e16,7.1465330670102425e31,-2.3346705143996955e24,4.021638321203692e29,6.36942039384064e15,1.5118389e7,-5.628067839891579e22,-2.6276329472e10,5.494175674612607e31,-1.521708115563643e17,-5.60602939392e11,1.216361056514699e26,-4.473694801330566,-2.8633626e7,77258.078125,7.836269252000222e29,-4.6415815497430046e26,94388.9921875,2.504894976e9,1.666515384172187e26,2862.895263671875,-4.555030533353804e26,2.080001336593613e16,2.2932319094874763e37,-1.0033851916301107e17,1.83573264e8,2.2534047164484577e23,-1.3897702418966012e31,2.25152025e6,-6.0233416704e10,1.3078192573156438e28,-9.524856120216332e33,-8.163361826373942e36,-8.623564624083064e22,-6.263944e7,-6.866986263544541e36,3.391570176e9,1.3908065368409512e24,3.613201762010282e26,2.1489057267712e13,1.4162040832e10,-0.5277122855186462,-3.938654579314259e22,2.144400549385806e32,-2.63052296192e11,264609.21875,-266.4693603515625,6.577652379769002e25,-1.0766876934144e13,-2.4132035208912854e25,-4.1472577503232e13,1179.9266357421875,-1.1985837827037331e20,5.175187968e9,-0.021413952112197876,3.957377250334611e37,-4.053254375911845e27,1.7426603354507306e29,6.456756661861046e26,-7.183570750552464e35,-1.1018437239661148e36,5.129673017407653e36,0.010690093971788883,5.9925333490955675e22,7.97317453951533e17,-1.4302068588728673e34,2.2749838942069886e22,-5.176517722112e13,-4.433083001283379e29,-1.4763096886464637e20,-1.532942079102116e33,-1.3378247022628784,155.96287536621094,1.074140610304791e33,8.085300833342797e34,-2.237596923224969e34,1.2427884929533425e28,2.0710846350565007e37,3.83372725e6,-7.93182303892476e32,1.0087331679557096e38,2.2401028096e10,-2.3361643530420224e16,1.914667389400969e33,1.02730669917995e19,6.53916018573312e14,2.345168465702696e35,453083.875,5.7173078374438284e23,1.2408959382061056e16,-12753.8818359375,7.279179533736959e34,-4.7313322349340656e20,-1.8247006860950097e29,-275984.28125,1.0286142821625368e35,4.7744364738464355,-4.473369304943764e23,-1.700387716293335,-2.7303599307402957e32,-5.083011858725713e24,0.005591067019850016,2.3243409141791704e24,-4.975351296e9,-1.5107055598727815e25,8.000570246110904e17,-1.2609405321216e13,1.2144085651343076e38,1.4569760239910603e32,0.04665747657418251,-1.94018816e8,-7.076099718941093e28,-1.147419445761194e32,-1.0239547491073608,-0.8594696521759033,5.2881661952e10,3.181749448334996e36,-2.317180608336762e30,-0.15772773325443268,2.7701628526133248e17,4.247022989673601e28,3.00761930006528e15,-8.621183981851169e35,-1.9851565979224066e21,28.316730499267578,-5.3800948705929544e23,1.620804632576e12,4.280766201551816e23,-3.933352310320164e27,-6.803841161883141e30,-2.2288064155717303e23,-2.7691213343726186e35,4.6592618496e10,-0.01278129406273365,8.9061523456e11,2.1885547637939453,340185.375,-1.1405986183970072e26,-2.181862211709991e25,1.6125063616798593e32,-1.5690113024e11,-2.4179174976393483e34,8.200327168e10,-5.8278019072e10,0.042015597224235535,-4.0106102732035764e29,920074.0625,9.765486038494597e34,-3.012757248e9,-2.418725888e9,-1.9754875382735648e33,-1.2075425119674846e22,-6.387507142895289e21,7.76902943965184e15,8.676305378599274e22,-2.0800371995705344e16,-1.88592976e8,8.5404052734375,-1.3759481206587354e38,167635.109375,1.924160595741901e16,1.825798156672041e18,8.30177398645814e21,9.818942896802147e31,2.419627829655513e37,-0.0551355816423893,-72.17134857177734,0.2173376977443695,-980705.8125,2182.947265625,27127.6796875,3.51820480512e11,2.3113188262281216e16,-4.667650198042432e30,8.000046730041504,809.5709838867188,-1.9792917416316292e36,6.75845568e8,-1.043949452535735e21,3.27783496718038e34,-23650.45703125,-9.943094657024e12,-4.8755553536882015e33,-1.1722328064e10,2.0752305607946535e22,1.0142516368548433e24,2.0470551730822263e34,2.4823921115136e13,4.1862109065376065e20,-10.778212547302246,-4.824108427951479e21,-1.72529875e6,2.783045888e9,-262827.5625,1.997648e6,-1.4031717983158038e36,-3.0253646872576e13,-1.8116000669973815e35,2.023634378752671e30,8.693997383117676,-1.04599789568e11,-3.7816004608e10,7.179144625330848e18,229.8198699951172,-5.952357376e9,-1.0384329146368e14,1.7189274e7,-141.92881774902344,1.5823078782762137e33,3.391099750055936e15,1.144962426291944e25,7.3545677473006486e19,9.80084990021485e33,-5.96937672030054e18,-7.728465468102563e31,-2.646801245011968e15,3.31148558336e12,7.961167888284601e27,-3.61568256e9,6.188176510570988e17,-7.431818444707725e18,28234.34765625,4.070401666753495e17,-4.913599456146958e21,-6.716723556626912e35,-8.833021723573829e32,3.334775405320763e29,2.2091448e7,-6.483461380004883,9.15571408896e11,2.184465588987874e33,-4.560480387532325e18,-2.60872448e9,-5347.1201171875,-1.347320905990144e15,2.3523494e7,-7.040800655921542e22,-4.64039986158879e31,0.12999339401721954,-1.0669557610592836e35,915.276611328125,-1.477511296843776e15,5.782869058256896e15,5.172773248827392e15,8.455641995056572e29,-4.3240013821899244e33,-7.95072921523338e28,-186106.53125,-7.571782005546348e24,-2.7754634664691487e28,2.974052219025816e22,1.8616619630592e14,-1.324392448e9,-2.714330368e9,-1.2601136897447658e26,4.182442706583884e32,1.1725425e7,1.696525997614039e17,3.162069396098573e30,3.8508705779365656e36,7.431950248664105e17,-1.6582883824686653e31,1.03633944576e11,-385.8935546875,5.977550741429314e25,4.8187961123719766e33,2.942442580790477e17,0.021533990278840065,2.730785895044482e25,8.875655168e11,8.509447913125123e21,-1.76544268288e11,-267223.5,0.009495791979134083,8.329792907904125e32,9.479347943988874e36,5.69838993408e11,-25.879438400268555,1.44907698176e13,7.972694877567713e17,8.085728395264e12,-2.24686637065113e34,1.687854514176e13,-4.9706637983744e13,5.533546171824196e33,0.1602267622947693,-2.48836025e6,5.0748207104e10,-5.1932268142700195,-1.597455430721945e23,1.89399384064e11,149.36709594726562,5.7832896e8,-2.6517689867226317e17,1.2236534375195024e32,-4.4939192e7,1.670929055744e12,8.348011329336281e29,-4.258252e7,-1.540363928749717e22,2.08356512e8,4.766408332615352e17,-774776.8125,3.3846476524140246e34,-6.074695838502413e20,-2.849489725073674e29,1.2207379693455607e29,4.290479150522264e28,9.428741294997428e30,5.058447540224e12,-1.86984904550284e19,5.403825878128216e30,1.035245153240464e33,-1.8385811456e10,-0.30322033166885376,-2.095563916083535e29,1.0184515986058533e37,2.661052214935552e15,0.011176284402608871,4.7802906381112895e37,0.05868548899888992,-1.2397685092909056e16,4.3176963802582385e35,-1.2016050765824e13,4.801205371269994e31,-5.248348152891086e32,3.849986809130663e23,2.564542293548584,9.122761281067475e26,-5.5655403270988785e20,1441.875244140625,-2.680748507136e13,1.12897401290752e14,5.14997466738488e31,-1.8782139100646343e19,-1.743636922368e12,-1.8407757824e10,0.216935396194458,9.575981697397686e27,8.882584230505919e27,-3.528861551004827e28,1.209008786356062e35,1.797435819864173e29,6.280154705047607,0.5244218111038208,-2.69819527168e11,0.8285738825798035,-7.00858736050176e14,-1.4171592780317386e28,-2.388787724288e12,-0.14258073270320892,-6.456416234800995e33,12.579154968261719,2.7947634182509327e37,-5.6694272681836544e17,-206693.21875,5.681585461605171e16,-4.4221939678810305e21,4.900945377021961e24,4.395825152e9,8.296882009909704e24,136.1185760498047,-6.3805602136064e13,-1.4791807621307886e36,9.0810026988132e29,-1.065641472e9,-5.926025725596402e18,-5.87437087168009e33,5.93193363763158e30,4.4809425547709945e37,-1.42457914352417,-1.0910971763885988e35,-1.33045904e8,-3.011286291895055e21,-1.6644188165664673,8.780776279875313e21,-1.4653267078020366e27,16763.517578125,4.245382866459382e31,-2.783422611917662e35,-1.77744e8,1.8529394931892736e28,3.7074955e6,1.5154665316632265e37,-2.456761925632e12,-1.4790103209607168e16,4.449907395953636e19,-9.843851264e9,-5.0647851008e10,1.5868057593236391e32,-1.6837947029887616e25,-1.014196e8,2.5878144621804397e33,5.042240924889907e16,14.21943473815918,1.0033582e7,-438990.46875,24646.3671875,-340.2112731933594,1.36678769426432e14,-1.53463652352e11,7.432839168e10,-1.4138280272478601e19],"re":[44.639032432850904,85.62455256436078,61.44948650093794,59.817640201423,5.086114229095372,18.299269863475057,24.24927641738078,81.49011979845827,77.77774657480226,49.16830046563147,20.255029127572822,85.13728820927503,81.93320263091624,25.851824688975356,48.45730783953434,41.870177478285434,59.78242697943864,15.90350738423324,58.87406513498549,46.87402315134478,68.69786374303624,65.43309526930173,27.10801031855521,79.9232101819758,15.698573513050725,23.59656120534358,75.27802676431158,34.27432242357054,87.95350369835886,87.29707531834191,78.87942595300144,9.208561956853835,38.365703741885504,11.22537319823752,33.668627145434435,2.3375642028148196,73.76924636785066,69.48975060685174,78.81271681034686,-3.421680058910707,35.112824914205405,55.53390532816305,87.4201344661423,74.11200885744493,65.04879069608991,83.32587102294566,53.12112347731842,13.366533542563445,8.923453965504638,63.3750476347433,78.2592913861769,81.63812280407569,18.55252667373847,35.26756231210733,74.24840091309774,67.48647884463267,26.025283671512447,10.057508428049712,50.49107308087622,9.02573744096597,24.28317103503471,53.20939282493382,53.74905902992295,7.310720605625443,26.151698611230497,58.46146366588013,44.422612267669194,-2.779287879916528,39.61372679282791,81.24492391427299,14.71883265315816,45.191608397123645,9.309107787706823,87.37488284905046,74.86629503490427,54.1971995455162,81.75696723392994,26.0194324210078,33.557329186737576,10.129714315839038,71.52334408094978,72.744718120736,55.58636177469713,46.17809260385257,71.13012169059887,23.440152754313548,48.749060646144095,44.154088307152456,71.56803142208338,-0.23377620564991908,55.810129816873534,32.500481477784895,33.641955881321145,4.744292459076682,23.918506258364474,23.29714768739483,55.98149858283035,38.92009352649668,74.264138240339,56.1851568398307,68.21230193450643,38.98531425222653,16.77460795074615,52.639311102777796,24.289195631971047,73.62552939306653,39.78721084646557,27.909295640801332,61.899222352893446,1.5564462958682013,17.259626653369182,11.298432770509155,68.90790809760618,64.16418388351163,12.278979661253256,22.289146645467113,61.6841850409491,9.603050317378967,62.07556024797431,37.729018503680095,87.32499149281473,39.29731204913282,19.466689253131854,54.08404572918258,71.97493259612253,15.258119967955988,26.87400899239208,65.83874826837899,78.70537464371931,84.99362020430188,53.45128367576663,18.380061438059972,85.88479088789569,21.996074952511936,55.59303432730117,62.35409395122326,30.74404257834488,24.71001813244818,0.6432220409237059,52.12130175459503,74.50194814481814,26.417440238585524,13.360908065489145,5.983925194174384,59.510406587149006,30.373622888572925,60.37742152163155,31.460351877123536,7.353330299235893,46.38663441082664,22.529084486113266,-3.784492563852484,87.8545700610417,64.00731911505997,67.42087843501945,61.84580156517292,85.01212665269017,85.44657764964519,84.6220862416426,-3.78327731871731,52.46365594457342,41.85420036193378,78.64977281926231,53.33062062416744,37.51809291283828,70.58756507433137,47.50996094215669,76.58789793112896,0.6336635580981458,5.723795895435501,76.67303120043181,80.46262395369011,79.68741463059663,64.71113282875544,86.32104017994976,15.161570751760483,76.11711418483375,87.73809077365087,26.28782501757152,37.6909369986981,76.63599213197588,43.941675977115764,34.280230690808445,81.47430907408696,14.614158574046186,54.811078039215815,39.94955160161258,9.818915253751209,82.26039202215684,48.29654569753399,67.52173288229227,12.607984151369504,80.83474658311818,2.5943755053611257,56.428043949234144,0.7070036936393516,74.69852828175843,57.731976196775214,-1.9968969291265743,56.28102133278796,23.7697578754301,58.59220160829394,41.23707650435888,31.195974489068462,87.84870121060932,74.16194822812251,-2.0186785747018825,21.455714343639183,67.23344366261135,73.91503193985503,0.5313691550995046,1.2446705726523435,26.3558738103045,84.648605010097,70.04794453234025,-1.8216621036863918,40.163465571183735,66.40257387212286,38.71446649689532,83.33677850950183,49.30687671975545,3.5256241399804047,54.65378150728008,31.431802232156933,54.58204748466682,63.72825352074638,71.09814230541905,53.77593273040394,81.70312002130294,25.224258705135654,-4.290915032438476,28.94141677951879,1.1010499537397909,12.790798918152127,60.395942669028386,58.469408082971476,74.24952363317546,25.838468213317885,80.84234315830179,25.33662303518398,25.05993798401058,-3.0072310595531984,68.19074467056198,14.847578782053269,80.56796526928952,21.826584630623074,23.955349788542854,80.34263120271895,54.3776568508871,50.454302655890714,36.76846149595527,52.94047249552419,37.574870835522155,19.255902528968146,2.341833144130989,87.82582041179623,12.983252923862398,37.53901707634632,42.178571991018494,50.90333978641236,76.90583836646691,86.08584829486514,-0.9499596861113382,4.4291157125038545,-1.4297905488892968,13.913577456889008,7.693413196975845,10.395314559899163,26.732611737208167,37.68019002668564,71.9470993444166,3.033091694889153,6.899190699795275,83.58147021118366,20.754589185560736,49.3538814816772,83.06006071204467,10.324535064286966,31.336528328134605,78.44856955615325,23.197724874677153,52.77416865989248,55.27723634926222,79.00608640479486,31.534910562666482,48.91351963460191,2.3872301844316413,52.49623773590757,15.78456737572045,22.281208038635768,13.31358096811897,15.042920537092773,83.99996646032601,31.06625686082755,81.40692634199897,69.79076651104013,2.165208369891566,25.679587599060348,25.599455755002722,44.002430015674626,5.543629599917864,22.579454330130424,32.814173645990614,16.79840150371594,5.445768873939835,76.65724249294557,35.76062701314831,59.3878139285258,49.058826664193994,78.48896667682851,45.154647615302906,74.42786699432027,35.52309292576623,30.102986755067505,64.97558608828842,22.01708812686225,40.997899543792364,43.458554277296315,12.733215827376274,40.6059280643456,50.08428051635063,82.96258606625936,76.6970017639182,67.98387032769564,18.914529568463347,2.8104200500939385,27.545303011965075,78.5147431536842,44.57794433358849,21.683905627717433,10.533023267751634,34.837432079193796,17.457302397972146,52.61912689742455,73.56008980049924,-2.037520930477985,81.65916400499205,6.836062510772585,35.41189605764816,36.53206276556821,36.65448935006966,69.30490131083104,77.61949554904783,66.8855759858212,12.136808087892835,57.37527323661684,65.69353636136664,51.746805364234206,33.545025528721155,21.254723764875077,22.727410895168177,60.60719475995505,78.17195935201354,17.298557620304386,39.82103895312555,71.618953968565,87.17686940189202,42.56155349309358,72.00022530779937,25.41166191828201,7.033951758693677,59.38081987898909,78.07417430156036,40.24766237959736,-3.5677946502813627,60.24303090137302,27.533904598339248,50.55917414929317,26.036167341711437,12.818592586257772,-4.555652458325706,75.92242943087041,85.1500052052715,27.181745286753447,3.909978707487179,31.204431447959514,41.52794057110704,29.738520692797977,79.29700618028036,30.5308091818536,33.478843961070105,78.9715148253865,-1.7907141699211544,16.998855358868724,26.65627478780291,1.7010655045226803,53.79623316257134,26.776170719694807,5.095977941682047,20.961748303667278,41.838418106519086,74.26486604902522,17.88453928316039,28.554837944275405,68.99256055253734,17.60931802983349,51.0914014683552,19.157149242095155,40.71578831727018,16.679640592400588,79.51174667458604,49.93426668046949,68.98165554643556,70.16161891242614,66.1975895715761,73.3475311695892,31.960879070106685,44.38041024168231,70.82392132062945,76.46499621572893,24.737048356111618,-1.0322947394960553,68.78447300146857,85.25206225872647,35.87136989446285,-3.8890810361725383,87.25869592353835,-2.786956597346445,37.27756581434346,84.23125552472165,31.70781124188828,73.49279683542792,75.91242080147039,55.4441971020872,4.091995509098734,62.15818558742241,47.79154462099967,9.444783442377622,31.103772068605288,32.430135382557395,73.47987587629447,44.38387834543371,30.057866342905868,24.5638329792043,-0.8941033423928255,65.50878438506294,65.0801085201962,65.76582639609363,81.89333223123103,67.42114709968736,2.713812658451209,0.1381206900923111,26.334567259693838,0.6771203506983392,34.272474144535906,65.09082419935137,28.976343671956926,-1.296068842330504,79.04227592328085,3.956461964627767,86.29637470234555,41.73936738255332,12.889951954450932,38.67352171228428,50.93942161263762,57.049893933234074,22.268003307213366,58.954786306108204,5.703661946811314,31.83916840868695,83.28650658674046,69.18391749083007,21.15130625819073,43.25270134876337,77.75722741127493,71.05267084343531,86.93511849858228,0.4058058188141107,80.73302888371792,20.292456443030638,49.745950743000726,0.6543465414389962,50.541340900506725,62.57286664866672,9.823356118534791,72.84818533139584,81.82977321698921,19.322068321009723,65.73090553810363,15.32091070002031,85.61463995232744,30.230219758668312,37.92729491868845,45.793589715663224,23.21397670260885,24.658178075153824,74.17820393367761,58.252092737056266,18.446472215725215,78.01449854029659,39.36458524326099,2.812522747989312,17.049827541130988,13.566671044321197,11.152394767749254,5.861001502578112,33.47494692654684,27.16934923214896,25.051241961549735,44.18695093581513],"expre":[-1.3644599551607177e19,1.2106023935010984e37,4.347447477617943e26,-7.33361009761886e25,-113.26793670654297,3.9625788e7,2.4812013568e10,2.232127506061e35,5.909559936266797e33,8.384649613829105e19,2.2459884e7,7.869560982060246e36,1.3842815859838528e35,3.4980839424e10,-1.1049703423680939e21,1.4350555010994012e18,9.184409054606587e24,-5.1526395e6,3.855764026732654e22,2.1876933599738148e20,5.198478116197793e29,-1.4422915943944088e28,-4.17692909568e11,-2.8817226272299618e34,-4.5799375e6,-1.5576265728e10,-1.5837704850898163e32,3.90443967709184e14,1.2706879924784243e38,-2.539466700328809e37,-1.8063166874625162e34,-9947.3232421875,-4.415541630887526e16,59359.4921875,-3.79502572077056e14,-4.45451545715332,-8.63144794697699e31,1.384729323460263e30,-1.0988010258058764e34,-0.009008711203932762,6.88608348471296e14,3.276648312376903e23,-3.5072322404224865e37,-1.2198864246655832e32,7.177401445489209e27,8.811574010062697e35,1.1457600606233875e23,-182536.609375,-6240.158203125,3.2672256244232533e27,-2.8999850281745095e33,8.759446830888468e34,2.2128654e7,-6.49494215524352e14,4.775891431747919e31,1.9632826862173244e29,4.9655074816e10,-19544.19921875,2.577681127146707e21,4416.3203125,-3.2451510272e10,5.839421882994067e21,5.377371138574317e21,1495.3607177734375,3.7839101952e10,6.303862057232115e23,-1.942678936508118e19,0.03221813961863518,-1.59339833527894e17,-3.731184455199189e34,1.082369875e6,4.049091427164173e19,5876.2216796875,-3.42177027931654e37,3.1698398635182117e32,-3.1896398484400156e23,3.2079992042969784e35,1.87411529728e11,-3.3663551012864e14,11607.1279296875,8.185594412206968e30,-5.26992344095897e30,1.3817604264854297e24,-9.627180436490394e19,-1.2563540195804317e30,-1.057583104e10,-2.7945852516187295e20,-1.4902676149271265e19,5.61816782148298e30,-0.5283730030059814,1.728870359762225e24,-9.3269090369536e13,-4.02195300220928e14,85.99165344238281,1.3083967488e10,6.421816832e9,-8.637886791474042e23,-7.760550637338624e16,1.639585429612637e32,-9.408555009500668e23,-1.2433889890753042e29,-8.509287991083008e16,-1.1965569e7,-4.586814889485234e22,2.3680305152e10,-7.681455662251357e31,1.1421966448512205e17,-1.1959795712e12,7.531826265648972e26,1.572275996208191,-1.267995e7,23299.763671875,-3.133713474315534e29,7.333022310565695e27,-193313.03125,-4.07919104e9,-5.9232273859752486e26,14530.5390625,7.878709909257451e26,1.2552833270284288e16,8.090598935450962e37,-5.9346247483392e16,-2.17516368e8,-2.098116818273036e23,1.1637232369711645e31,3.58303325e6,-4.6518206464e11,3.69653011745241e28,-1.1821610607892635e34,3.469577123020417e35,1.3894396583252472e23,-7.2773968e7,1.8698974562400587e37,-1.117297792e9,6.547283148315363e22,-1.1468002846273798e27,-6.631090290688e12,-5.1985092608e10,1.8279527425765991,1.7869939921934541e22,-7.407471484478487e31,-1.38168664064e11,576911.3125,-294.2781677246094,-2.3919976050727507e25,-1.1188045873152e13,-1.6480666109566292e26,-1.9973602803712e13,1022.5968627929688,7.192859053766423e19,3.200642048e9,-0.007593338843435049,-1.3721590623086292e38,-4.7980509650468815e27,-7.762240679436121e28,-3.258816196521907e26,8.292250201152147e36,-1.2804889852121608e37,2.3326529909407238e36,0.02007969655096531,-1.0898751630633247e22,1.274446676534231e18,-1.2914509259385203e33,1.431453649176994e23,-1.967430029017088e16,-4.50501612761277e30,4.036994336352591e20,9.937048372822038e32,1.3272424936294556,263.3459167480469,1.6742434952937425e33,3.4734143905189907e34,3.379662963051838e34,2.5985892958886024e27,-2.281605778772543e37,255880.578125,-8.200472275412703e32,7.733495676643788e37,2.60046962688e11,1.078810959151104e15,9.15542347713633e31,6.437645528430805e18,-4.10666619895808e14,5.977954018939247e34,2.1758615e6,-2.809084418919313e23,-2.2346053416124416e17,13232.28125,5.261592186314679e35,8.167516474279157e20,-1.0598508156147078e29,-114871.1328125,7.562303848361761e34,-12.507970809936523,-3.177802731294623e24,1.1050267219543457,-4.140479053817814e31,-1.0673078595177517e25,0.1356406956911087,-1.5074340586343467e24,2.0444725248e10,2.3506935004173077e25,-1.3293243326686822e17,3.3011559038976e13,-7.354251125392789e37,-6.963322776899285e31,0.1243668645620346,2.071101568e9,1.4145473843537282e29,5.242450722600809e31,1.3586030006408691,-3.363724946975708,-2.7433934848e11,4.8333235615621976e36,1.2628780633238457e30,-0.03587733581662178,9.71586563735552e15,-5.426434491006943e28,-6.501518340731699e16,1.2983156228448879e36,1.6672649516748793e21,-18.773950576782227,-8.249208309377444e22,-4.4706767568896e13,-2.709490375607761e23,2.6655666197151426e27,3.255977544840418e30,-3.8907281727997075e22,1.2601681935251791e35,-7.7125312512e10,-0.004911220166832209,-3.599087173632e12,2.0625739097595215,-114381.5859375,-1.256218659733602e26,-1.1607190586189545e25,-7.1180676996615965e31,-5.5819210752e10,1.2634986483716694e35,-5.8656088064e10,4.9484259328e10,0.02603558637201786,-9.416722721182797e28,-2.651784e6,-4.817111585463519e33,-9.1630648e7,-2.5216636928e10,7.802271097336996e34,-4.127905743575547e23,-5.088057083762269e21,5.106419225329664e15,4.58211808543385e22,-9.8668954779648e14,1.32582088e8,-5.935266017913818,1.7957080780966415e37,401473.1875,5.777827840393216e15,9.950086138335068e17,-9.736113609830348e21,-2.508699725922275e33,-2.7856862793629384e36,-0.3828064203262329,42.70048904418945,-0.10028501600027084,504880.9375,218.44528198242188,-18269.435546875,-2.0505657344e11,-1.040004654563328e15,-1.699983871309428e31,-19.15807342529297,-572.3739624023438,-2.112650446637458e35,-7.79668672e8,-2.508633626509723e21,1.1812939630199066e36,19213.18359375,-3.9436528123904e13,1.0683087057282185e34,1.899855872e9,-8.045320446327201e22,-4.63631170118985e22,-1.2268814435431915e33,4.2935210999808e13,1.6985045927025999e21,-1.5088077783584595,-6.274033095604174e22,-6.953063e6,3.848119296e9,-545329.0625,-2.7665375e6,-2.679859004304085e36,-6.936907481088e12,1.3552900206158206e35,-2.620661412517127e29,0.6247774958610535,9.6139862016e10,-1.25558841344e11,-1.0697109044214104e19,111.87613677978516,2.349570304e9,1.44870639403008e14,9.715254e6,183.23768615722656,-1.1533188683612216e33,-1.2666055688192e14,-6.084768752008936e25,2.0215774895839285e21,7.310732892222288e33,4.033761596245069e19,1.9598612145857965e32,3.9413606252544e14,1.1373435158528e13,1.449810664367596e28,-4.74599776e8,-1.5731173279085363e17,8.335757740227953e17,337638.8125,1.4306238851239117e17,2.770054074079698e21,8.354826030012838e35,-1.836003572802114e33,3.1702164699784846e28,1.6236512e8,-15.299867630004883,6.4680738816e10,1.2354743103151317e34,2.2447778926256194e19,1.55758384e8,37151.9453125,-4.422511886336e13,3.0047322e7,1.0272356091561446e22,-7.531014998977201e31,-0.009655162692070007,-2.70901072940264e35,-169.3770294189453,-1.884133299060736e15,-4.519772863594496e15,-6.4851724468224e15,-9.277481100910156e29,-2.7516943572635826e33,-7.845053514789668e28,-13780.2744140625,3.338091678697856e24,-1.9484131111425562e28,1.3034420076214747e20,-3.1996768157696e14,1.068077056e9,6.905440768e9,-1.6747802633869717e26,-8.895510306134371e33,3.037413e7,-9.976915252844954e16,-1.229746786328106e31,7.241380023008707e37,-2.957692051153486e18,-8.404298159918901e30,3.272694784e10,1066.8587646484375,-1.4393954048462902e25,-6.480496644445175e33,6.590536262405325e16,0.01823578216135502,1.4303478994557481e26,-1.88928884736e11,-3.136894781727162e21,-1.00080050176e11,-254487.28125,0.0044989390298724174,4.3356517132708916e32,-1.190341106125573e36,-2.87128322048e11,42.662086486816406,3.2558859419648e13,-7.356491452844605e17,1.521586143232e12,-1.5737006978225693e34,6.72862568448e12,3.4289508941824e14,-1.9021809071947171e34,0.04651128128170967,-2.3998664e7,-3.7385945088e11,1.7488332986831665,1.667098374783662e23,3.80851421184e11,-66.15965270996094,-1.1299168e9,-1.4558141431928586e18,1.3062657219020976e32,-3.7453008e7,1.884883910656e12,-3.83127066133557e29,1.26621e7,-1.0925997986166373e21,1.4414004e7,6.859630995885261e16,1.7516654e7,-3.2561611129725714e33,4.816694940014874e21,8.627201413696721e29,-2.954162564881618e30,3.6200832682360957e28,-7.089606684445901e31,-7.5764766605312e13,1.9547600129328415e18,-1.916890157889613e30,-1.2402967676351698e33,5.2213387264e10,-0.18688973784446716,7.159208079989138e29,2.866881201783457e36,2.699887846096896e15,-0.01714269258081913,-6.251768299530936e37,-0.01875132881104946,-9.25006569668608e15,3.7876116438586763e36,5.7718421323776e13,-6.733855599937576e31,-7.674004230355514e32,1.1363540225856466e24,59.80427551269531,3.80516780421334e26,-1.214231152580939e20,-12559.546875,1.7883650326528e13,-4.464058564608e13,6.334734543435741e31,-1.7735998042160497e18,1.1188055310336e13,-4.2757828608e10,0.3466970920562744,2.6514205938269634e28,-1.6071138725036045e28,9.140045289968731e27,-3.475505370280547e35,6.407908001210804e28,13.717424392700195,-1.021346092224121,4.4718678016e10,-1.7852964401245117,3.096268767232e14,1.19855963488892e28,3.005804183552e12,-0.2335178554058075,2.025902367836953e34,50.73591232299805,1.1078675520815019e37,-1.2144037209309184e18,338141.125,2.597938959011021e16,1.2506268733426685e22,-3.420579753587962e24,-1.625507328e9,-3.928845198893891e25,-267.3013916015625,-2.118891077632e13,-9.258321811440005e34,-6.421803375691989e29,-1.103777536e9,1.3909752553081405e18,3.0180434624729072e32,-4.093903977691341e30,3.5137685004473833e37,0.47128328680992126,-3.7337979942101283e34,6.36219904e8,-2.665513704779407e21,0.9649056792259216,1.5055896657019525e21,3.0342901752892252e26,7729.95068359375,9.048470051660188e30,-2.043768491795525e35,1.70504448e8,-2.9930757808395614e28,-2.56088025e6,1.2271040827264669e36,1.3226713546752e13,2.5665526265020416e16,-6.314694949629172e19,6.984246272e9,7.204341248e9,-4.19393388499855e31,-1.0581356771957015e25,-1.560218e7,-7.154259747136695e33,-1.1403735171334144e17,-8.665596008300781,2.3322304e7,-644381.6875,-65229.6796875,86.66221618652344,3.16913691394048e14,-6.11259318272e11,1.4816751616e10,-6.336939059419546e18],"im":[-4.117556818091401,37.03647725578773,6.74905213973857,54.098037330053046,40.04561456881995,13.673299372706087,55.7962239164554,0.4326914266714983,50.443161103589354,14.100008144391168,14.10128647050341,93.66374828921184,80.48046606918575,13.92838845205279,15.787974395938512,49.91575478840666,61.36119544405456,22.869276256616715,-4.713429935179965,68.83590326857754,11.858781421695866,83.83678752971132,71.46781947272066,85.79745845481652,10.224764849303929,65.4790453079987,1.8978578788623128,55.511474569913524,94.88127120044949,79.79485746985708,40.818702881493,21.90749279888457,59.96847671132542,49.60771329541257,40.40358090931229,8.29862858173142,2.484219907956824,49.85506739778814,27.41127824445106,14.416644708823007,26.305237325220357,13.884830219697946,23.17300056930544,79.19305846964812,80.52574363123125,82.64376193024025,50.490788140130284,8.144012147995598,53.996321943098906,37.904810613061706,20.723381758704168,38.95760549714329,13.941977429863634,20.73909902509065,20.14565137017829,49.995505940307176,26.453585067333268,79.11752142805257,17.58791446547759,49.254665286029734,28.66940060718364,42.45699749809745,58.09504749262875,31.45049916736903,11.162460301941206,11.021288276125066,34.694608778643,26.15790890651706,28.1859403654106,39.46506690543176,1.1167569852143338,81.97588114888973,88.97400700472376,4.314907346862544,31.172640690697378,47.5133447337058,37.74009264015661,81.33054258396922,41.29573602752688,51.35506452523421,88.74682762086334,70.82088201651743,69.07122156624196,60.248075293028464,77.13104752992318,47.92089471043456,10.806134796638293,-3.0320247527216138,70.20154898730397,40.00079059405032,25.167966568834093,33.784885128534356,22.15807582364853,76.12362507754783,63.83710495076761,74.33904810800392,60.82686354934728,72.49906032712133,56.959711149643795,92.29390207010657,89.83524431338526,59.61554750504452,39.93941871821564,85.70998209332458,49.42816622765947,33.9366285403195,55.621759184294234,85.26132997722274,31.57604050814414,80.44858059945851,29.428251980603285,20.127443389030034,89.91580947448601,25.069528821777038,8.970557841073994,71.70593040314799,90.83192091448774,37.89364458510623,24.608546963762294,1.0278064351031784,56.82486903136694,60.72693857442411,58.989288035927274,52.58600569938468,80.80771996501471,50.82651156659072,28.403101308710973,12.90642315349329,22.66936582202064,92.7194589393469,93.69231269463256,54.11777187779026,62.47990382402065,83.57044034199227,89.48835061465878,34.25229590619309,39.5692161235401,59.42428874031806,62.55080537534144,80.53654775700741,14.469767346134947,79.62697033731551,19.279591751968276,72.99247374408472,8.202769109178714,-2.3753754234310764,15.853356183525928,60.81222874699607,57.40537542577195,61.80155978165082,19.86647075113517,42.07073537514916,90.82539937486622,66.67489846483677,33.40576397838961,39.73732075482283,56.46225296287252,72.3424667836346,13.710380759881062,88.453815410724,77.14892835550614,38.25815741036288,92.58693114021673,0.1576100616104288,91.10881851304786,66.07153317582103,87.6140044684033,80.6857450081584,24.343371952948736,57.08335825850709,88.53501786229882,20.014595536096806,68.53021876877102,83.04607871047789,27.53726464591695,76.90237138997732,41.60945094241398,38.61583184167266,94.333708147317,73.87357521253388,32.93894087812784,76.40923241391998,27.264298724680927,13.887577078028539,44.18759528416439,83.70889442891787,21.93567430767658,74.63123057048543,62.96932432601024,30.890877227355553,79.5844001974493,73.4330161844359,82.61824862774897,40.47606447282324,15.847814026169843,74.40370645748185,42.261001240718045,72.70109559014905,69.15623142331307,71.26118347016244,56.309950720260055,24.5615415290959,83.41685222201983,49.900617033281065,77.51353125872231,14.583003133456078,31.774836952034683,94.15437244672137,62.368016540451364,55.406440197926784,68.46918768345256,15.95812203119085,59.49983601017715,38.281294741966434,11.494575639924303,17.05510118369952,32.95166543411239,21.327073757093732,-3.1878199403436347,74.81204818978236,17.977340580602156,14.722625651609771,23.409801130611367,40.8044652994773,27.26783084109922,43.00709014415588,80.55695560232131,48.52186153427449,11.422643558904394,77.99637354457222,92.31012616562771,78.29723127496274,63.646875550255345,33.3110802577577,3.8787891899815836,35.639406762520395,-4.296685861095302,4.3705914615954455,12.377289356106484,46.174007997128726,93.38095719929451,19.865598464793404,92.44636252888124,40.506735167403924,70.73512264922918,80.08020768679411,-3.0459672572106866,12.541056284316824,-3.112347956941248,73.15478406660577,13.555691784890072,76.48313108386104,67.49684318787372,17.891500495335894,46.16043045545122,17.40853391321376,31.811470458396215,51.54456702218636,1.0718216884029559,46.417841345740186,47.0847705062848,14.251790622670441,53.550123124852604,-1.0365359891744097,71.1181500901692,30.320557720638824,89.43565281412762,90.12807873869707,83.7799175671935,33.03168816538989,22.259114761314574,71.86106078607506,77.5844318894161,92.57065120593717,14.993774973172897,85.21734814904201,94.27552256061102,11.677819557028183,3.388574179470343,62.403705926909765,17.439433584624048,78.2873777945393,1.6164762207406973,89.59525395971852,63.35606742099007,6.524833775624476,86.25471820881752,34.63425788100011,41.08392579551818,69.74118094792489,9.873890527933298,15.082574647003547,16.19031048039144,10.770179221538505,55.62016826221074,7.982767575589538,26.631798033350222,87.13707399738725,72.54917501980084,2.550506892687004,70.23280672818734,86.76975424604453,87.34267868053563,89.02095652326715,43.32325996579498,77.59886935353421,14.174500573676056,21.80515419621058,25.16910576191625,0.9299060448108509,75.25130836621004,62.45623798947406,48.842510370151444,6.566512053818133,63.334020429786506,48.56417214421967,39.518846651858745,4.824085205050759,50.348912617578364,7.515997665440503,-1.057455931021818,5.606050607523887,47.57230479445213,26.60875795793122,62.96708418229261,60.09107878433042,-4.782917161390516,56.72367112180237,37.49868108529273,48.75432385447473,94.10483187404853,17.2459461140894,94.91199485583748,67.6891160404174,35.10974388739097,45.62723230595248,53.78227214140638,70.86882006377243,-2.47656902972599,27.366945719133597,21.31785396182392,14.96887665158581,54.41113358154402,-2.349504516990748,73.75351436461848,30.2603572664228,10.383498370021464,1.5664136316541555,65.44649879894196,61.939726890033555,93.8732641257817,85.46803883801313,91.0592016579585,94.61618685452962,27.235145783865363,72.00494951677494,31.469055092489043,9.178599116778045,67.0751623167544,20.11446889541702,75.05115318915004,1.8070978297527729,90.46680119617412,26.483193275337417,76.26636241792004,6.471832965766826,83.46193952512233,8.207161711621673,73.31171245750271,91.91599508971024,76.52656699852068,63.92273792720658,89.66031105092145,8.320724967596686,37.153844169580324,6.701926484504565,2.31601815292906,51.65027315195892,16.667767456272447,26.32419537241239,75.25426580268102,65.69035660052188,76.68649701184299,9.528096088439336,59.55534288217247,74.15225566690893,93.48370992162417,25.594231460427856,-4.295427216279652,71.78356371921136,3.32176762917004,51.018237715773125,35.43352994891025,13.291670402277315,83.6824714427753,11.284602004670067,73.75661410184136,26.63446793984249,32.843789473220404,43.93809656064745,83.34811569947007,25.007286833808088,68.7960252514435,15.666663844063716,32.28586894233781,-3.2738106710495107,21.92448289194138,4.816551860241951,83.5930858029027,65.2779171291509,18.510986054001226,79.55825909370421,31.131171817725708,26.429143404134983,7.061339506962588,27.69658436557429,52.754274798680996,39.57917795873334,22.920937065808747,81.79491514813996,31.210673866780084,8.805383425116036,41.44055207716167,19.176220109575674,0.04285600546869883,51.44111284042464,23.34714137501988,-3.255895267947002,42.99981442902656,1.9473382508710824,38.381712279196336,92.5828346629201,87.80999217515587,-2.735062691267327,25.69185888546919,88.31117684139927,84.31808717011998,4.965827878448607,9.090006026792034,20.07789542774632,0.4293406433343572,90.63182741425146,48.858930423717034,71.82210698060051,5.128387692876185,11.697594963076966,93.57626171335548,85.37115903739476,93.93926421586006,44.22532877102438,57.742058590836194,41.2774827676825,74.84956268190432,82.82333542424672,31.076050711776354,65.01199397792993,27.057727931806433,78.33169284804109,27.803328226226867,79.78998750429169,80.04810158731907,21.03587370594593,35.32534169732918,30.075679430247455,48.74601713334404,90.13947316488941,51.1712709886892,86.71328443156523,16.94904527503866,68.90888727497718,3.9878252842989106,5.237767195375669,70.51601854372643,17.48294569481969,82.82014739942292,39.05991439605693,22.928590409988384,5.47700189639167,40.28637765579431,58.723943433681484,64.32185001366665,68.93138858264349,18.326772206949887,77.92594574979452,30.46220641768837,55.119168266423586,83.51060039319401,85.83274036368368,4.559747528799534,2.794518291154507,-3.557905096430398,14.684483118106055,19.255835309391415,91.70422296561895,78.1785601034051,42.66092649989135,69.52221876166524,9.670755532930603,64.20588878114322,79.68924676234828]}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/pure_imaginary.json b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/pure_imaginary.json
new file mode 100644
index 000000000000..eeba93d082f0
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/pure_imaginary.json
@@ -0,0 +1 @@
+{"expim":[0.7584120035171509,-0.414654403924942,-0.6261589527130127,0.9730485081672668,0.8687424659729004,0.38244736194610596,-0.8950955867767334,-0.9834713935852051,-0.05735880136489868,0.9091384410858154,0.3874947726726532,0.9606658816337585,0.9776837229728699,-0.5368021130561829,-0.44701987504959106,-0.4303702414035797,-0.958081066608429,0.49134892225265503,0.5403081178665161,0.9756038784980774,-0.8253775238990784,0.8062195181846619,0.43487581610679626,0.8821553587913513,0.9962261319160461,0.0674223080277443,0.8987482786178589,0.9795878529548645,0.915241003036499,-0.8506998419761658,0.5361352562904358,0.15063069760799408,-0.4867805540561676,-0.11905166506767273,0.3327235281467438,0.49875837564468384,0.30009031295776367,0.5036476254463196,0.07465923577547073,0.8433279395103455,-0.786182701587677,-0.14202861487865448,-0.6158510446548462,0.2545144259929657,0.46283990144729614,-0.9801448583602905,-0.9992862939834595,-0.678068995475769,-0.28296607732772827,-0.9612447619438171,-0.5831664204597473,-0.7768276929855347,-0.5288755297660828,-0.6053599715232849,-0.7344595193862915,-0.8720827698707581,0.9982362985610962,-0.9994246363639832,0.3532240092754364,0.7903106808662415,-0.10844700783491135,-0.2366485744714737,-0.8924680352210999,0.9527763724327087,-0.7414711713790894,0.6048561334609985,0.900109052658081,-0.9989320635795593,-0.9836315512657166,-0.5739862322807312,0.4510892331600189,-0.31964465975761414,0.9996311664581299,-0.7835295796394348,-0.9734666347503662,0.026535185053944588,0.48180752992630005,0.9573798775672913,0.9491451978683472,0.5995473265647888,0.46387702226638794,0.9993135929107666,0.5166115760803223,0.6407920122146606,-0.9555166363716125,0.9423929452896118,0.8291770815849304,-0.6352282166481018,0.9782525897026062,0.03358697518706322,0.7591819167137146,-0.9025571942329407,-0.6868232488632202,0.21870355308055878,-0.4019850194454193,-0.9415228366851807,-0.8441504836082458,0.4736730456352234,0.4437352120876312,0.9681627750396729,0.7686711549758911,-0.16882894933223724,0.8542682528495789,-0.6670035719871521,-0.5491487979888916,0.18784980475902557,-0.5725448727607727,-0.860496461391449,-0.37697452306747437,0.9447910785675049,0.9195905923843384,0.8533416986465454,-0.46406590938568115,0.322598934173584,-0.5977267026901245,0.9874566197395325,-0.9989393353462219,-0.29834941029548645,0.18875235319137573,-0.8240813612937927,0.5391782522201538,-0.5648012161254883,-0.31747597455978394,0.35863983631134033,-0.09620082378387451,0.27447056770324707,0.9831083416938782,0.5598605871200562,0.43351873755455017,-0.794259250164032,-0.6847044825553894,-0.919288158416748,0.2660856544971466,-0.7846965789794922,0.20432893931865692,-0.8635448217391968,-0.40688127279281616,0.5675386786460876,-0.6263569593429565,-0.5541260838508606,-0.21224817633628845,0.28647568821907043,-0.9194328188896179,-0.859513521194458,-0.8551321625709534,-0.15999217331409454,0.6262276768684387,-0.38741815090179443,-0.9962382912635803,0.6082780957221985,-0.08181267976760864,0.9055726528167725,-0.3716863691806793,0.9249510765075684,-0.9334264993667603,-0.7328634262084961,0.885285496711731,0.996884286403656,-0.6509241461753845,0.6886969208717346,0.6642855405807495,-0.8660094738006592,0.8755643367767334,-0.3371599018573761,0.5327209234237671,-0.9995406866073608,0.5561459064483643,0.07547154277563095,-0.49777355790138245,0.5529069304466248,-0.7407932281494141,-0.5416641235351562,0.7593696713447571,-0.257640540599823,-0.508477509021759,0.9998586177825928,-0.9811865091323853,0.989020586013794,-0.10615195333957672,0.9632364511489868,-0.47458186745643616,-0.3365308940410614,-0.7868549227714539,0.8818202018737793,-0.8884477019309998,-0.4396008849143982,-0.8385716676712036,0.585708737373352,-0.9742687940597534,0.8468292355537415,-0.21222446858882904,-0.7766092419624329,0.6937578916549683,-0.5291406512260437,-0.9972856640815735,-0.9252272248268127,-0.07084887474775314,-0.18055269122123718,-0.9946628212928772,-0.8985755443572998,-0.9956128001213074,0.7223230600357056,0.8359854817390442,-0.5685887932777405,0.891009509563446,-0.49139928817749023,-0.5920870304107666,0.8984766602516174,-0.8600488901138306,-0.6458806991577148,0.948243260383606,0.2046973705291748,0.7994962930679321,-0.13749265670776367,-0.24677425622940063,0.9696241617202759,0.347401887178421,-0.7063428163528442,-0.9282068610191345,0.6491788625717163,0.1064748466014862,0.4742736220359802,0.5581684708595276,0.9956613183021545,0.6618999242782593,-0.6855030655860901,-0.23446743190288544,-0.8004712462425232,0.24348540604114532,0.7375998497009277,-0.7680507898330688,0.5571382641792297,-0.623921811580658,0.7191399931907654,-0.4359029233455658,0.9926835298538208,0.5073390007019043,0.825860857963562,0.8154698610305786,-0.999339759349823,-0.7804883718490601,-0.600216805934906,-0.9720160961151123,-0.5918871760368347,0.15062503516674042,-0.025722792372107506,-0.993060827255249,-0.49064865708351135,0.49604418873786926,-0.2147648185491562,-0.2934640049934387,0.9989323616027832,-0.49077287316322327,0.7256353497505188,-0.24667325615882874,-0.9922964572906494,0.9496413469314575,-0.1934400349855423,-0.2280847132205963,0.6537430882453918,0.2453145831823349,-0.939231812953949,-0.4623037576675415,0.19263195991516113,0.8374425172805786,0.33709588646888733,-0.4701719582080841,-0.31968557834625244,0.41936740279197693,-0.26175758242607117,0.709149181842804,-0.9338565468788147,-0.3412984311580658,0.9904960989952087,-0.7041437029838562,-0.6238462924957275,0.49739348888397217,0.7958613038063049,0.2498110830783844,0.2580904960632324,0.981924295425415,-0.8605293035507202,-0.9123584628105164,-0.8278338313102722,0.32855483889579773,0.35474893450737,0.2303169071674347,-0.7451701164245605,-0.5809691548347473,0.24794656038284302,-0.9843957424163818,-0.8711996674537659,-0.29903146624565125,-0.1130744144320488,-0.08023013919591904,-0.9727141261100769,-0.20320141315460205,0.7980472445487976,0.5971361398696899,0.7302039265632629,-0.9993985295295715,-0.49905291199684143,-0.548375129699707,-0.9126254916191101,-0.4382709860801697,0.389919638633728,0.5247111916542053,0.9540010094642639,0.7933001518249512,0.6293234825134277,-0.7319930195808411,-0.9812706708908081,-0.7391223907470703,-0.48641297221183777,-0.2551795542240143,0.8219032287597656,0.6470615267753601,-0.5751258134841919,-0.39966699481010437,-0.5775015354156494,0.13374090194702148,0.9525923132896423,-0.06324003636837006,0.09000395238399506,-0.944648802280426,0.8229250311851501,0.8107700943946838,-0.7170230746269226,-0.5167383551597595,-0.9715403914451599,0.7470696568489075,-0.7206037044525146,-0.6691635847091675,-0.9826619029045105,0.05775687098503113,-0.015596181154251099,0.8984749913215637,-0.47879549860954285,0.9998804330825806,-0.492824912071228,-0.06393974274396896,-0.9338117837905884,-0.8219477534294128,-0.4001353681087494,0.7877222299575806,0.9234566688537598,0.09360635280609131,0.9987125992774963,-0.09115903824567795,0.14502690732479095,-0.7182930111885071,-0.3346889615058899,0.5801191329956055,-0.4890628755092621,-0.9472825527191162,0.717474639415741,-0.39800286293029785,-0.3094070553779602,0.5561014413833618,-0.22681285440921783,-0.013158014044165611,-0.5584498643875122,0.5454821586608887,0.9693704843521118,-0.03648899495601654,-0.3416494131088257,0.5559499263763428,-0.8290776014328003,-0.572620153427124,0.8312421441078186,0.9485392570495605,0.9243552684783936,-0.30205243825912476,0.2634845972061157,0.990699291229248,0.6107627153396606,0.9483276605606079,0.6124159097671509,0.9975576400756836,-0.689044713973999,-0.9360551834106445,0.7820465564727783,0.40274763107299805,-0.7401748299598694,0.2236565500497818,-0.39309728145599365,-0.9616944789886475,0.959367036819458,-0.10323458164930344,0.5994638800621033,-0.29459279775619507,-0.9048783779144287,0.9909392595291138,-0.6152681112289429,-0.013584191910922527,0.5993094444274902,0.5469238758087158,-0.6760937571525574,0.46968457102775574,-0.10042126476764679,0.9108980298042297,-0.9371209740638733,0.5113787651062012,-0.7160864472389221,0.9646861553192139,0.0013368164654821157,-0.6160740852355957,0.16536445915699005,0.9210582971572876,-0.9537832736968994,-0.914477527141571,0.9448100328445435,-0.4021383821964264,0.11938001215457916,-0.5281022787094116,-0.8338532447814941,-0.10552734136581421,0.22884106636047363,0.2114681750535965,0.8694387078285217,-0.5526637434959412,0.023967185989022255,0.06080102175474167,-0.9421693682670593,0.7001280784606934,-0.6267301440238953,-0.43021559715270996,-0.7864512205123901,0.5354698300361633,0.052419282495975494,0.7417716383934021,-0.6001868844032288,-0.7922317981719971,-0.45382314920425415,-0.8696099519729614,-0.08096135407686234,-0.9586910009384155,0.5577034950256348,-0.4130665361881256,0.9625446796417236,0.5525979399681091,-0.06574530899524689,-0.3009907603263855,-0.7032327651977539,0.9192190766334534,0.49400094151496887,-0.825141191482544,-0.11240251362323761,-0.5294726490974426,0.9991793632507324,0.7602035403251648,0.687623918056488,0.34775981307029724,-0.10804783552885056,0.834126353263855,-0.2862195670604706,1.0,-0.6942533254623413,0.26427707076072693,0.7033703923225403,-0.8108802437782288,0.6685122847557068,-0.8717848658561707,0.5901279449462891,0.07730177789926529,-0.7457820773124695,0.5276148915290833,0.28298458456993103,0.008585894480347633,0.8237768411636353,0.9957810044288635,-0.974463701248169,-0.8349846601486206,-0.9963868856430054,0.860550045967102,0.8474788069725037,-0.6299315094947815,-0.9031110405921936,-0.743327796459198,0.7124878764152527,0.8930268287658691,-0.5479639172554016,0.6363028883934021,-0.12868861854076385,0.9822258949279785,0.30426743626594543,0.058743830770254135,-0.17544789612293243,0.34446242451667786,0.04866611957550049,0.31785687804222107,-0.9084295630455017,-0.23888957500457764,0.9965183734893799,0.49410519003868103,0.2181740552186966,0.6192450523376465,0.23420049250125885,-0.4455055594444275,-0.4379234313964844],"re":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],"expre":[-0.6517754197120667,0.909978985786438,0.7796953916549683,0.2306005358695984,-0.4952641427516937,0.923977255821228,-0.44587424397468567,-0.1810634732246399,-0.9983536005020142,-0.4164940416812897,0.9218719005584717,-0.27770674228668213,-0.21008211374282837,-0.8437081575393677,0.8945240378379822,0.9026524424552917,0.28649720549583435,0.8709628582000732,-0.8414672613143921,0.21953830122947693,-0.5645812153816223,-0.5916165113449097,-0.9004904627799988,0.4709584712982178,0.0867956131696701,0.9977245330810547,-0.4384649991989136,0.2010166198015213,-0.4029068648815155,-0.5256518125534058,0.8441320657730103,-0.9885901212692261,0.8735243082046509,0.9928880333900452,0.9430243968963623,0.8667410612106323,0.953910768032074,0.8639091849327087,0.9972091317176819,0.5373992323875427,-0.6179941296577454,0.9898625612258911,-0.7878626585006714,-0.9670689702033997,-0.8864418864250183,0.1982828676700592,-0.03777458146214485,-0.7349982857704163,-0.9591299295425415,0.27569645643234253,0.81235271692276,0.629713237285614,-0.8486993908882141,-0.795951783657074,0.6786524653434753,0.48935842514038086,-0.05936557799577713,-0.033917661756277084,0.9355387687683105,-0.6127063035964966,-0.9941022396087646,0.971595287322998,0.4511106312274933,-0.3036728501319885,-0.67098468542099,0.7963348031044006,0.4356646239757538,0.0462028943002224,0.18019163608551025,0.8188649415969849,-0.892478883266449,0.9475374817848206,-0.027156932279467583,-0.6213545203208923,0.22882890701293945,0.999647855758667,0.8762770891189575,-0.2888316810131073,0.3148386776447296,-0.8003392815589905,-0.8858996033668518,0.03704481199383736,-0.8562198877334595,-0.7677145004272461,0.29493722319602966,0.33450788259506226,-0.5589860677719116,-0.7723244428634644,0.2074171006679535,0.9994357824325562,0.6508785486221313,-0.43057000637054443,0.7268244624137878,0.975791335105896,-0.9156462550163269,0.3369491696357727,-0.536106288433075,-0.8807007670402527,-0.8961579203605652,0.25032156705856323,0.639644205570221,0.9856453537940979,0.51983243227005,0.7450545430183411,0.8357245922088623,-0.9821977615356445,-0.8198733925819397,-0.50945645570755,0.926223635673523,0.32767337560653687,-0.39287805557250977,-0.5213520526885986,-0.8858006596565247,-0.9465357661247253,-0.8016999363899231,0.15789037942886353,0.04604532569646835,0.9544567465782166,0.9820247292518616,0.5664713978767395,0.8421916365623474,-0.8252269625663757,0.948266327381134,-0.9334760308265686,-0.9953619241714478,0.9615954756736755,-0.18302442133426666,-0.8285868167877197,-0.9011445641517639,0.6075790524482727,-0.72882080078125,-0.3935851752758026,0.9639493823051453,-0.6198800802230835,0.978902280330658,0.5042720437049866,-0.9134810566902161,0.823346734046936,-0.7795363664627075,-0.832432746887207,0.9772157669067383,0.9580875039100647,-0.393247127532959,-0.5111129879951477,-0.5184100866317749,0.9871183037757874,-0.779640257358551,-0.9219040870666504,-0.08665603399276733,-0.793724000453949,-0.9966477155685425,-0.4241912066936493,-0.9283583760261536,-0.38008618354797363,0.35876867175102234,-0.6803757548332214,0.4650479853153229,-0.07887809723615646,0.7591427564620972,-0.7250493168830872,-0.7474789023399353,0.500027596950531,0.48310157656669617,-0.941447377204895,-0.8462910056114197,-0.03030533529818058,0.831084668636322,0.9971479773521423,-0.8673070669174194,0.8332430124282837,-0.6717331409454346,0.840595006942749,-0.6506593823432922,-0.9662408232688904,0.8610752820968628,-0.01681525632739067,0.19306233525276184,-0.14777791500091553,-0.9943498969078064,-0.26865509152412415,-0.880211353302002,-0.9416724443435669,-0.6171380281448364,0.4715857207775116,-0.4589778780937195,0.8981932401657104,-0.5447913408279419,-0.8105216026306152,0.22538922727108002,0.5318648815155029,-0.9772209525108337,0.629982590675354,0.7202082872390747,-0.8485341668128967,-0.07362917810678482,0.3794134855270386,0.9974870681762695,0.9835653305053711,-0.10317868739366531,-0.43881887197494507,-0.09356916695833206,-0.6915557980537415,-0.5487515330314636,-0.8226218819618225,0.45398464798927307,-0.8709344267845154,0.8058740496635437,-0.4390212595462799,-0.5102116465568542,-0.76343834400177,-0.3175447881221771,0.9788253307342529,-0.6006709933280945,0.9905027747154236,-0.9690729975700378,0.24459964036941528,0.9377163052558899,-0.7078699469566345,0.37206459045410156,-0.7606357932090759,-0.9943153858184814,-0.880377471446991,-0.8297276496887207,-0.09305138140916824,-0.7495922446250916,0.7280697226524353,-0.9721239805221558,-0.5993711352348328,-0.9699045419692993,-0.6752380728721619,0.6403889060020447,0.8304197788238525,-0.7814867496490479,-0.6948652267456055,-0.8999936580657959,-0.12074539810419083,0.8617465496063232,0.5638739466667175,0.5787994861602783,-0.036331966519355774,-0.6251702904701233,-0.7998373508453369,-0.2349143624305725,0.8060207962989807,0.9885909557342529,-0.9996691346168518,0.11760187894105911,0.8713575005531311,0.868297278881073,-0.9766657948493958,0.9559701085090637,-0.04619631543755531,0.8712875247001648,-0.6880794763565063,-0.969098687171936,0.1238861232995987,-0.3133389353752136,0.9811121225357056,-0.9736412763595581,0.7567165493965149,0.9694435000419617,0.3432835340499878,0.8867216110229492,0.9812710881233215,-0.5465253591537476,-0.9414703249931335,0.8825748562812805,0.9475236535072327,0.9078165888786316,0.9651336669921875,-0.7050584554672241,-0.3576478362083435,0.9399549961090088,0.13754074275493622,-0.7100574970245361,0.7815470695495605,0.867525041103363,0.6054789423942566,-0.968294620513916,-0.966120719909668,-0.18927405774593353,0.5094009637832642,0.4093923270702362,-0.5609733462333679,-0.9444848895072937,-0.9349616169929504,0.9731156826019287,-0.6668744087219238,-0.813925564289093,0.9687737226486206,-0.1759689301252365,0.49092888832092285,-0.9542432427406311,-0.993586540222168,0.9967763423919678,0.23200702667236328,-0.9791369438171387,0.6025948524475098,-0.8021398782730103,-0.6832292675971985,0.03467756509780884,-0.8665715456008911,0.8362324237823486,-0.40879666805267334,0.8988428711891174,-0.9208489060401917,0.8512802720069885,0.2998034358024597,-0.6088307499885559,-0.7771434783935547,0.681312084197998,-0.19263392686843872,0.6735711097717285,0.8737290501594543,-0.9668936729431152,0.5696271657943726,-0.7624377608299255,0.8180649876594543,0.9166603684425354,0.8163896203041077,-0.9910163283348083,-0.30424970388412476,0.9979983568191528,0.9959414005279541,0.32808324694633484,-0.568149983882904,0.5853646993637085,0.6970494389533997,-0.8561433553695679,0.2368738353252411,-0.6647458076477051,-0.693347156047821,-0.7431151270866394,0.1854066550731659,0.9983306527137756,-0.9998783469200134,-0.4390247166156769,-0.8779264688491821,0.015462122857570648,0.8701285123825073,0.9979537725448608,0.3577646017074585,-0.5695628523826599,-0.9164560437202454,0.6160305738449097,-0.38370272517204285,0.9956092834472656,0.05072600767016411,0.9958363175392151,0.9894276857376099,0.6957407593727112,0.9423286318778992,0.8145316243171692,0.8722485303878784,0.3203994333744049,-0.6965846419334412,0.917384147644043,-0.9509297013282776,0.8311144709587097,0.9739383459091187,-0.9999134540557861,-0.8295382857322693,-0.8381224274635315,-0.24560295045375824,0.9993340373039246,0.9398274421691895,-0.8312157988548279,0.5591335892677307,0.8198208212852478,0.5559104681015015,-0.3166595995426178,0.3815328776836395,0.9532912969589233,0.9646636247634888,0.13606971502304077,0.7918136715888977,-0.317292720079422,-0.7905357480049133,0.0698477178812027,0.7247188091278076,0.35185328125953674,0.6232200264930725,-0.9153110384941101,0.6724144220352173,-0.974668025970459,0.9194968938827515,-0.2741236388683319,-0.28216108679771423,0.994657039642334,-0.8004018068313599,-0.9556228518486023,-0.42567017674446106,0.134310781955719,-0.7883179187774658,0.9999077320098877,0.8005174398422241,-0.837182343006134,0.7368155717849731,0.8828343152999878,0.9949449896812439,0.4126315712928772,0.34900474548339844,0.8593554496765137,0.6980116367340088,0.26340195536613464,-0.9999991059303284,-0.7876881957054138,0.9862325191497803,-0.38942474126815796,-0.300495445728302,0.4046366512775421,-0.32761862874031067,-0.9155789017677307,0.9928486347198486,-0.8491807579994202,-0.5519862174987793,-0.9944164156913757,0.973463773727417,0.9773848652839661,-0.4940407872200012,-0.8334043622016907,0.9997127652168274,-0.9981499314308167,-0.33513715863227844,-0.7140172719955444,-0.779236376285553,0.9027261734008789,0.617652416229248,-0.8445543646812439,0.9986251592636108,-0.6706525683403015,-0.7998598217964172,0.6102202534675598,-0.8910917639732361,-0.49373939633369446,-0.9967172145843506,0.28444957733154297,0.8300402164459229,-0.9107008576393127,0.2711230516433716,-0.8334479928016663,-0.9978364109992981,0.9536270499229431,0.7109596729278564,-0.39374640583992004,-0.8694613575935364,0.5649265646934509,0.9936627745628357,0.8483270406723022,-0.040504854172468185,0.6496849656105042,-0.7260670065879822,-0.9375836253166199,0.9941456913948059,0.5515733957290649,0.9581640362739563,1.3315665455593262e-5,0.7197306752204895,0.9644467830657959,-0.7108235359191895,0.5852121114730835,0.7437011003494263,0.48988887667655945,-0.8073097467422485,0.9970077276229858,-0.666189968585968,0.8494836688041687,0.9591244459152222,0.9999631643295288,0.5669142007827759,0.09176163375377655,0.2245451956987381,0.5502732396125793,-0.0849306732416153,0.5093658566474915,-0.5308291912078857,0.7766507267951965,-0.4294070601463318,-0.6689273715019226,0.7016844153404236,-0.45000335574150085,-0.836501955986023,0.7714393138885498,-0.9916850328445435,0.18770267069339752,0.9525866508483887,0.9982730746269226,0.9844887256622314,-0.9388000965118408,0.99881511926651,-0.9481387138366699,0.41803792119026184,0.9710467457771301,0.08337374031543732,-0.8694021105766296,0.9759098887443542,-0.7851977944374084,0.9721882939338684,0.8952791690826416,0.8990122675895691],"im":[7391.306872274386,1394.4396231859819,4353.570716714624,6963.107410905834,7774.389002211577,2105.259437448303,9730.621119005991,4842.582852413524,285.9423358294161,7196.247397031766,2570.220802469648,1648.0467988648734,6969.835193186713,299.01795397520857,508.4745673032537,9097.60724407013,1048.0117519814353,4637.504206987375,1548.2344082562654,2357.5439012055326,4364.643013962291,9558.92843289579,480.2137893088593,2187.62883097457,5857.412551303719,4681.040519438402,5091.404874848322,5078.18223572777,8314.63979602609,123.53942862546819,4109.769206992882,2811.5743177442005,7884.889398930366,1696.3407558896254,1018.2152148976559,2909.636987643645,8300.39243337714,4643.801569902233,7583.879369988079,9136.75466865731,2693.2494641035614,8632.954153397326,3836.5481974883414,4124.653661895104,442.4833692183977,9951.194623777239,7682.727259721448,2416.6298526887313,1341.7469890502803,7582.5132488708105,4454.155954588379,7243.622841980784,1989.1853868902415,7688.127434990161,5968.201402633158,9342.037117253709,7516.319719268037,224.58994579289848,2903.1926923789715,504.88511070905406,7668.736283955469,6835.86656812045,4560.489889532361,3168.6048477859235,4238.843802661496,8325.869824912292,2721.739153365555,5967.501527117195,1129.5836841598534,4290.804386495418,8189.663962899262,5453.479730300409,6133.98657631653,5143.687514227228,1305.5625832888768,8325.247534763206,1087.4937658668644,6040.0051018357835,8445.851318415247,2025.6843304742706,8283.897239262922,4324.365202918807,8981.270679364094,3194.30426561466,9668.55125859686,7999.7244248271445,9263.578661855994,7688.165540315578,9143.396194093133,4442.245590841819,1936.083176588768,7814.266805319838,1538.6232657493222,8532.78601988597,6582.05016047722,3159.2151071489,5200.340958984878,423.6215377011471,2566.2213448845823,1735.4769299690693,7509.283175630694,18.67991445014539,3865.1830865134625,7677.322137159315,4718.090782582275,5507.022810446566,4559.060606596065,965.5051981431212,1143.1531733174354,6077.077187910798,843.9214155259051,5543.888875429063,1605.8364265711216,1297.1493285398478,8278.737765086535,1339.7307446012335,3931.749302384339,9217.13034794834,8419.658087757436,382.3057270918734,3230.126655125928,7782.325269876939,6088.083699892201,5814.7211070453695,8837.396075337316,3430.897323820195,7397.06417617362,5688.829944567828,8899.68316785898,9361.028554055445,286.63911552179457,5772.272157111044,3889.560930875494,8561.742220991082,257.8163811631168,1670.2850219494142,5714.976197237079,1119.0104600862655,6067.092056310014,5306.737155802058,9983.76794906251,1470.555961531261,4352.272566841079,1556.1227126518113,8756.644790955737,6012.847756371752,6216.535347050478,9428.317432859858,7456.4832204794875,9785.407254518936,9597.647611474695,825.1061387642617,9974.937284198715,1032.403086728128,733.9288140549244,6978.299644392016,6095.77703076922,3652.1803002172833,5057.255575097735,3125.1250860919595,4312.680164280346,4717.624855650478,3255.756615226793,6940.122166200732,4890.89783291416,8424.149946538157,6679.615664026541,2877.774448000791,8793.83897731072,7201.116261443598,7154.240829198954,43.40988099297894,4117.76579766666,9585.259869644631,5434.422052022319,592.2070072666813,2650.127794770985,7535.258241926895,4960.68093500782,4657.682936897465,6494.166518631127,2227.7324526216876,7726.082121981248,2539.4865096194935,2913.350378310577,3072.0224333805995,3195.9944159461,938.7104235569216,7507.062805810645,5247.469582559168,1027.5146444776424,564.5974189291519,9331.296864157332,2831.1325520191804,356.4970786640326,9643.507441275686,9776.56507138608,9330.348692441721,6941.245620053628,1097.532335017319,3975.5919098179465,2012.9536851683788,8716.929630849445,9403.391281768038,6183.754076254061,6896.3096992128285,1212.021162725579,3501.759519526982,6790.016930531788,1474.1090700836362,9778.53037026007,8300.293967031632,3118.675161419175,885.7912249045602,7002.859478958612,1923.9783743110588,7684.690498191497,5043.040705380356,400.93430027948574,5695.001012075555,4394.9815634168845,8265.03586871192,9163.433330664513,554.584282731278,2509.409229158663,4158.713173790386,3220.369164015628,833.450153781739,2974.8421708494193,2352.223438780607,9706.645468326124,5378.997537829218,9271.513713865865,5569.2411509925405,1159.6987734947857,9451.602919970495,9940.531736502857,5699.821003786004,3419.0063680347066,7330.870260882281,431.2936355244007,2014.404688981855,7292.96997826099,696.8001920964178,6484.398311013083,4250.60052514195,7990.758584499489,3480.37183378695,5680.518739893375,4527.251340438994,9298.816125109588,8892.324237273562,1406.920480306783,900.8251251595528,9032.328384310647,6262.889160780078,5977.198659990005,3757.1500671795293,9516.114446330967,440.5355062712307,7332.724956107603,7859.044361823808,3744.2978447145942,9468.953958664997,4507.192983038442,832.1781954207124,3448.9791816089783,6471.355447428401,1596.3618709563793,4580.177209277511,3973.3264436652653,2831.7800146186282,8726.995659173292,5065.680197248222,3346.5772861101013,275.7864864266252,1967.1575556338532,2331.9821726072073,2308.8181653358515,4369.694311382774,1547.424797176658,9235.24654824167,1519.3818811115984,7625.620762929438,2390.417138632646,9521.804730437188,1715.5420265109117,8599.379918656874,9573.052985366277,7257.329716082883,2794.269698473399,765.4909564680884,7392.471316714445,4489.449179344345,7319.830530893266,4566.538820813398,895.5585050035736,3349.8619341859367,3345.1563323571104,1887.2786064954755,9303.861552591901,2039.4161256835137,7627.206727429674,9730.66196735872,9103.881413763183,1064.5993667423832,5039.666854859321,3255.9563626142844,9917.091864207703,5330.601912914979,8280.41677869698,1550.1820766217738,6118.990941037859,3298.1644272977733,4382.780019549314,7886.362417936225,4953.587945023961,9826.288870262797,6879.6766722629445,2688.587589129004,6418.139575195403,8289.401071702174,402.06057334392585,6986.992223908986,4579.2057253875055,4394.1217437564255,6598.290134233995,6125.306115794057,3296.073828932909,1123.3584744537022,3652.828543104823,5677.66265641569,330.6003100449534,2914.0136283116976,6603.685528951075,3433.7763215710197,7032.909482265736,3277.180515553451,6083.678783633267,9744.704924615242,1715.2456570179359,4874.5468093923355,4125.8758100783925,2598.5086765506167,6328.074786936707,5769.92861876777,2494.5184043755658,409.9270867866295,5001.324128007112,7759.879573684537,3071.676164411326,5177.003567549695,4555.928006736298,4724.444570874066,595.6579304493931,8823.933221332769,5453.3955006969245,7273.101530700599,2614.3947356648996,7646.407830685692,593.7741739799279,6280.636127084196,6951.7675388997695,5543.5883742604765,1765.5385238832316,6873.455921232283,4595.560685262591,5710.437925683768,5911.867457394594,1986.4679353682018,8760.653439948343,7283.39113799854,2682.613397904609,2249.6469105820897,7999.929412892849,8193.931105917412,6241.096841883204,6738.05706100027,2640.4387115169143,1965.876863350891,664.806404919947,6541.6936299741965,7932.107072349433,4190.051167329781,3967.6059455242766,8714.373994793164,5219.478552495212,5135.219048522825,7093.612872607977,2019.4011960744513,8680.519924396958,5765.953467399182,3029.9312814943664,1983.007720482009,4335.384431241872,9664.181899068617,2126.2795975201793,9549.69884055187,8495.35537047459,3097.5097469214534,2307.074485341342,7771.085761984407,8840.97820632294,8148.493232206218,3720.949910983165,4866.325611595216,4194.689972995995,5032.997543155697,3394.8908890721846,1493.522036258273,8292.65012852018,8710.39948163561,2422.5817776292743,6383.8360848009725,8856.70610306306,915.1895275388495,6977.583074909447,5485.451558539849,6264.548815737491,234.56539132935052,921.0721844545816,6214.094005443271,2824.23088626026,6903.308263942737,6304.401048190558,3308.7743290588082,8469.289503752572,941.5727766059717,7360.186642886611,5579.521155904848,9722.393841319656,8329.005776700695,7608.023052258465,7354.939376549002,1066.0543368937276,6713.66437804741,4943.584362813971,5102.5380842538225,8278.522015676073,9074.215918100695,5154.76785842061,5293.649203510763,7552.083112284938,7350.546893891108,9269.673968655334,8579.17244904079,4736.551271559228,936.0819773403211,3832.1849844109242,3784.0888766954536,9764.93355800392,3646.6309595619555,5783.317079063914,7797.32483365392,5071.517261621011,2670.0635559563298,14.13715404370464,124.896324091211,6327.435141864104,5732.626235260308,8487.638131534128,3368.5194114118817,3530.091186923478,7793.660017976904,2664.1479649577386,3585.3989194826113,4694.0952615339775,433.8266927344586,8193.28178850681,7327.162346114064,5304.487546552093,7890.336451876431,4365.825733566748,8411.528854391636,3865.1954034546825,7579.6517502097795,6087.7252379965275,4308.250555826864,3924.687209869699,6051.500549646139,335.0463714871627,4596.730007083721,6629.450127096509,9691.942124106776,3149.257865888953,4335.707244332547,3336.4301312248194,150.62009338624728,4784.293849083865,8903.32187967057,1598.7472518774498,671.1613032592162,9638.16549687254,9306.885154978148,1391.2087904155674,2142.7861780033127,2390.0842113126846,7772.536705559166,2902.369768695578,5107.776210835296]}
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/runner.jl
new file mode 100644
index 000000000000..25f9ed50bbc0
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/test/fixtures/julia/runner.jl
@@ -0,0 +1,81 @@
+#!/usr/bin/env julia
+#
+# @license Apache-2.0
+#
+# Copyright (c) 2026 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 JSON
+
+"""
+ gen( re, im, name )
+
+Generate fixture data and write to file.
+
+# Arguments
+
+* `re`: real components
+* `im`: imaginary components
+* `name::AbstractString`: output filename
+
+# Examples
+
+``` julia
+julia> re = rand( 1000 );
+julia> im = rand( 1000 );
+julia> gen( re, im, \"data.json\" );
+```
+"""
+function gen( re, im, name )
+ expre = Array{Float32}( undef, length(re) );
+ expim = Array{Float32}( undef, length(re) );
+ for i in eachindex( re )
+ z = exp( Complex{Float32}( re[i], im[i] ) );
+ expre[ i ] = real( z );
+ expim[ i ] = imag( z );
+ end
+
+ # Store data to be written to file as a collection:
+ data = Dict([
+ ("re", re),
+ ("im", im),
+ ("expre", Float64.(expre)),
+ ("expim", Float64.(expim)),
+ ]);
+
+ # Based on the script directory, create an output filepath:
+ filepath = joinpath( dir, name );
+
+ # Write the data to the output filepath as JSON:
+ outfile = open( filepath, "w" );
+ write( outfile, JSON.json(data) );
+ write( outfile, "\n" );
+ close( outfile );
+end
+
+# Get the filename:
+file = @__FILE__;
+
+# Extract the directory in which this file resides:
+dir = dirname( file );
+
+# Pure nonnegative imaginary:
+re = zeros( 500 );
+im = ( rand( 500 ) .* 10000.0 ) .- 5.0;
+gen( re, im, "pure_imaginary.json" );
+
+# General complex:
+re = ( rand( 500 ) .* 93.0 ) .- 5.0;
+im = ( rand( 500 ) .* 100.0 ) .- 5.0;
+gen( re, im, "general_complex.json" );
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/test/test.js b/lib/node_modules/@stdlib/math/base/special/cexpf/test/test.js
new file mode 100644
index 000000000000..d5afbf3ea56d
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/test/test.js
@@ -0,0 +1,262 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' );
+var absf = require( '@stdlib/math/base/special/absf' );
+var EPS = require( '@stdlib/constants/float32/eps' );
+var PINF = require( '@stdlib/constants/float32/pinf' );
+var NINF = require( '@stdlib/constants/float32/ninf' );
+var Complex64 = require( '@stdlib/complex/float32/ctor' );
+var realf = require( '@stdlib/complex/float32/real' );
+var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
+var imagf = require( '@stdlib/complex/float32/imag' );
+var cexpf = require( './../lib' );
+
+
+// FIXTURES //
+
+var pureImaginary = require( './fixtures/julia/pure_imaginary.json' );
+var generalComplex = require( './fixtures/julia/general_complex.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof cexpf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function returns a single-precision complex floating-point number', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 0.0, 0.0 ) );
+ t.strictEqual( realf( v ), float64ToFloat32( 1.0 ), 'returns expected value' );
+ t.strictEqual( imagf( v ), float64ToFloat32( 0.0 ), 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes exp(z) for pure imaginary z', function test( t ) {
+ var delta;
+ var expre;
+ var expim;
+ var tol;
+ var re;
+ var im;
+ var i;
+ var q;
+
+ re = pureImaginary.re;
+ im = pureImaginary.im;
+ expre = pureImaginary.expre;
+ expim = pureImaginary.expim;
+
+ for ( i = 0; i < re.length; i++ ) {
+ q = cexpf( new Complex64( re[ i ], im[ i ] ) );
+ if ( realf( q ) === expre[ i ] ) {
+ t.strictEqual( realf( q ), expre[ i ], 'returns expected real component' );
+ } else {
+ delta = absf( realf( q ) - expre[ i ] );
+ tol = EPS * absf( expre[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+realf( q )+'. expected: '+expre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ if ( imagf( q ) === expim[ i ] ) {
+ t.strictEqual( imagf( q ), expim[ i ], 'returns expected imaginary component' );
+ } else {
+ delta = absf( imagf( q ) - expim[ i ] );
+ tol = EPS * absf( expim[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imagf( q )+'. expected: '+expim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ t.end();
+});
+
+tape( 'the function computes exp(z) for complex z', function test( t ) {
+ var delta;
+ var expre;
+ var expim;
+ var tol;
+ var re;
+ var im;
+ var i;
+ var q;
+
+ re = generalComplex.re;
+ im = generalComplex.im;
+ expre = generalComplex.expre;
+ expim = generalComplex.expim;
+
+ for ( i = 0; i < re.length; i++ ) {
+ q = cexpf( new Complex64( re[ i ], im[ i ] ) );
+ if ( realf( q ) === expre[ i ] ) {
+ t.strictEqual( realf( q ), expre[ i ], 'returns expected real component' );
+ } else {
+ delta = absf( realf( q ) - expre[ i ] );
+ tol = 1.4 * EPS * absf( expre[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+realf( q )+'. expected: '+expre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ if ( imagf( q ) === expim[ i ] ) {
+ t.strictEqual( imagf( q ), expim[ i ], 'returns expected imaginary component' );
+ } else {
+ delta = absf( imagf( q ) - expim[ i ] );
+ tol = 1.4 * EPS * absf( expim[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imagf( q )+'. expected: '+expim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ t.end();
+});
+
+tape( 'if imaginary component is `+Infinity`, the function returns a complex number having `NaN` components', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 0.0, PINF ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if imaginary component is `-Infinity`, the function returns a complex number having `NaN` components', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 0.0, NINF ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `-Infinity`, the function returns a complex number with both components equal to `0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NINF, 1.0 ) );
+ t.strictEqual( realf( v ), 0.0, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `+Infinity` and imaginary component is `0.0`, the function returns a complex number with the real component equal to `+Infinity` and imaginary component equal to `0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( PINF, 0.0 ) );
+ t.strictEqual( realf( v ), PINF, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is `0.0`, the function returns a complex number with the real component equal to `NaN` and imaginary component equal to `0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, 0.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if imaginary component is `NaN`, the function returns a complex number with both components equal to `NaN`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 5.0, NaN ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+
+ v = cexpf( new Complex64( 0.0, NaN ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+
+ v = cexpf( new Complex64( NaN, NaN ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'if imaginary component is `+0.0`, the function returns a complex number with an imaginary component equal to `+0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 3.0, 0.0 ) );
+ t.strictEqual( isPositiveZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if imaginary component is `-0.0`, the function returns a complex number with an imaginary component equal to `-0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 3.0, -0.0 ) );
+ t.strictEqual( isNegativeZerof( imagf( v ) ), true, 'returns -0.0' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is nonzero, the function returns a complex number with both components equal to `NaN`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, 3.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is `+0.0`, the function returns a complex number with an imaginary component equal to `+0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, 0.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isPositiveZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is `-0.0`, the function returns a complex number with an imaginary component equal to `-0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, -0.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isNegativeZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if real component is `+Infinity` and imaginary component is `+Infinity`, the function returns a complex number with the real component equal to `-Infinity` and imaginary component equal to `NaN`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( PINF, PINF ) );
+ t.strictEqual( realf( v ), NINF, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `-Infinity` and imaginary component is `+Infinity`, the function returns a complex number with the real component equal to `-0.0` and imaginary component equal to `+0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NINF, PINF ) );
+ t.strictEqual( isNegativeZerof( realf( v ) ), true, 'returns -0.0' );
+ t.strictEqual( isPositiveZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if real component is `-Infinity` and imaginary component is `-Infinity`, the function returns a complex number with the real component equal to `-0.0` and imaginary component equal to `-0.0`', function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NINF, NINF ) );
+ t.strictEqual( isNegativeZerof( realf( v ) ), true, 'returns -0.0' );
+ t.strictEqual( isNegativeZerof( imagf( v ) ), true, 'returns -0.0' );
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/math/base/special/cexpf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/cexpf/test/test.native.js
new file mode 100644
index 000000000000..c1e1316e2a5e
--- /dev/null
+++ b/lib/node_modules/@stdlib/math/base/special/cexpf/test/test.native.js
@@ -0,0 +1,270 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' );
+var absf = require( '@stdlib/math/base/special/absf' );
+var EPS = require( '@stdlib/constants/float32/eps' );
+var PINF = require( '@stdlib/constants/float32/pinf' );
+var NINF = require( '@stdlib/constants/float32/ninf' );
+var Complex64 = require( '@stdlib/complex/float32/ctor' );
+var realf = require( '@stdlib/complex/float32/real' );
+var imagf = require( '@stdlib/complex/float32/imag' );
+var tryRequire = require( '@stdlib/utils/try-require' );
+
+
+// VARIABLES //
+
+var cexpf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
+var opts = {
+ 'skip': ( cexpf instanceof Error )
+};
+
+
+// FIXTURES //
+
+var pureImaginary = require( './fixtures/julia/pure_imaginary.json' );
+var generalComplex = require( './fixtures/julia/general_complex.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', opts, function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof cexpf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function returns a single-precision complex floating-point number', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 0.0, 0.0 ) );
+ t.strictEqual( realf( v ), 1.0, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes exp(z) for pure imaginary z', opts, function test( t ) {
+ var delta;
+ var expre;
+ var expim;
+ var tol;
+ var re;
+ var im;
+ var i;
+ var q;
+
+ re = pureImaginary.re;
+ im = pureImaginary.im;
+ expre = pureImaginary.expre;
+ expim = pureImaginary.expim;
+
+ for ( i = 0; i < re.length; i++ ) {
+ q = cexpf( new Complex64( re[ i ], im[ i ] ) );
+ if ( realf( q ) === expre[ i ] ) {
+ t.strictEqual( realf( q ), expre[ i ], 'returns expected real component' );
+ } else {
+ delta = absf( realf( q ) - expre[ i ] );
+ tol = EPS * absf( expre[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+realf( q )+'. expected: '+expre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ if ( imagf( q ) === expim[ i ] ) {
+ t.strictEqual( imagf( q ), expim[ i ], 'returns expected imaginary component' );
+ } else {
+ delta = absf( imagf( q ) - expim[ i ] );
+ tol = EPS * absf( expim[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imagf( q )+'. expected: '+expim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ t.end();
+});
+
+tape( 'the function computes exp(z) for complex z', opts, function test( t ) {
+ var delta;
+ var expre;
+ var expim;
+ var tol;
+ var re;
+ var im;
+ var i;
+ var q;
+
+ re = generalComplex.re;
+ im = generalComplex.im;
+ expre = generalComplex.expre;
+ expim = generalComplex.expim;
+
+ for ( i = 0; i < re.length; i++ ) {
+ q = cexpf( new Complex64( re[ i ], im[ i ] ) );
+ if ( realf( q ) === expre[ i ] ) {
+ t.strictEqual( realf( q ), expre[ i ], 'returns expected real component' );
+ } else {
+ delta = absf( realf( q ) - expre[ i ] );
+ tol = EPS * absf( expre[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+realf( q )+'. expected: '+expre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ if ( imagf( q ) === expim[ i ] ) {
+ t.strictEqual( imagf( q ), expim[ i ], 'returns expected imaginary component' );
+ } else {
+ delta = absf( imagf( q ) - expim[ i ] );
+ tol = 2.0 * EPS * absf( expim[ i ] );
+ t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imagf( q )+'. expected: '+expim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ t.end();
+});
+
+tape( 'if imaginary component is `+Infinity`, the function returns a complex number having `NaN` components', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 0.0, PINF ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if imaginary component is `-Infinity`, the function returns a complex number having `NaN` components', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 0.0, NINF ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `-Infinity`, the function returns a complex number with both components equal to `0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NINF, 1.0 ) );
+ t.strictEqual( realf( v ), 0.0, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `+Infinity` and imaginary component is `0.0`, the function returns a complex number with the real component equal to `+Infinity` and imaginary component equal to `0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( PINF, 0.0 ) );
+ t.strictEqual( realf( v ), PINF, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is `0.0`, the function returns a complex number with the real component equal to `NaN` and imaginary component equal to `0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, 0.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( imagf( v ), 0.0, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if imaginary component is `NaN`, the function returns a complex number with both components equal to `NaN`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 5.0, NaN ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+
+ v = cexpf( new Complex64( 0.0, NaN ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+
+ v = cexpf( new Complex64( NaN, NaN ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'if imaginary component is `+0.0`, the function returns a complex number with an imaginary component equal to `+0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 3.0, 0.0 ) );
+ t.strictEqual( isPositiveZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if imaginary component is `-0.0`, the function returns a complex number with an imaginary component equal to `-0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( 3.0, -0.0 ) );
+ t.strictEqual( isNegativeZerof( imagf( v ) ), true, 'returns -0.0' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is nonzero, the function returns a complex number with both components equal to `NaN`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, 3.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is `+0.0`, the function returns a complex number with an imaginary component equal to `+0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, 0.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isPositiveZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if real component is `NaN` and imaginary component is `-0.0`, the function returns a complex number with an imaginary component equal to `-0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NaN, -0.0 ) );
+ t.strictEqual( isnanf( realf( v ) ), true, 'returns expected value' );
+ t.strictEqual( isNegativeZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if real component is `+Infinity` and imaginary component is `+Infinity`, the function returns a complex number with the real component equal to `-Infinity` and imaginary component equal to `NaN`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( PINF, PINF ) );
+ t.strictEqual( realf( v ), NINF, 'returns expected value' );
+ t.strictEqual( isnanf( imagf( v ) ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if real component is `-Infinity` and imaginary component is `+Infinity`, the function returns a complex number with the real component equal to `-0.0` and imaginary component equal to `+0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NINF, PINF ) );
+ t.strictEqual( isNegativeZerof( realf( v ) ), true, 'returns -0.0' );
+ t.strictEqual( isPositiveZerof( imagf( v ) ), true, 'returns +0.0' );
+ t.end();
+});
+
+tape( 'if real component is `-Infinity` and imaginary component is `-Infinity`, the function returns a complex number with the real component equal to `-0.0` and imaginary component equal to `-0.0`', opts, function test( t ) {
+ var v;
+
+ v = cexpf( new Complex64( NINF, NINF ) );
+ t.strictEqual( isNegativeZerof( realf( v ) ), true, 'returns -0.0' );
+ t.strictEqual( isNegativeZerof( imagf( v ) ), true, 'returns -0.0' );
+ t.end();
+});