diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/README.md
new file mode 100644
index 000000000000..9ae3317b4d91
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/README.md
@@ -0,0 +1,263 @@
+
+
+# Logarithm of Probability Density Function
+
+> [Half-Normal][half-normal-distribution] distribution logarithm of [probability density function (PDF)][pdf].
+
+
+
+The [probability density function][pdf] (PDF) for a [half-normal][half-normal-distribution] random variable is
+
+
+
+```math
+f(x;\sigma) = \frac{\sqrt{2}}{\sigma\sqrt{\pi}} e^{-\frac{x^2}{2\sigma^2}}
+```
+
+
+
+
+
+for `x >= 0`, where `sigma > 0` is the scale parameter. For `x < 0`, the PDF is `0`.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var logpdf = require( '@stdlib/stats/base/dists/halfnormal/logpdf' );
+```
+
+#### logpdf( x, sigma )
+
+Evaluates the logarithm of the [probability density function][pdf] (PDF) for a [half-normal][half-normal-distribution] distribution with parameter `sigma` (scale parameter).
+
+```javascript
+var y = logpdf( 0.8, 1.0 );
+// returns ~-0.546
+
+y = logpdf( 0.5, 1.0 );
+// returns ~-0.351
+
+y = logpdf( 1.2, 2.0 );
+// returns ~-1.099
+```
+
+If `x < 0`, the function returns `-Infinity`.
+
+```javascript
+var y = logpdf( -0.2, 1.0 );
+// returns -Infinity
+```
+
+If provided `NaN` as any argument, the function returns `NaN`.
+
+```javascript
+var y = logpdf( NaN, 1.0 );
+// returns NaN
+
+y = logpdf( 0.0, NaN );
+// returns NaN
+```
+
+If provided `sigma <= 0`, the function returns `NaN`.
+
+```javascript
+var y = logpdf( 2.0, -1.0 );
+// returns NaN
+
+y = logpdf( 2.0, 0.0 );
+// returns NaN
+```
+
+#### logpdf.factory( sigma )
+
+Returns a `function` for evaluating the logarithm of the [PDF][pdf] for a [half-normal][half-normal-distribution] distribution with parameter `sigma` (scale parameter).
+
+```javascript
+var mylogpdf = logpdf.factory( 1.0 );
+
+var y = mylogpdf( 0.8 );
+// returns ~-0.546
+
+y = mylogpdf( 1.2 );
+// returns ~-0.946
+```
+
+
+
+
+
+
+
+## Notes
+
+- In virtually all cases, using the `logpdf` or `logcdf` functions is preferable to manually computing the logarithm of the `pdf` or `cdf`, respectively, since the latter is prone to overflow and underflow.
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var uniform = require( '@stdlib/random/array/uniform' );
+var logEachMap = require( '@stdlib/console/log-each-map' );
+var logpdf = require( '@stdlib/stats/base/dists/halfnormal/logpdf' );
+
+var opts = {
+ 'dtype': 'float64'
+};
+var x = uniform( 25, 0.0, 3.0, opts );
+var sigma = uniform( 25, 0.0, 3.0, opts );
+
+logEachMap( 'x: %0.4f, σ: %0.4f, ln(f(x;σ)): %0.4f', x, sigma, logpdf );
+```
+
+
+
+
+
+
+
+* * *
+
+
+
+## C APIs
+
+
+
+
+
+
+
+
+
+
+
+### Usage
+
+```c
+#include "stdlib/stats/base/dists/halfnormal/logpdf.h"
+```
+
+#### stdlib_base_dists_halfnormal_logpdf( x, sigma )
+
+Evaluates the logarithm of the [probability density function][pdf] (PDF) for a [Half-Normal][half-normal-distribution] distribution with parameter `sigma` (scale parameter).
+
+```c
+double out = stdlib_base_dists_halfnormal_logpdf( 0.8, 1.0 );
+// returns ~-0.546
+```
+
+The function accepts the following arguments:
+
+- **x**: `[in] double` input value.
+- **sigma**: `[in] double` scale parameter.
+
+```c
+double stdlib_base_dists_halfnormal_logpdf( const double x, const double sigma );
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Examples
+
+```c
+#include "stdlib/stats/base/dists/halfnormal/logpdf.h"
+#include
+#include
+
+static double random_uniform( const double min, const double max ) {
+ double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
+ return min + ( v*(max-min) );
+}
+
+int main( void ) {
+ double sigma;
+ double x;
+ double y;
+ int i;
+
+ for ( i = 0; i < 25; i++ ) {
+ x = random_uniform( 0.0, 10.0 );
+ sigma = random_uniform( 0.1, 10.0 );
+ y = stdlib_base_dists_halfnormal_logpdf( x, sigma );
+ printf( "x: %lf, σ: %lf, ln(f(x;σ)): %lf\n", x, sigma, y );
+ }
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[half-normal-distribution]: https://en.wikipedia.org/wiki/Half-normal_distribution
+
+[pdf]: https://en.wikipedia.org/wiki/Probability_density_function
+
+
+
+
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/benchmark.js
new file mode 100644
index 000000000000..b419bb58dc9b
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/benchmark.js
@@ -0,0 +1,94 @@
+/**
+* @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 Float64Array = require( '@stdlib/array/float64' );
+var uniform = require( '@stdlib/random/base/uniform' );
+var format = require( '@stdlib/string/format' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var EPS = require( '@stdlib/constants/float64/eps' );
+var pkg = require( './../package.json' ).name;
+var logpdf = require( './../lib' );
+
+
+// MAIN //
+
+bench( pkg, function benchmark( b ) {
+ var sigma;
+ var len;
+ var x;
+ var y;
+ var i;
+
+ len = 100;
+ x = new Float64Array( len );
+ sigma = new Float64Array( len );
+ for ( i = 0; i < len; i++ ) {
+ x[ i ] = uniform( 0.0, 10.0 );
+ sigma[ i ] = uniform( EPS, 10.0 );
+ }
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = logpdf( x[ i % len ], sigma[ i % len ] );
+ if ( isnan( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
+
+bench( format( '%s:factory', pkg ), function benchmark( b ) {
+ var mylogpdf;
+ var sigma;
+ var len;
+ var x;
+ var y;
+ var i;
+
+ sigma = 4.0;
+ mylogpdf = logpdf.factory( sigma );
+ len = 100;
+ x = new Float64Array( len );
+ for ( i = 0; i < len; i++ ) {
+ x[ i ] = uniform( 0.0, 20.0 );
+ }
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = mylogpdf( x[ i % len ] );
+ if ( isnan( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/benchmark.native.js
new file mode 100644
index 000000000000..a0fc9a7fd5b3
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/benchmark.native.js
@@ -0,0 +1,72 @@
+/**
+* @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 format = require( '@stdlib/string/format' );
+var Float64Array = require( '@stdlib/array/float64' );
+var randu = require( '@stdlib/random/base/randu' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var EPS = require( '@stdlib/constants/float64/eps' );
+var tryRequire = require( '@stdlib/utils/try-require' );
+var pkg = require( './../package.json' ).name;
+
+
+// VARIABLES //
+
+var logpdf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
+var opts = {
+ 'skip': ( logpdf instanceof Error )
+};
+
+
+// MAIN //
+
+bench( format( '%s::native', pkg ), opts, function benchmark( b ) {
+ var sigma;
+ var len;
+ var x;
+ var y;
+ var i;
+
+ len = 100;
+ sigma = new Float64Array( len );
+ x = new Float64Array( len );
+ for ( i = 0; i < len; i++ ) {
+ x[ i ] = randu() * 10.0;
+ sigma[ i ] = ( randu() * 10.0 ) + EPS;
+ }
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ y = logpdf( x[ i % len ], sigma[ i % len ] );
+ if ( isnan( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( y ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+});
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/c/Makefile
new file mode 100644
index 000000000000..34fcc0fcd245
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/c/Makefile
@@ -0,0 +1,148 @@
+#/
+# @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/stats/base/dists/halfnormal/logpdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/c/benchmark.c
new file mode 100644
index 000000000000..d9e0a57fb469
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/benchmark/c/benchmark.c
@@ -0,0 +1,141 @@
+/**
+* @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/stats/base/dists/halfnormal/logpdf.h"
+#include "stdlib/constants/float64/eps.h"
+#include
+#include
+#include
+#include
+#include
+
+#define NAME "halfnormal-logpdf"
+#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 [min,max).
+*
+* @param min minimum value (inclusive)
+* @param max maximum value (exclusive)
+* @return random number
+*/
+static double random_uniform( const double min, const double max ) {
+ double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
+ return min + ( v*(max-min) );
+}
+
+/**
+* Runs a benchmark.
+*
+* @return elapsed time in seconds
+*/
+static double benchmark( void ) {
+ double elapsed;
+ double sigma[ 100 ];
+ double x[ 100 ];
+ double y;
+ double t;
+ int i;
+
+ for ( i = 0; i < 100; i++ ) {
+ x[ i ] = random_uniform( 0.0, 10.0 );
+ sigma[ i ] = random_uniform( STDLIB_CONSTANT_FLOAT64_EPS, 10.0 );
+ }
+
+ t = tic();
+ for ( i = 0; i < ITERATIONS; i++ ) {
+ y = stdlib_base_dists_halfnormal_logpdf( x[ i%100 ], sigma[ i%100 ] );
+ if ( y != y ) {
+ printf( "should not return NaN\n" );
+ break;
+ }
+ }
+ elapsed = tic() - t;
+ if ( y != y ) {
+ printf( "should not return NaN\n" );
+ }
+ return elapsed;
+}
+
+/**
+* Main execution sequence.
+*/
+int main( void ) {
+ double elapsed;
+ int i;
+
+ // Use the current time to seed the random number generator:
+ srand( time( NULL ) );
+
+ print_version();
+ for ( i = 0; i < REPEATS; i++ ) {
+ printf( "# c::%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/stats/base/dists/halfnormal/logpdf/binding.gyp b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/binding.gyp
new file mode 100644
index 000000000000..0d6508a12e99
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/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/stats/base/dists/halfnormal/logpdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/repl.txt
new file mode 100644
index 000000000000..c3e158932916
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/repl.txt
@@ -0,0 +1,66 @@
+
+{{alias}}( x, σ )
+ Evaluates the logarithm of the probability density function (PDF) for a
+ half-normal distribution with scale parameter `σ` at a value `x`.
+
+ If provided `NaN` as any argument, the function returns `NaN`.
+
+ If provided `σ <= 0`, the function returns `NaN`.
+
+ If `x < 0`, the function returns `-Infinity`.
+
+ Parameters
+ ----------
+ x: number
+ Input value.
+
+ σ: number
+ Scale parameter.
+
+ Returns
+ -------
+ out: number
+ Evaluated logPDF.
+
+ Examples
+ --------
+ > var y = {{alias}}( 0.8, 1.0 )
+ ~-0.546
+ > y = {{alias}}( 0.5, 1.0 )
+ ~-0.351
+ > y = {{alias}}( 1.2, 2.0 )
+ ~-1.099
+ > y = {{alias}}( NaN, 1.0 )
+ NaN
+ > y = {{alias}}( 0.0, NaN )
+ NaN
+ // Negative scale parameter:
+ > y = {{alias}}( 2.0, -1.0 )
+ NaN
+
+
+{{alias}}.factory( σ )
+ Returns a function for evaluating the logarithm of the probability density
+ function (PDF) of a half-normal distribution with scale parameter `σ`.
+
+ Parameters
+ ----------
+ σ: number
+ Scale parameter.
+
+ Returns
+ -------
+ logpdf: Function
+ Logarithm of probability density function (PDF).
+
+ Examples
+ --------
+ > var mylogpdf = {{alias}}.factory( 1.0 );
+ > var y = mylogpdf( 0.8 )
+ ~-0.546
+ > y = mylogpdf( 1.2 )
+ ~-0.946
+
+ See Also
+ --------
+
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/types/index.d.ts
new file mode 100644
index 000000000000..e72e44b43007
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/types/index.d.ts
@@ -0,0 +1,106 @@
+/*
+* @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
+
+/**
+* Evaluates the natural logarithm of the probability density function (logPDF) for a half-normal distribution.
+*
+* @param x - input value
+* @returns evaluated logPDF
+*/
+type Unary = ( x: number ) => number;
+
+/**
+* Interface for the natural logarithm of the probability density function (logPDF) of a half-normal distribution.
+*/
+interface LogPDF {
+ /**
+ * Evaluates the logarithm of the probability density function (PDF) for a half-normal distribution with scale parameter `sigma`.
+ *
+ * ## Notes
+ *
+ * - If provided `sigma <= 0`, the function returns `NaN`.
+ * - If `x < 0`, the function returns `-Infinity`.
+ *
+ * @param x - input value
+ * @param sigma - scale parameter
+ * @returns evaluated logarithm of PDF
+ *
+ * @example
+ * var y = logpdf( 0.8, 1.0 );
+ * // returns ~-0.546
+ *
+ * @example
+ * var y = logpdf( 0.5, 1.0 );
+ * // returns ~-0.351
+ *
+ * @example
+ * var y = logpdf( 1.2, 2.0 );
+ * // returns ~-1.099
+ *
+ * @example
+ * var y = logpdf( NaN, 1.0 );
+ * // returns NaN
+ *
+ * @example
+ * var y = logpdf( 0.0, NaN );
+ * // returns NaN
+ *
+ * @example
+ * // Negative scale parameter:
+ * var y = logpdf( 2.0, -1.0 );
+ * // returns NaN
+ */
+ ( x: number, sigma: number ): number;
+
+ /**
+ * Returns a function for evaluating the logarithm of the probability density function (PDF) for a half-normal distribution with scale parameter `sigma`.
+ *
+ * @param sigma - scale parameter
+ * @returns logPDF
+ *
+ * @example
+ * var mylogpdf = logpdf.factory( 1.0 );
+ * var y = mylogpdf( 0.8 );
+ * // returns ~-0.546
+ */
+ factory( sigma: number ): Unary;
+}
+
+/**
+* Half-normal distribution natural logarithm of probability density function (logPDF).
+*
+* @param x - input value
+* @param sigma - scale parameter
+* @returns evaluated logPDF
+*
+* @example
+* var y = logpdf( 0.8, 1.0 );
+* // returns ~-0.546
+*
+* var mylogpdf = logpdf.factory( 1.0 );
+* var y = mylogpdf( 0.8 );
+* // returns ~-0.546
+*/
+declare var logpdf: LogPDF;
+
+
+// EXPORTS //
+
+export = logpdf;
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/types/test.ts
new file mode 100644
index 000000000000..79c141e250a9
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/docs/types/test.ts
@@ -0,0 +1,98 @@
+/*
+* @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 logpdf = require( './index' );
+
+
+// TESTS //
+
+// The function returns a number...
+{
+ logpdf( 2, 4 ); // $ExpectType number
+ logpdf( 1, 8 ); // $ExpectType number
+}
+
+// The compiler throws an error if the function is provided values other than two numbers...
+{
+ logpdf( true, 6 ); // $ExpectError
+ logpdf( false, 4 ); // $ExpectError
+ logpdf( '5', 2 ); // $ExpectError
+ logpdf( [], 2 ); // $ExpectError
+ logpdf( {}, 4 ); // $ExpectError
+ logpdf( ( x: number ): number => x, 4 ); // $ExpectError
+
+ logpdf( 9, true ); // $ExpectError
+ logpdf( 9, false ); // $ExpectError
+ logpdf( 5, '5' ); // $ExpectError
+ logpdf( 8, [] ); // $ExpectError
+ logpdf( 9, {} ); // $ExpectError
+ logpdf( 8, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an unsupported number of arguments...
+{
+ logpdf(); // $ExpectError
+ logpdf( 2 ); // $ExpectError
+ logpdf( 2, 0, 4 ); // $ExpectError
+}
+
+// Attached to main export is a `factory` method which returns a function...
+{
+ logpdf.factory( 4 ); // $ExpectType Unary
+}
+
+// The `factory` method returns a function which returns a number...
+{
+ const fcn = logpdf.factory( 4 );
+ fcn( 2 ); // $ExpectType number
+}
+
+// The compiler throws an error if the function returned by the `factory` method is provided invalid arguments...
+{
+ const fcn = logpdf.factory( 4 );
+ fcn( true ); // $ExpectError
+ fcn( false ); // $ExpectError
+ fcn( '5' ); // $ExpectError
+ fcn( [] ); // $ExpectError
+ fcn( {} ); // $ExpectError
+ fcn( ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function returned by the `factory` method is provided an unsupported number of arguments...
+{
+ const fcn = logpdf.factory( 4 );
+ fcn(); // $ExpectError
+ fcn( 2, 0 ); // $ExpectError
+ fcn( 2, 0, 1 ); // $ExpectError
+}
+
+// The compiler throws an error if the `factory` method is provided values other than one number...
+{
+ logpdf.factory( true ); // $ExpectError
+ logpdf.factory( false ); // $ExpectError
+ logpdf.factory( '5' ); // $ExpectError
+ logpdf.factory( [] ); // $ExpectError
+ logpdf.factory( {} ); // $ExpectError
+ logpdf.factory( ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the `factory` method is provided an unsupported number of arguments...
+{
+ logpdf.factory(); // $ExpectError
+ logpdf.factory( 0, 4 ); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/c/Makefile
new file mode 100644
index 000000000000..c8f8e9a1517b
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/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/stats/base/dists/halfnormal/logpdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/c/example.c
new file mode 100644
index 000000000000..c3e158a5bf10
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/c/example.c
@@ -0,0 +1,40 @@
+/**
+* @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/stats/base/dists/halfnormal/logpdf.h"
+#include
+#include
+
+static double random_uniform( const double min, const double max ) {
+ double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
+ return min + ( v*(max-min) );
+}
+
+int main( void ) {
+ double sigma;
+ double x;
+ double y;
+ int i;
+
+ for ( i = 0; i < 25; i++ ) {
+ x = random_uniform( 0.0, 10.0 );
+ sigma = random_uniform( 0.1, 10.0 );
+ y = stdlib_base_dists_halfnormal_logpdf( x, sigma );
+ printf( "x: %lf, σ: %lf, ln(f(x;σ)): %lf\n", x, sigma, y );
+ }
+}
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/index.js
new file mode 100644
index 000000000000..805dd4ea366c
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/examples/index.js
@@ -0,0 +1,31 @@
+/**
+* @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 uniform = require( '@stdlib/random/array/uniform' );
+var logEachMap = require( '@stdlib/console/log-each-map' );
+var logpdf = require( './../lib' );
+
+var opts = {
+ 'dtype': 'float64'
+};
+var x = uniform( 25, 0.0, 3.0, opts );
+var sigma = uniform( 25, 0.0, 3.0, opts );
+
+logEachMap( 'x: %0.4f, σ: %0.4f, ln(f(x;σ)): %0.4f', x, sigma, logpdf );
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/include.gypi b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/include.gypi
new file mode 100644
index 000000000000..bee8d41a2caf
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/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': [
+ '
+ */
+ function logpdf( x ) {
+ if ( isnan( x ) ) {
+ return NaN;
+ }
+ if ( x < 0.0 ) {
+ return NINF;
+ }
+ return C - lsigma - ( (x*x) / ( 2.0 * sigma2 ) );
+ }
+}
+
+
+// EXPORTS //
+
+module.exports = factory;
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/index.js
new file mode 100644
index 000000000000..bbed01cdffc7
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/index.js
@@ -0,0 +1,54 @@
+/**
+* @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';
+
+/**
+* Half-normal distribution logarithm of probability density function (PDF).
+*
+* @module @stdlib/stats/base/dists/halfnormal/logpdf
+*
+* @example
+* var logpdf = require( '@stdlib/stats/base/dists/halfnormal/logpdf' );
+*
+* var y = logpdf( 0.8, 1.0 );
+* // returns ~-0.546
+*
+* var mylogpdf = logpdf.factory( 1.0 );
+* y = mylogpdf( 0.8 );
+* // returns ~-0.546
+*
+* y = mylogpdf( 1.2 );
+* // returns ~-0.946
+*/
+
+// MODULES //
+
+var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
+var main = require( './main.js' );
+var factory = require( './factory.js' );
+
+
+// MAIN //
+
+setReadOnly( main, 'factory', factory );
+
+
+// EXPORTS //
+
+module.exports = main;
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/main.js
new file mode 100644
index 000000000000..9b6372097af9
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/main.js
@@ -0,0 +1,95 @@
+/**
+* @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 isnan = require( '@stdlib/math/base/assert/is-nan' );
+var ln = require( '@stdlib/math/base/special/ln' );
+var NINF = require( '@stdlib/constants/float64/ninf' );
+var LN2 = require( '@stdlib/constants/float64/ln-two' );
+var LNPI = require( '@stdlib/constants/float64/ln-pi' );
+
+
+// VARIABLES //
+
+// Constant: log(sqrt(2/pi)) = 0.5 * log(2/pi) = 0.5 * (ln(2) - ln(pi))
+var C = 0.5 * ( LN2 - LNPI );
+
+
+// MAIN //
+
+/**
+* Evaluates the logarithm of the probability density function (PDF) for a half-normal distribution with scale parameter `sigma`.
+*
+* @param {number} x - input value
+* @param {PositiveNumber} sigma - scale parameter
+* @returns {number} evaluated logarithm of PDF
+*
+* @example
+* var y = logpdf( 0.8, 1.0 );
+* // returns ~-0.546
+*
+* @example
+* var y = logpdf( 0.5, 1.0 );
+* // returns ~-0.351
+*
+* @example
+* var y = logpdf( 1.2, 2.0 );
+* // returns ~-1.099
+*
+* @example
+* var y = logpdf( -0.2, 1.0 );
+* // returns -Infinity
+*
+* @example
+* var y = logpdf( NaN, 1.0 );
+* // returns NaN
+*
+* @example
+* var y = logpdf( 0.0, NaN );
+* // returns NaN
+*
+* @example
+* // Negative scale parameter:
+* var y = logpdf( 2.0, -1.0 );
+* // returns NaN
+*
+* @example
+* var y = logpdf( 2.0, 0.0 );
+* // returns NaN
+*/
+function logpdf( x, sigma ) {
+ if (
+ isnan( x ) ||
+ isnan( sigma ) ||
+ sigma <= 0.0
+ ) {
+ return NaN;
+ }
+ if ( x < 0.0 ) {
+ return NINF;
+ }
+ return C - ln( sigma ) - ( (x*x) / ( 2.0 * (sigma*sigma) ) );
+}
+
+
+// EXPORTS //
+
+module.exports = logpdf;
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/native.js
new file mode 100644
index 000000000000..d3b462a51429
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/lib/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 addon = require( './../src/addon.node' );
+
+
+// MAIN //
+
+/**
+* Evaluates the logarithm of the probability density function (PDF) for a half-normal distribution with scale parameter `sigma`.
+*
+* @private
+* @param {number} x - input value
+* @param {PositiveNumber} sigma - scale parameter
+* @returns {number} evaluated logarithm of PDF
+*
+* @example
+* var y = logpdf( 0.8, 1.0 );
+* // returns ~-0.546
+*
+* @example
+* var y = logpdf( 0.5, 1.0 );
+* // returns ~-0.351
+*
+* @example
+* var y = logpdf( 1.2, 2.0 );
+* // returns ~-1.099
+*
+* @example
+* var y = logpdf( NaN, 1.0 );
+* // returns NaN
+*
+* @example
+* var y = logpdf( 0.0, NaN );
+* // returns NaN
+*
+* @example
+* // Negative scale parameter:
+* var y = logpdf( 2.0, -1.0 );
+* // returns NaN
+*/
+function logpdf( x, sigma ) {
+ return addon( x, sigma );
+}
+
+
+// EXPORTS //
+
+module.exports = logpdf;
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/manifest.json
new file mode 100644
index 000000000000..55c36c1b66e2
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/manifest.json
@@ -0,0 +1,89 @@
+{
+ "options": {
+ "task": "build",
+ "wasm": false
+ },
+ "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",
+ "wasm": false,
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/napi/binary",
+ "@stdlib/math/base/assert/is-nan",
+ "@stdlib/math/base/special/ln",
+ "@stdlib/constants/float64/ninf",
+ "@stdlib/constants/float64/ln-two",
+ "@stdlib/constants/float64/ln-pi"
+ ]
+ },
+ {
+ "task": "benchmark",
+ "wasm": false,
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/constants/float64/eps",
+ "@stdlib/math/base/assert/is-nan",
+ "@stdlib/math/base/special/ln",
+ "@stdlib/constants/float64/ninf",
+ "@stdlib/constants/float64/ln-two",
+ "@stdlib/constants/float64/ln-pi"
+ ]
+ },
+ {
+ "task": "examples",
+ "wasm": false,
+ "src": [
+ "./src/main.c"
+ ],
+ "include": [
+ "./include"
+ ],
+ "libraries": [],
+ "libpath": [],
+ "dependencies": [
+ "@stdlib/math/base/assert/is-nan",
+ "@stdlib/math/base/special/ln",
+ "@stdlib/constants/float64/ninf",
+ "@stdlib/constants/float64/ln-two",
+ "@stdlib/constants/float64/ln-pi"
+ ]
+ }
+ ]
+}
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/package.json b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/package.json
new file mode 100644
index 000000000000..2f272468cae7
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "@stdlib/stats/base/dists/halfnormal/logpdf",
+ "version": "0.0.0",
+ "description": "Half-normal distribution logarithm of probability density function (PDF).",
+ "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",
+ "statistics",
+ "stats",
+ "distribution",
+ "dist",
+ "probability",
+ "pdf",
+ "log",
+ "logarithm",
+ "halfnormal",
+ "half-normal",
+ "univariate",
+ "continuous"
+ ]
+}
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/Makefile b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/Makefile
new file mode 100644
index 000000000000..2caf905cedbe
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/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/stats/base/dists/halfnormal/logpdf/src/addon.c b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/addon.c
new file mode 100644
index 000000000000..36032875f1e1
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/addon.c
@@ -0,0 +1,23 @@
+/**
+* @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/stats/base/dists/halfnormal/logpdf.h"
+#include "stdlib/math/base/napi/binary.h"
+
+// cppcheck-suppress shadowFunction
+STDLIB_MATH_BASE_NAPI_MODULE_DD_D( stdlib_base_dists_halfnormal_logpdf )
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/main.c
new file mode 100644
index 000000000000..c059080d2ad0
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/src/main.c
@@ -0,0 +1,52 @@
+/**
+* @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/stats/base/dists/halfnormal/logpdf.h"
+#include "stdlib/math/base/assert/is_nan.h"
+#include "stdlib/math/base/special/ln.h"
+#include "stdlib/constants/float64/ninf.h"
+#include "stdlib/constants/float64/ln_two.h"
+#include "stdlib/constants/float64/ln_pi.h"
+
+// log(sqrt(2/pi)) = 0.5 * log(2/pi) = 0.5 * (ln(2) - ln(pi))
+static const double C = 0.5 * ( STDLIB_CONSTANT_FLOAT64_LN2 - STDLIB_CONSTANT_FLOAT64_LN_PI );
+
+/**
+* Evaluates the logarithm of the probability density function (PDF) for a half-normal distribution with scale parameter `sigma`.
+*
+* @param x input value
+* @param sigma scale parameter
+* @return evaluated logarithm of PDF
+*
+* @example
+* double y = stdlib_base_dists_halfnormal_logpdf( 0.8, 1.0 );
+* // returns ~-0.546
+*/
+double stdlib_base_dists_halfnormal_logpdf( const double x, const double sigma ) {
+ if (
+ stdlib_base_is_nan( x ) ||
+ stdlib_base_is_nan( sigma ) ||
+ sigma <= 0.0
+ ) {
+ return 0.0/0.0; // NaN
+ }
+ if ( x < 0.0 ) {
+ return STDLIB_CONSTANT_FLOAT64_NINF;
+ }
+ return C - stdlib_base_ln( sigma ) - ( (x*x) / ( 2.0 * (sigma*sigma) ) );
+}
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/REQUIRE b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/REQUIRE
new file mode 100644
index 000000000000..98be20b58ed3
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/REQUIRE
@@ -0,0 +1,3 @@
+Distributions 0.23.8
+julia 1.5
+JSON 0.21
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/data.json b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/data.json
new file mode 100644
index 000000000000..e1404520be35
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/data.json
@@ -0,0 +1 @@
+{"sigma":[5.286261746944335,0.8560688858094267,6.479044297997439,1.1868236250772213,8.116860374230184,1.3383544767874511,9.205946749566602,2.4690594647427098,3.160583376028445,8.560751562320261,2.1653197925824,0.6293090925875433,4.074923397136332,4.3316371933214315,4.521455501031304,1.0457120136987486,1.3794585463837683,8.419416318682437,5.217799634826985,9.640072790480437,4.9607581061966215,2.6948876969822133,6.675131983006365,2.1860381967142297,0.15919949055227645,6.267062536621655,2.633161094144704,7.307831476745288,5.887554337431794,3.697283562903385,5.248938295202489,3.785137007948174,9.475850548641812,4.4311431713503175,9.2093214176337,9.766301390880304,0.30418331442749524,0.5091738188394102,1.04654845440446,3.9024664366259545,8.377034959897742,6.486882646130379,9.29783788312016,5.715638331272622,8.47268978120022,6.711059005744496,9.876801826557784,8.936258584254238,7.842460631606624,9.242023033277563,8.248283775973352,6.904436187335498,0.7649691800995939,7.651043755317431,4.348528777580344,2.6160251720681638,7.432029580182849,2.142369114993582,4.848634205750092,4.73527677726278,3.292016573089598,2.2371340485079747,3.7798566258169073,9.017915147417957,2.3045977595527924,1.290320082695784,6.0390968193610695,5.54562613111632,5.765737142908183,8.225256401475109,0.34611655172411604,6.046149058248331,8.736376030829744,8.87060040376533,1.1092573129036332,7.518310261603807,6.529229670549119,0.973506688000515,3.028285791841415,0.5048486833093069,4.406640130173695,5.121267653582238,9.540618709003391,3.8512500849352316,6.500288668814584,7.130774353332229,5.098042698121788,1.3364163174237853,1.7673560425922585,5.014791077368677,1.4623644568171978,7.952540358465169,4.080274887093812,8.31146397992488,5.766782928109734,2.5926807700858823,2.764728102628694,2.24290252441375,5.324721712109111,7.3081145383696375,2.828200327218391,9.63326597750764,5.425682174095581,2.4497166655968714,6.183892127055435,1.2784563668834181,1.2688096092897383,2.2000006315010925,3.788521541457719,8.823005714805193,4.904869400578286,2.8589963960956375,0.10781861810390092,3.7543072214703885,3.183295145636278,2.5321725529090666,9.974995898515624,0.3279749764003792,7.787586525398458,0.13407241986438945,5.514527927329159,7.025374659125257,1.6530160940262184,5.303348582882867,5.798668237356371,8.075283269824867,1.5654654290106207,2.5037497628733263,0.5092878430105918,8.163343752609265,9.315055432402469,8.219724698489774,9.892162850892912,5.146085409714075,2.6207299046674795,1.2290520357197965,7.329975716674158,2.93948683533792,0.6487344125772021,8.13067042462867,2.566788526189876,1.9911427274615223,0.13771931778708724,8.560887678584523,0.15337813785921917,3.0212010282350246,8.031476136588541,2.589922577600997,7.666926509127409,5.4162100983030514,9.911669255688173,7.6942033280362,6.789740580276748,3.2194169711408693,7.873942528129238,5.667455378442019,9.271775490479502,5.679399231734865,0.9315702413988125,4.500153821676544,7.256895427460544,0.8785486999862568,4.801484940592527,1.4485249817092083,5.215099566796518,6.093847992128445,0.4227812750735904,3.9466656762716967,6.264233811099565,3.2145417675731744,4.995083136249273,6.688545757793561,1.7289617201570529,9.697908034090473,3.928256154119297,2.1139327565482846,5.078320204117447,7.361871511415103,0.2471646402318517,8.877184325038982,8.404369238158674,3.5644852544340813,3.2144535172926716,9.070156120182473,3.208813519441124,8.552756089005465,9.379669964976245,5.390870680027576,6.305536450159385,2.636701086738653,2.190985757982189,1.0201697939093846,0.6191434029131604,4.73412763461303,1.1275251933972052,8.694293910304028,4.077258163880017,6.544752324249169,8.09361967441939,9.788578736823228,0.019127108026759654,1.1093039147804384,4.178639533067985,4.445918029268752,1.030394519403297,0.47717733994859235,6.319120125026654,2.032180998702462,7.070901230237517,0.6188922523753182,3.9294109110400655,7.854568189689694,0.9022849884261963,2.6401431199964964,6.556391207684246,8.26425971346927,9.277086798520566,3.697040123388613,4.477989996841405,0.9935064634661772,9.17450440413614,0.595144108406479,1.3857972569779053,8.452578262203746,6.522290687176681,7.248665603678608,4.812872826125964,2.6352593469943306,9.658066173893186,0.30382581762362304,9.42078392617118,5.248413155555846,4.445876944655024,0.7128165520128071,2.956896025098187,0.40334439184856685,7.247558984076974,2.182307059027546,6.194924271802156,6.3685857246801225,0.2562731552708386,8.829524070643691,1.2061724002935081,6.9055150601482875,0.9411177927484571,0.5122007114872196,7.969772102151938,7.08746673781476,8.316749740805129,5.194150403895993,2.550067596923208,2.8010493505477028,1.627511391808527,7.3163572003970625,4.960322297839893,6.863910099267887,5.786135489779699,1.156988417896312,0.15031900731254932,8.516571258144982,0.32814205573783783,1.6055743253950094,9.988352401075401,1.1056969014447349,6.01692849441493,1.6510991416197685,2.8941005138477847,9.782988209195244,9.903037308134671,5.982302676099316,8.82242989234818,4.30903521273088,5.740135630241163,4.872318248537711,8.47595604455243,0.3011009920962171,7.917805380344722,8.264405017218094,1.6529597625880665,2.6072488864388674,6.813345907052969,1.804807582557303,8.67664847172653,4.022847175163646,3.6320808651345393,7.191345723931636,6.690159444073984,0.02537644372656578,8.364187061093984,5.859706421645954,7.690760872271677,8.468802717996232,5.447882405861046,6.2659366857428145,6.65119404071802,9.918015792204006,1.7476816079153357,2.1268955005525725,8.70340548402298,3.3526956629659366,1.1158009110253808,5.711190092329124,9.772087137847397,3.2361836159844906,7.51142696233029,1.5314072477604523,9.8066970627631,2.0572799183101544,0.7405362585570163,1.8002896542321578,6.411423056901292,7.22565160076428,1.0014466816849976,8.648102088092338,1.3705761766728985,7.463501050845189,9.082181680924391,4.68828498562729,6.82633325925249,6.102255469909245,0.9781864034814147,1.855219303886354,0.9014779469655809,1.5470000818376461,4.036219455918822,3.2637855293270035,1.7055357246289249,6.531310096860893,5.3430541830420655,5.901954701120696,5.595876843725661,1.3174219654088182,0.1645362028483066,6.104191896500929,9.91067166375316,7.999600963090857,9.750097485351018,5.235091164590226,4.802227956535808,8.926638860144383,2.014249323176145,3.6759269779201675,1.8044567769475406,7.190687059749379,9.628818077360288,0.5273257556855449,3.979261395800171,8.094520231217082,4.045556813973522,4.327584409908113,0.2582400994331002,1.413971166839204,8.57136737383493,5.166483621330609,7.930381988297274,5.4092259249527155,5.912088817254947,6.615787930303739,6.518657227807988,6.328300957634019,9.399114727763386,1.6087243175112764,2.789206776478055,2.396817631799223,2.4818684668782387,5.979645375590977,3.360653810788298,3.6622176867608367,4.384942449140245,9.651442086476699,3.2897952281054743,9.693348764174452,7.276308535703122,9.283310190040671,4.688319854497676,2.715850959417878,4.20333707347498,8.29364218847743,4.351671570004206,3.5416551872685673,1.0773050807411655,4.619763850157166,7.969465367991808,4.336541271258502,9.211301052390958,4.596825358310496,5.769030596565196,3.327593941150125,9.737780140563906,0.8183822735766033,0.8514748347641143,8.57664592676892,1.759835193450796,5.2789015695375525,6.919591447717268,5.951348261494756,5.2840162927233525,4.3379609473769705,4.5552560030925635,1.6471114664363962,8.1089749208123,2.508851847071649,2.310445082787372,4.285714299385784,3.8582086083271436,9.05877277857446,5.457824319457339,8.79950865591093,9.173499952838325,0.47774954148715576,5.789065668595891,0.15131702444867945,0.2312969367124973,2.512182150873911,6.161322596465584,7.284517287505322,7.60945926084421,7.395253370917931,9.164718664640887,7.26680369081649,9.075626129796532,1.3465029111015936,6.439195721652068,6.41065320374619,5.58224459908179,8.8762045289963,6.451745575155168,3.870810998565247,9.947628356784417,8.779785673412668,5.413320363330662,0.7989889764532931,9.128301109543983,2.088625795114254,3.0798153480367088,0.2650923418502449,2.00299845684507,3.4124318908872175,6.776446779021052,7.699080475818901,4.958380871256114,2.736179469429886,0.8710866569802289,1.7585979179445088,5.461753909740491,3.6797082123608185,8.893506237076535,7.494870106450374,8.454238903183356,6.011400284795947,1.1456337920433035,0.8472219851216034,0.20060172364549378,4.62586346687726,3.111081652680162,6.219935653447802,0.5149357935813315,7.422051537469968,4.42595109335019,2.5168704004710696,7.218379011260975,0.676348039972674,9.479677423948033,0.263241801466888,5.28856752246342,5.4723073880456905,5.426088824277767,4.085841594839227,2.286939684321604,1.1134008633951153,1.6954764379989395,4.3994163539464335,9.44987311217271,8.548095698783488,0.1403330726611418,4.790782730398183,3.995771741069899,0.9749168560456378,7.626430633624169,3.4673878842011763,4.994351330384702,2.7999973680634804,8.38247142406445,8.811745856930683,9.330444774415522,3.1634957876090244,7.542392330751503,1.6299579471634251,8.947153607092146,4.980024624704459,7.495075114990774,5.327167767510328,6.646568596735085,6.043336863418732,8.619377899355378,7.249226052480459,3.82954533011036,3.1956005798679623,2.8536397171929218,6.810752428337924,1.2442258720961719,7.862212453728931,3.592563429828358,4.234161450967818,2.860530360173408,7.176616417651393,7.736309052199928,4.961295362690842,9.252789767345686,1.2722947421219888,8.012387035162146,9.199532656009184,6.87365858336296,7.230083492346803,4.141751131135334,9.384560626695293,2.0748675671492647,9.696017170692228,9.25677810684985,3.5638368292054823,5.265122587581736,5.1774768503833055,3.261701536138194,1.6289785645016852,6.89287546618486,7.1817092159071985,1.555911505346661,6.166674324415923,9.091140531151684,3.296431387064267,9.909385265212572,9.911088486712384,1.986070167980758,1.3618792892741394,5.260398901972154,0.7543147484219226,9.159883833203358,6.3850040682055385,6.389784314966863,3.984855490019691,0.1622211094824122,2.688938891148865,3.6540237465747714,7.6621210830624875,5.492506638324786,5.831187377090222,1.171056213487367,5.554304634818462,2.4138129072912906,1.0019800358856912,2.7780718859529294,3.1513777199796666,0.009764927014161984,0.7584052782362405,6.232920544083367,1.5686577756325382,0.7892537204130168,3.855180577611621,4.379960436148872,6.697475593369186,9.29319541787042,2.479060160271511,8.774725907305632,4.992255324468785,9.738446381364362,0.6427530978467944,9.619282949574677,9.354269915848159,9.738424067498045,6.582054669204239,5.53019650811434,7.5240131475936645,9.183440663989737,7.611887533411891,9.764078934195503,2.5633951490049824,4.955083063037703,2.635153223887503,2.9489645878341655,1.1304747867923226,6.201968536518244,2.278014391288379,8.468641529018605,8.140746721011846,7.628698328041232,8.866287332193636,7.711508503079862,0.4663208457856305,9.32833136049284,8.62534808212392,5.921489555656503,1.001601831415505,6.280308120407369,7.828517763290259,2.4806095499050365,4.487744485761632,7.997669306160937,7.156641299026533,8.71956326457032,4.907154264981224,3.518298368448148,0.2157895571911317,3.0694761933894843,9.379817534263964,8.139098111080914,4.978785022944811,7.343806210058753,7.157924095324941,6.324220052312246,9.712389399560784,4.513430752634086,5.174683612223094,3.2311165823274735,8.721696273131098,9.302497545359401,0.45295233673977475,6.688347237294076,2.758124606491398,8.444498035679782,0.520371130003191,2.9645550935528053,2.1669895568659547,8.932692846217233,2.703289929659427,0.5741768895445276,8.743565576635794,3.369985863600804,0.5739778813854246,4.442363251212182,1.7158007774618966,1.9192247966181353,8.437004634641825,3.9640858777851653,3.126504432693155,2.089134675059242,9.703134834002773,2.1238963070391037,8.954488714024665,7.221526872695312,0.6578961318068188,0.8393407663668173,9.350255946362468,5.191813618903658,5.687998710303326,6.783523239966776,1.7493903328385485,3.7184743511205562,9.016738497284601,2.082819212934922,3.4937586289797107,4.697750816051309,5.140161243344639,4.582046396918276,0.564619092520553,0.9947990644972071,4.491985948541211,2.903968826361064,1.143079571096841,6.3754819956506195,0.1553086822531491,4.417845569432396,4.407017281369217,4.9198057355318845,2.7040040274359454,3.4312709777311956,5.717621583655172,3.338384985380347,8.204822811454113,4.029188465415919,9.76973478638947,7.428384311545693,4.028864464082661,5.131463525104616,8.08358230286234,0.916090085935718,4.621861939816966,5.748337705503049,2.5433973845635913,3.878839712715658,7.532897559916516,7.601382337992364,3.7761307494143526,4.781148396166378,3.644056077660889,0.6915404921285528,2.368913119081327,2.156457865810105,0.6661996621398392,1.7036604040947634,9.861932307895637,3.550796070846091,4.493528445340233,8.901601715636012,4.667607822090005,5.7740467785483816,7.653765810655981,9.407377656670924,9.525702062819407,5.829300780082085,8.135781346761581,5.620394669710587,0.020623358658287128,4.120958809129429,6.575705512752882,5.860856397185604,4.881886473472155,8.006970032645658,0.7916761265824535,8.873803543596019,2.0982015072373428,7.44066574663827,8.811371399410437,9.507560346710674,9.684854776944805,0.4619604553768919,7.466256228291832,9.967738538547305,7.620051054989947,8.965344288579992,3.11312197132521,1.2428766499547805,5.811160097287043,8.349649966333505,1.581084108225792,8.206648969226485,5.7528118482934865,4.548826979296314,6.589405028912072,7.710295040721266,5.730732920620528,7.580865938422171,4.933317593825551,0.7371379857592175,1.2078090351151216,8.255378552324226,4.192301773873649,5.563260994513457,9.084555687767645,5.364413288534255,2.550831067328544,4.043595621156102,1.5911246347422237,1.1097347504546384,4.056307241419884,7.824485996999049,2.699345907932128,0.38315072611537104,1.4022235639879488,5.827369498276665,2.8024540324909566,5.272487871296125,1.1540744967218641,5.354228361350129,1.1152937171028954,8.422377467339007,3.3209602510032488,8.594714540532745,5.222811729715534,7.532904520939754,5.885531890205218,0.9842276719707732,5.524887910861244,3.4113037831498216,8.561287494210841,2.0944792447758354,5.389668251225147,8.77029511306926,7.763380522913716,7.803654077237914,5.1292219939422985,4.376558814768998,9.023689981482528,1.7483121097427845,8.027224536719201,7.348307433090499,6.842230809205947,9.488997633925088,0.988591135140019,1.613712000299542,3.488782068330022,0.9333688756104697,1.4298580058566457,8.64000239680394,2.7295769761355,0.7915284197401384,9.146681951938454,6.364687655209892,2.310965577988209,8.98382604362327,3.691418752871083,2.561689250903764,6.634259214264349,4.499505054073506,2.7058970491503698,8.85915706134645,4.776725448040747,9.93496353746406,3.6761085216127656,1.2363268609670863,0.5438312412922475,5.471748734809042,0.5642408863508552,0.11644258945384345,1.6844883903340913,3.4108095038895403,7.604102517993176,1.306370932473604,1.533668425919047,0.8068589418002603,7.5676524314582405,6.948246472774421,2.7908027132407662,7.2720847417342664,9.40195214085333,5.528846679941669,5.150629525358811,4.452172412908788,1.410129623956532,9.952624616314194,6.184697187394451,2.300846642955684,8.604369819359842,3.728643355878808,9.070178299160926,1.50800776474588,5.521554694490709,7.755147326258138,6.321868289990565,3.9083419011911302,4.945811882985599,1.9169101567500069,4.818807984883523,2.3754820597475423,2.1383256616945423,3.8255353110674886,2.7909509664776966,6.17350379659603,5.656966671086913,4.163481439782153,1.0810746503382407,6.266161589757186,2.4855629093295653,5.234337496063773,5.688086710103973,4.594093211635238,4.9790836475736935,2.6094361942328503,0.15837866408664025,2.99658227349348,9.371106331290337,3.2547627158002044,7.9756559073367885,4.181207929253537,1.561810604011834,4.977539488596378,0.40474898515482693,6.231231514618116,7.785365450480356,5.626876256398332,2.9307451923117265,5.89231286275384,1.025056303168117,6.37117533255669,9.947378574526002,9.783589261516155,1.2882375928831424,4.44116817865901,2.5033195683382345,7.464002750707016,4.822688324480463,0.37116656149822735,9.867782483522276,3.8221086179280217,7.6078043337835215,5.775699927220163,6.528992545553024,4.738658808737468,0.27261812529668417,1.6170764953895755,5.904569890658127,0.22138718316293549,9.939143077167609,5.81020064796563,7.741458969775344,7.065986800301596,2.5460800053045274,7.681030402458685,1.8652079383473419,1.1143165210834738,3.3157045165634127,4.5635978883581005,5.656733370921877,2.3909449688491966,1.379116603774193,9.024339267885166,4.012540112658625,0.5632796810465635,9.473452513776001,5.613211706337439,6.406739849805962,7.547762852329248,7.730415184823807,4.517077833196023,4.327329838570076,6.840918625673742,8.377133590257834,5.119816442875026,9.154280655402774,9.16069727575443,7.3412245894097,6.1777394391490095,7.6545348431878875,4.807057909985194,3.132903826513843,8.668967166951047,1.8856777142320724,3.9786445497081924,4.3364792458282455,3.0666701596028134,1.85667417802035,0.9915108924522864,2.410067812490132,6.350527317614852,8.685453321633574,7.916831869060355,6.240295769344007,0.7199550650251685,2.2848349543336735,9.748546002747933,9.094170761859923,7.411996343432094,1.6917547015178303,9.60559402620335,8.143969013606249,8.348627934130086,1.1782750190609204,7.459953927030839,0.47550592083345,1.8480763269381872,0.5717152493081712,0.05078195379867312,9.229869446349177,7.014881886992962,2.6170518196131622,7.833907251287904,6.763309653408643,4.681769062442015,6.186445200579213,9.270588548927929,2.32387132425822,1.458997650577002,4.9740807120456285,6.967787966867319,1.631693567764937,4.427337478386743,5.954161195969512,5.600327800732817,6.401742655242949,1.4991106334626725,1.893500262019272,1.8453881778852455,1.8103091045059294,8.01950184574632,6.2633586242938035,6.769087469230327,2.8146929297390724,6.344610760854616,3.5224473912767484,8.429356055809105,3.454596311303759,0.5544055867052744,0.38859369346838757,9.687158270253754,7.478571725183272,0.9803194205786314,8.816744768735807,9.286784986206003,6.690885389964283,4.31379254795406,9.51286646663795,7.554044368774373,6.428574687085453,8.749196232116066,6.69817514425656,8.003946922549217,6.7586487196183995,6.543700784651564,9.110054583682428,6.954401004578161,8.971571862974631,3.0785255853877946,1.5373815628394882,4.093485557542075,3.9622256290929947,2.7887126713312482,6.171312825216825,2.6170699617704463,8.229520653913637,5.667205218084547,7.402523693128433],"expected":[-1.9489278163555444,-10.402053493137908,-2.519887241389915,-32.72950900358264,-3.036599177465827,-7.277630519300107,-2.4459999188442683,-2.2634997276066775,-2.8657153431467743,-2.7846043917937613,-4.733442669770294,-46.01973680189724,-2.0584518451305716,-2.509014077826346,-2.9157177577310787,-2.1161900999182137,-20.849635707174635,-2.835102311301524,-2.5409923152419536,-2.556630593552053,-1.8765255337442843,-2.380591298576485,-2.162051338801941,-6.303793347628249,-579.6695567712497,-2.079540666296392,-4.510827900292152,-2.231894279570874,-2.1612485741225056,-3.4763995841428406,-1.8850851218244191,-3.347078559724734,-2.514435112314706,-2.8332899539196044,-2.4468049732578394,-2.6946832890633767,-7.609287608963564,-165.31901538807523,-13.84592613922506,-1.8822916741244047,-2.5790117637097074,-2.4364527135239302,-2.4576154843703573,-3.4284163586855563,-2.73381801099512,-2.2900346080473755,-2.8301906380090616,-2.677896710891861,-3.093129620786967,-2.4516721817235694,-2.7533224725175653,-2.2792008784200464,-5.134369957209793,-2.2754455483404272,-1.6956813594701852,-1.20323125030832,-2.250939996438455,-1.259674242013781,-1.8871178653564593,-3.102283030078609,-2.6603869865726555,-9.473409836550434,-1.9829299336329331,-2.92490374983018,-3.931041627108197,-5.945744940574036,-2.100764440784993,-1.9878824464246319,-2.4524945038466974,-2.360419659506274,-64.7654527462002,-3.23438419214497,-2.9071341882335853,-2.427666880671717,-35.31197839650807,-2.3844768669174052,-2.3867546466758283,-12.909803486520946,-1.3433957026952275,-44.162908643356666,-2.203739642162847,-1.9958445072394224,-2.977614473141375,-3.3053409889498377,-2.247782016451638,-2.533192431462256,-3.539565867129454,-0.8851318911602882,-4.987067415523804,-2.0734883247536278,-22.713884122179138,-2.9022320304707945,-4.169759345898791,-2.401350543983244,-1.9788106301856603,-5.778948389386207,-1.2464539646853412,-4.497792494288177,-2.6104872084617163,-2.242997415062703,-6.514301638301544,-2.5187792537392077,-1.9974995082829317,-3.5664843759750493,-2.912564350109739,-19.78110254590282,-13.454833477366664,-10.370549313712958,-2.106130666149866,-2.4384106050987002,-2.136216477920958,-1.3853419135522533,-3666.698191026988,-3.9517607325985598,-1.6213865972489172,-1.2569343083846976,-2.5788899522840327,-11.837125154091291,-2.5289535129552547,-30.804342829282014,-2.61798887353912,-2.3936041969139366,-10.509252072292368,-1.906596169693127,-2.2543450845402138,-2.443788228517289,-8.032199232767098,-6.164349620020332,-37.30843647225068,-2.6193078747752168,-2.6125976601151497,-2.8871631181742683,-2.6290444841487863,-2.7734945716786727,-3.4494370517248703,-12.75435330103035,-2.2645831283569864,-1.5033397431150046,-2.8941932375747603,-2.5063840023630632,-3.123475496297935,-0.9470921355460183,-765.5224297554818,-2.420102959613912,-1521.5656190284835,-1.3772232826350148,-2.951671347598018,-1.8527077948961281,-2.2639690599771973,-2.507956059012848,-2.9561255819464467,-2.270708127656499,-2.160906216882806,-3.6394974599981973,-2.394541943333852,-2.415422353867341,-2.5662383717743618,-2.65222423190996,-30.867227967044382,-1.7813709878710347,-2.20800213831218,-0.6893950981236115,-1.7947430154140909,-1.3009633462648953,-2.4885233575660677,-2.5236478526954302,-75.92954072957302,-3.979558690948134,-2.821176531400532,-4.369804127112479,-3.294845066820632,-2.129996911851893,-0.7807913727009633,-2.5401803149608257,-4.621625188379395,-4.153532894079192,-1.9130139685067156,-2.2971004404528856,-74.59769563802219,-2.5350929309393138,-2.7633871963863044,-1.579739749453565,-1.799132740654704,-2.4975731830464403,-1.8732735081321925,-2.3920300965912524,-2.4955704886445065,-2.265109606555318,-2.8094024208927744,-6.580840959785944,-6.823605128559113,-2.4002501251722017,-7.456611716531572,-1.8932695215625701,-0.43200185393898527,-2.4397581405996807,-4.636449315347247,-2.3427713712343805,-2.3272461591190527,-2.7378556315128684,-86374.28932227177,-3.558583073713459,-3.0020215252701856,-3.679679491136147,-5.984071965312075,-113.1937115717431,-2.336635947023831,-7.995826637023946,-2.499984973126293,-72.07433866111309,-3.6816542496059697,-2.288554160754127,-13.442650369852634,-3.661650954392994,-2.173467209726045,-2.9274949372827814,-2.7974950844395625,-1.7367761893077827,-2.9178665373273547,-28.051847881765287,-2.4532268330833946,-35.452744143358466,-0.5577307737725136,-2.5533031336671885,-2.6353967126306346,-2.209868305292254,-3.2159110233835135,-1.2422026117936293,-2.9689862914787417,-233.0463810936395,-2.7366663757662297,-2.8012379590950007,-3.0841917673037904,-50.89718248960848,-1.575106089017194,-13.289207528881644,-2.449576579542344,-9.186121941617083,-2.6515549420803293,-3.035032240792929,-33.3951932780953,-2.488346547413382,-13.056020770149752,-2.692877228968533,-8.39405460875667,-83.749592239662,-2.6835917223264616,-2.9102305466516825,-2.642829344524559,-2.0278988565166407,-5.655426521381361,-4.1827858399378215,-8.719864287983782,-2.2634922817895893,-2.341722106513528,-2.155818785207431,-2.1148393895616913,-25.65820745309581,-42.958380374777185,-2.91808279589884,-17.47337159508813,-7.064464714734618,-2.9042261911947342,-28.05702124415626,-2.036817500992006,-14.329897337687468,-2.6782710592151275,-2.5189021833816674,-2.9502688782774014,-2.111983195792863,-2.6310871105337377,-1.9757893142386482,-2.6988772176109013,-2.0182181251578375,-2.853778957813041,-2.8686473049403167,-3.083882642898452,-2.692260337058511,-12.618021411716773,-4.61563704188705,-2.1488462544993796,-1.8859093162909777,-2.593418589963408,-2.6636907572898942,-3.5560199755734985,-2.5520694587581936,-2.126438491581565,-41476.82165331188,-2.360437501405278,-2.4540852589897257,-2.7843778260585026,-2.771262396912773,-2.9906406117733995,-3.088309806871393,-2.1399834023176276,-2.6896012555723368,-6.984208087308717,-2.7506943313062213,-2.7908724056671117,-1.5102802170949747,-16.6029580522829,-3.219055855992085,-2.6561197602429623,-1.402707631165033,-2.607216490398512,-2.137759538817415,-2.6480176410268355,-4.739157655652617,-32.68032991068814,-5.609709460097659,-2.8128146558490665,-2.220748629481703,-5.630550551086845,-3.0353989910754664,-1.335997967121981,-2.314490089271284,-2.7503334823777292,-1.8164396764362394,-3.169261940233916,-2.291392396892821,-19.01768983878151,-14.587747743510624,-27.62939323081399,-16.551420025963544,-3.7757731342409784,-4.374540956858331,-4.073975119750597,-2.48734139546442,-1.9019997307989929,-2.2479616035706624,-1.9600116121673041,-18.77244829763421,-533.123186478623,-2.934288843633481,-2.521460491037848,-2.9157377959265176,-2.503314002293749,-2.0983987552563237,-2.454394061142424,-2.6636464229065604,-2.897872984136942,-4.193223180468853,-0.8232956270765285,-2.6671273203947106,-2.569788923771671,0.29561354234675496,-1.615569778305931,-2.571825925486518,-4.56861088632944,-3.0694299513195533,-461.6105254751599,-22.117466218326047,-2.5606430463367067,-2.0114795640337224,-2.3106114768378014,-2.378950935689812,-2.280895184579702,-2.5125501376820187,-2.6416318200717477,-3.1609286026963925,-3.030782716326198,-1.540572588496727,-3.277362777283252,-1.1020371021078441,-8.76716874830658,-2.4808669419683245,-4.265658311779591,-3.754821042695254,-1.8408046910948404,-2.500917411391741,-2.0344315262690635,-2.9047948486516173,-2.293337934273427,-2.7634511278762766,-3.090511180823138,-6.886225502025313,-1.9895873576060872,-2.403324020855184,-1.776735121504211,-1.8733412745719278,-34.37779775257034,-2.3097300070201574,-2.733559359687657,-2.868921435274869,-2.456913089334371,-2.254719936804289,-2.0603264725972057,-3.4503767325303674,-2.5657640841137432,-0.2587535097804886,-10.489297110818105,-2.3883343649396482,-1.9020865138533312,-3.4428553652763956,-2.650413878863562,-2.1755669358361747,-1.9143821844055973,-2.3546561257889516,-2.790067723352415,-8.480006059900727,-2.7124348244835987,-2.008645185343002,-5.37920212037997,-2.508278974264648,-3.583729682832228,-2.435741761855863,-2.500374977592352,-2.584536288301262,-2.8465945575098224,-105.20552885148606,-2.891574322128861,-2048.671097484484,-603.7842858888002,-5.7586605862464015,-2.1135795993808424,-3.111706619164482,-2.7060264186612075,-2.793693125947156,-2.5242875896525323,-2.2280596153480046,-2.5139806380336394,-18.96406068298384,-2.580210978369034,-2.9929545026793103,-3.3647829250715358,-2.5205234751730337,-2.240096671349912,-1.5845970709049406,-2.59913854587963,-2.4378531669266224,-2.139804265085097,-0.3363772228921774,-2.9328729000756297,-5.138571332715515,-1.3996918046461393,-695.1951762705414,-1.232576960785769,-1.4617637586124936,-2.759031888923923,-2.509733535649905,-2.25284258099396,-3.8632115712686277,-56.06314324207066,-3.349068449305575,-2.0210356465067933,-2.7685110686505805,-2.607655579402408,-2.264875935269256,-3.0494734342955234,-3.098148996939311,-32.183081297437475,-5.103824578087957,-1183.5412328037905,-3.136920662422879,-4.34985216927512,-2.357740381759406,-6.02572080715838,-2.4567645324102285,-1.7366726816924576,-1.7502934727687158,-3.1055622397337586,-76.97572136088252,-2.5026135952312165,-145.9895303737272,-2.7582663182820655,-2.0279795577668276,-2.170772963172467,-3.7305848962110932,-7.752463070853519,-22.352627211898227,-12.676858986690972,-2.9732196302123675,-2.6224255881670517,-2.9684973063286697,0.23771503646137082,-3.1271621055608536,-2.5012125693238367,-7.394089644771773,-2.9599777512390277,-2.048360683776777,-2.685951376083098,-2.7267267185471202,-3.005352744545438,-2.8257953524281882,-2.7215612169395933,-3.1020291334251793,-2.4732261059259857,-16.68997183748001,-2.542361668562363,-2.1751252383171873,-2.6195175561163153,-2.6304605357938815,-2.123194688798987,-2.061436288189923,-2.551667011061757,-3.1089954483501745,-3.9835226996971222,-1.9304874206195515,-3.87972239938958,-2.841331254427165,-32.69102468779453,-2.5781562278975843,-1.9453523993834718,-2.0744605638663196,-2.567963919414615,-2.2005794889291934,-2.9294006992901567,-1.846947083719459,-2.566445231573355,-9.171210467620226,-2.679469024861353,-2.59099790296032,-3.1443362374745023,-2.35293252304212,-3.897044688490104,-2.490094645146939,-5.5641623419480135,-2.7896245279008953,-2.5469054433267155,-3.7051236325730823,-1.9775263790714317,-2.0209681802540214,-3.945559749464044,-13.233964294848505,-2.1589726409072965,-2.276658039066232,-4.539744675844117,-3.1183161609283463,-2.4778609181586115,-1.7380749603692385,-2.577797619026555,-2.5617703370113953,-5.318782835126482,-2.7679733263775006,-2.8767430817890816,-26.230970675218497,-2.4420328825087294,-2.3674790223403535,-2.7017198705208623,-4.42918653752505,-931.999926676345,-4.6972861220488165,-4.307939663831402,-2.408883955785095,-2.2229384416543265,-2.9633140319128257,-24.16747127510304,-1.9646655445194767,-3.2958564435703286,-25.754285995127113,-4.230721707531715,-5.209954419346834,-369683.39808301,-9.605880959177915,-2.125716506710928,-12.003212927305029,-60.33855577448319,-3.6550680758771126,-1.8931953931723777,-2.203425975135354,-2.689339755355854,-1.1465948370602126,-2.4143450395121606,-2.9545673331285798,-2.5171068572290136,-0.6679555133838512,-2.490457076414631,-2.5610512253059365,-2.784240515971966,-2.4906503268221156,-2.86129736511537,-2.2444734188637883,-3.0060704490592363,-2.307552124167966,-2.7392550986954776,-6.7383836249783835,-2.816926998524615,-3.227035429916414,-5.123243763858676,-13.061599556527552,-3.27223148683417,-1.0531095557464205,-2.5769197942928073,-2.421520791694551,-2.3147169845316604,-2.556077048018793,-2.3055692370799292,-85.41885737890932,-2.754209567638216,-2.4809078493898618,-2.4975977960231974,-39.99621911381446,-3.1371410522351315,-2.2856055016443593,-1.2200449734335739,-1.7414794145433459,-2.4732730901959767,-2.3611202465954286,-2.392825807987389,-2.1235960812605823,-5.338000405626182,-51.98516086583969,-1.7542348214707442,-2.485142502267613,-2.449383634729293,-2.5414045804540164,-2.3091588790335065,-2.268873061831364,-2.073071730687257,-2.8850285006077327,-2.1700685550777834,-2.3312713965021983,-3.0099314853492416,-2.5083466175271933,-2.8859523086836596,-162.9779967376686,-2.4089685691378113,-2.6700044389655737,-2.771430868484665,-50.096147114100646,-1.6242337657422259,-1.9508047675816296,-2.740758121008219,-1.2518190446014508,-36.60371736373151,-2.3944897660703304,-2.3095932131912376,-53.023542920002235,-1.7355103933509652,-5.875953857551702,-5.632621667377102,-2.8909342201026216,-2.063298925236497,-5.611229764702949,-4.932767622555565,-2.5422600902164527,-1.0331695563833692,-2.5160784691992433,-2.223294358274892,-10.103704930735235,-6.496041332563461,-2.6462042435713826,-2.001420341470879,-2.149196679149177,-2.5477754638232115,-0.8025807730219389,-2.336410345388268,-2.4819825792645545,-1.0298586404902483,-3.327324192081762,-3.6356432807264047,-2.0462850777755826,-3.415792279972794,-117.73746571111177,-44.40486874428032,-1.8442969779111449,-4.129702279245251,-31.451233533907878,-2.0935451398178158,-281.71097836977145,-2.546714057024707,-3.7458433543094394,-1.9377569014603346,-3.6108160425615763,-1.505330171977437,-2.37397732867627,-1.9681029385249555,-2.3454130312449135,-1.6226507769527343,-2.8553909581980546,-2.853445909615374,-2.9985025452457412,-1.9456040407621487,-2.7851176285704833,-0.3012435288023818,-2.2830454032877467,-1.9904475032763855,-1.1784770990560984,-2.0259656509959285,-2.3943196795276798,-2.6197030092774156,-4.467988349750085,-1.9469700275780712,-2.3249854738898157,-22.328859634685283,-8.19819027782721,-6.562788566487113,-37.18996217599292,-16.193504937961812,-2.5233012494347333,-1.9786115839295761,-1.9084441119110371,-2.511635500826335,-1.8441067305157497,-2.0335118607523306,-2.822795770299995,-2.561613171932634,-2.7743600550325844,-2.3045235725828066,-2.328553960938281,-2.7314653541163416,-26130.52582433044,-2.3680977997080666,-2.296882528779303,-1.9950625630366985,-2.6417776929360715,-2.319606640349074,-6.263287345608937,-2.424328892199462,-1.2241517866773597,-2.6588801880949626,-2.533663213965125,-2.862690562117571,-2.7037351306440107,-181.11001420520572,-3.0154278935886096,-2.564878159812088,-2.345130598472126,-2.974005831722568,-5.918551253745347,-19.187433928354253,-2.290096641853623,-3.0300755324699065,-0.696736558685659,-2.4536140743341144,-2.3866982004832247,-3.8989546161988677,-2.939394022867593,-2.668717517171201,-2.8805836701058927,-2.378655321509065,-3.838465839150854,-34.65944331705719,-2.1981873355109394,-2.860837420430225,-1.6873756142899117,-1.9425904149609474,-2.9683175087087506,-1.9831822388034106,-7.384878906416473,-4.59283885298951,-1.2531681657982472,-4.917976005149182,-4.413591488487147,-2.7903378970393318,-3.7749904846946993,-220.12752274988026,-9.557458635241769,-2.542513450604356,-5.144625063407468,-2.485584834507841,-1.2265670063875924,-1.9807800406683618,-0.49863493509950463,-2.681938262128959,-1.9483951220195346,-2.693218516918196,-3.044391682896304,-2.286766500960719,-2.421793995800451,-9.578191348283738,-2.3517818568944557,-1.926320807757329,-2.5911193842784757,-0.9651340298226022,-2.9481007374183736,-3.0124375639782386,-2.2780981203394504,-2.779052191302852,-3.607602214370207,-1.8692607657411378,-2.4719624995675034,-1.239298322237957,-2.9213934965232,-2.2242305298585046,-3.159569533723631,-2.9392354752692977,-33.5582184201755,-5.72514330196095,-4.149817978754472,-6.814106393267416,-3.737654656741925,-2.812431069695406,-1.2468220082194001,-21.04112779585802,-2.944257453178106,-2.249259211801089,-1.0833335211480852,-2.429961503453608,-4.3880830209912185,-8.420481002765762,-2.8678855248920767,-2.343153233598966,-1.7939311116170678,-2.4085589141646153,-2.611619375839607,-2.7862192437766735,-4.6738649065201745,-13.086185577434136,-12.200039163929793,-2.1464309163525055,-143.422052003194,-1163.6339281832454,-3.495796224561593,-1.6389161994641874,-2.3063942950118683,-1.0387707150646333,-3.762352360418409,-36.971381308727516,-2.443372481829105,-2.2822822242590806,-3.2833227971057743,-2.2624395252422556,-2.7169690842356795,-2.125816390371086,-1.9482157167110974,-2.232763774728304,-6.735119580983652,-2.775545687834101,-2.834649645118729,-1.1993260525009153,-3.03734569183925,-1.6948324947332027,-2.4479080039541685,-1.985613530200499,-2.3441878020521676,-3.0295119550922327,-2.0983929396348486,-1.636910085031987,-2.05195134739475,-12.011656193780702,-1.9633873220044844,-2.570034939053711,-8.822446138511,-1.6266162510359408,-1.6235980794534983,-2.3495661067702085,-2.2161453930358306,-2.4890909767686202,-15.783528855475721,-2.2305662387334886,-2.26047865431378,-2.2984819406321892,-2.0750517504679795,-2.062484524480233,-2.055063288153862,-1.9640538254562903,-909.2222603278082,-5.175797615294026,-2.4957214214775867,-1.6526426736801474,-2.890917486129841,-2.0622113606244197,-18.003307089183156,-2.12890887768816,-152.8343030504708,-2.0627255972179297,-2.3108805406242645,-2.065118164892195,-1.8381925591567594,-2.360611895347456,-41.248776407180976,-2.0831332645995824,-2.579528314546153,-2.5125059232656963,-22.274924442969787,-2.4853385261211347,-1.3211684796111873,-2.244872714662148,-3.3843656104393496,-236.76756894669845,-2.9162358643295594,-2.2730700993753943,-2.6191166734608053,-1.9796810100992888,-3.0863177354882025,-2.7855809764421107,-25.34914579663214,-10.039878805511249,-2.2936115222618674,-572.4697595454962,-3.0163123781404764,-2.0790740305481217,-2.427324386804158,-2.4742897645320956,-5.3725613984172025,-2.2645607152452047,-1.261176772240833,-8.754577917225138,-3.1113554498214517,-1.8916618901261302,-2.631953080270523,-9.289007455386558,-12.814654824503327,-2.9387298796429726,-3.290263917934625,-42.133019224376326,-2.9682977449247816,-2.529982800066141,-2.515095231976229,-2.459801747086728,-2.78278500650315,-2.2976462675821328,-2.995694571356246,-2.812765869471013,-2.8693836602903495,-1.9269573585221864,-2.699994975197411,-2.7073505274758802,-2.2650008961312973,-3.003616756809323,-2.828042277383261,-3.0701946247026113,-6.138131108607075,-2.492792813071176,-4.825684115732731,-2.387464153798751,-4.263789173170173,-5.477299207004557,-2.7402697870465516,-28.099509211899786,-1.5639765522446498,-2.1331647088944394,-2.5241477256008125,-2.653933369995994,-2.1395651816146284,-1.3744339005256627,-3.636366598026565,-2.9021146616506464,-2.434375133629153,-2.475263943508701,-10.620055194430684,-2.9571578869206236,-2.3552816782055053,-2.5732030873604463,-0.40369435477465354,-2.9371067517177156,-99.3293037708909,-0.858461211426696,-5.62177004442949,-14983.16295600085,-2.820429692210417,-2.9982582978478063,-2.0238263266772263,-2.3609706931451258,-2.1423733615405647,-2.1950951094517213,-3.2698008793171773,-2.497851454475119,-2.688151535427195,-8.960681014472144,-2.1079839355422476,-2.5784293875774895,-6.167119072788072,-2.6716450299417804,-2.106062496124469,-2.0011374880081476,-2.1951729636221637,-11.698741960934063,-10.674760547366333,-13.639868607099265,-0.8229588748670423,-2.338645802842121,-2.4656669951748924,-2.5095011331025034,-1.2620108174129285,-2.9822085820091186,-1.7354343449299758,-2.6856420973958537,-4.299396029717723,-14.822564496666752,-80.96303439211093,-2.6997048933742382,-2.7403857296600975,-32.472798474308895,-2.697608630067989,-2.499327271530432,-2.149805180891751,-3.175072817413926,-2.5679787552270703,-2.8857790362241302,-2.4305059582130726,-2.975221882462395,-2.627854766251474,-2.6181108125787085,-2.1874028078509196,-2.105641704072131,-2.477211376988427,-2.4366676291032388,-2.508269839397699,-4.894970005832492,-1.7541764955649337,-1.6707235008808992,-2.000281951590477,-5.891908573772284,-2.1761595620948517,-3.397190999892387,-2.402814753882997,-2.0185012462853757,-2.2599302979054374],"x":[1.800825901851827,3.891427122796325,5.977057068463855,9.54377960531983,9.718999942929644,4.921214512468309,0.24664555606182414,3.7181626740097506,5.454488176719213,7.767437933963617,5.918166603801193,6.052964170201146,3.7692867158170387,5.537984683887489,6.94920631132465,2.009128612433928,8.790117962402375,8.23873726055737,6.008971634913368,3.473386089763694,1.5557432231529444,4.1108184985359,1.8370809554832002,7.114478780041624,5.428125382854374,1.2035881361651601,6.781963381923349,1.3536798205046685,3.357625657054397,7.288451352704396,0.26432378642224585,7.162225650843041,2.6767305429984125,6.6284955077857655,0.3677857383487637,6.019625424657406,1.2595996360395267,9.271108422043174,5.453037126061454,2.9969903010278767,5.653429743402664,5.3561328365867205,0.5942248527765726,9.764943595864473,7.300082834513185,3.802115424289001,7.829638374369283,6.468621245972064,9.968169307970683,0.6018004019758416,7.537378732033653,3.399975945035514,2.4613704109068077,1.316874151981512,0.04452986126416092,0.4647969564743193,1.462039549861156,1.580048012623334,1.9710691542015302,7.698143109447377,5.190739401757858,9.192646431987981,3.494895997111173,9.01700633454405,5.521754789421143,4.265893921974223,2.3655786011362356,1.7374998250156581,5.618385514166326,1.9261449201963454,3.9645272559389886,9.402379170128691,8.856525697032122,1.7352420253254153,9.278391574867408,3.997367576435069,4.926643004431445,4.90841699794129,0.419778435561744,4.76918309559402,4.383824141499845,2.677312892786862,9.504915622911051,7.166123690197734,3.5620642115202172,5.905910729255073,9.358534157330192,1.1486168175969014,5.117276430409677,3.4401993932659716,9.724017312758104,8.732955803322945,9.19249553476887,2.828913379555622,0.24532954164469767,7.864387302473773,0.23848299414836904,5.903761143808789,6.355565201111507,1.7362194883554938,9.16342990388571,2.2700842527804763,2.177916643422093,5.4168333573850935,8.132817996092363,7.944895640778373,6.46743584752942,9.51677671436813,3.967518996672524,2.342891196742415,3.9251010649055598,1.3353680695625714,9.235594181142865,8.230526556021385,2.194758499532724,1.1440562118471886,3.248145648680394,1.6546428096118493,5.513602080445944,1.0823876066112004,6.453701155478501,4.641899528219707,7.31106394724333,0.8374048844309423,4.268430017661469,4.104737698608224,6.0054423479996615,7.9339786702535795,4.425672501733564,6.25828429353761,5.18931952405376,8.658730321068411,4.671579935719573,6.9404149795331005,5.571985899235975,6.101427964557246,2.243010241411704,1.8559006918391108,1.6156310201484514,4.945015552579789,5.075532904314931,0.5083623621725353,5.394939345267669,2.6277245945171224,8.465624798921969,0.9141565846531252,9.104390492045994,3.00986102608102,0.3851649233191501,5.8972971955219124,9.262203848012389,0.725832514965804,1.3477978653547185,6.821071402903449,3.6115860708275926,5.405758878118347,4.416950200656967,6.669788485395271,7.3010768329985805,1.4438139743342049,0.16506059052352362,0.9568421334172794,0.034909189457957845,1.7195720754551325,5.765805327563988,6.036151083405979,5.231724810432824,8.612229052198586,7.725752951943018,7.842860001474121,8.537354516905026,0.5837904517193093,0.2114563792528712,2.826695376686794,9.666445082879195,5.330457782459791,1.791748784994056,2.8511437453221955,3.042627940741548,4.453076548544706,7.599744704061996,1.4516581578265464,2.895450204691261,3.315073287176944,3.1491555055116196,1.7099166288482037,2.3443380776357436,4.539941168598846,7.682322686153836,8.653459397332163,7.470883763197081,2.1176767512835157,2.4313090137883133,2.247396616071178,0.4681208814820026,2.784885617288232,9.995909124593025,4.518405827706474,1.166085271276306,6.651164695139748,7.94997808244235,2.8190549024990466,6.856648233255122,8.806738023429366,3.487649942638299,7.195979440991932,4.620003899353325,7.636743509038151,5.640839332187866,7.443623305670657,8.028649795315385,0.4535985017953459,4.656994108835361,5.862100531148425,2.4042479884110235,8.9754839165233,7.696696994585936,2.35830769326844,6.916721672598646,7.412459941569106,1.361238248082306,5.032111805305575,0.14749219691444493,5.252041541645839,6.742797697187162,0.5852645854219629,8.107442499614297,0.8116398411768544,9.41749608328257,6.572924377086629,6.896589335633268,7.109695158324723,7.349622985077177,7.199794564019067,2.1533620767344464,2.1321152861405324,5.053794196569861,8.826857722972777,6.797688447317763,8.814745971358938,2.1297182206401812,3.6287964852732113,6.0652070324341345,7.1415546707027815,3.817958467845979,6.6464960949326475,6.967463323519962,8.540978030728684,6.428868739845905,2.8880077285963814,7.644688663535277,6.777150766876448,6.5129015653117985,2.257149562637968,5.031537518490969,0.5944453578431641,2.990748308587954,8.227903535529894,1.4201381282618397,8.934509329002946,1.988545672142199,5.728635119089226,8.67337802082773,8.234399437060118,1.0913466391198579,8.611923178717985,4.825091987387557,1.5447118741476407,9.201152972577313,2.6401723776491304,5.957569807787437,3.277609397578013,6.914912589560805,3.149017560402662,8.397222956329479,0.8347794087144011,9.946082398032146,6.958916054216689,8.060501156364234,6.830345305180121,0.6223371266250277,2.6397912836482984,5.582692153182949,5.818292976667926,7.3372041202214175,6.045863069615259,0.02905699728213862,7.3091444305763895,1.222831700177468,5.6216204678588975,7.832251779157598,7.660235945573005,7.9681580867670085,8.981910941464143,1.309986601592814,5.773904268971943,6.154284843097218,4.002000816553538,7.7978498297021765,1.2961034622084844,6.364486582520548,9.033207505762263,5.366617037241986,0.22981640238995626,6.41776321180131,2.6398734690047574,5.173639422529957,5.665542431753673,5.993763350598962,5.575651704322899,7.741336304250014,1.344820135904603,3.2920992148657744,9.87753915157486,1.7282040572382795,2.960557842524069,7.245596887612969,1.4155435200847932,9.76276836034048,4.374449767724799,6.000350962167001,9.72671275405103,6.686429303464417,8.720830949985915,8.378774165734995,7.948992207316427,4.3910867959372935,5.730773297407796,0.15317787889082446,4.1472448139976335,0.873753150732669,7.963808736031304,5.380620731246708,8.187456631903391,0.6356776168610012,8.839865161001374,0.21598884246234573,3.450581538348584,5.51534465710812,6.297111147454121,4.000032456508382,8.487533883144932,0.2172056716617521,6.960861723325172,3.8331183427838678,0.25675067488943215,0.5243634627506344,5.778912124698832,9.818626125173743,7.185951203070399,7.856091663394199,9.281785953905269,5.233792590917562,2.7677687937737936,1.3326307751819544,5.216769113072451,4.409202586745852,5.897334898302642,6.781735161529942,9.34407639320928,9.985875842375695,2.0843253590271837,5.614298672220125,0.1554749203661876,9.696686275032636,5.777181236944696,7.992043764278072,7.735798045965776,2.2939313110491986,1.2222487752761613,3.6568995930085713,8.751580654411498,2.963216546991937,7.30309924105209,7.616595289430287,9.138609517811974,3.404014099546097,2.921515914001956,1.744838286080257,3.0995280016967164,8.893810015196554,4.861058852566698,7.409036668976105,6.650769979801167,1.3469071193238569,4.613173207658281,2.336721770255268,6.692247065807272,3.482793035200066,0.5591268687031203,3.887855184954989,1.409291578881573,2.6233647798037554,9.304491852470312,6.851903682152639,3.4307629984790577,1.1553610481367427,4.989448545923648,6.594886376211443,6.48685594873002,7.195288685462252,3.296116944901782,6.788125860577741,5.512436225705657,7.7313251042354905,1.010104204187412,5.865743922511718,5.338757703018814,8.250892042839862,6.946892528887226,7.809070051743473,9.689805590051304,8.0458264182091,7.629524469088333,2.297054520371354,9.77409639974356,7.2257251336839925,7.875603993153323,3.737026901973578,1.4147600946084815,3.6887014097098128,8.177333028513702,6.387578175973787,8.644651063292885,9.40538018173433,4.188930508125283,3.533231683702761,0.4000880741704549,3.878631873050291,2.4711569754029936,3.6325780645657026,0.6539948067942125,9.088982517237177,6.0362901754694125,0.9644377589025355,9.892577491694182,1.5825977701428495,0.4461604135490005,7.544639398258463,5.365560716420834,4.576625716823819,6.276365849701158,9.216686788351241,3.9782891886966185,2.4115276637897476,5.7945445079162905,5.575921350942769,1.6713991173898757,9.924384349570966,8.829598804759884,9.139448499981258,2.690867123306541,9.765500728678326,7.683575261936123,7.606693701855411,4.851465820070349,1.8514276408591201,4.995627061542587,0.9574005871516378,2.7605052336092317,9.701353547868958,8.40093844337948,2.230121219377711,4.515167415268401,6.963770545487515,2.47754571680066,3.8655924922675555,8.368030650016609,8.371234662368867,7.388724211449049,8.279448706438119,7.000344866597226,5.186816985400133,9.340510239313984,0.2430826624208926,7.8272562595204445,5.331576903906917,3.6979308008102363,9.040241489320797,3.7318108777145387,6.518929503682892,4.803145369838298,9.582588223380048,8.113684208053344,6.760384422567779,5.875183366436534,5.080856179249046,9.213408851184306,4.477777612409055,4.1301133987918135,6.5295832301698296,6.444990045581318,0.540183697988974,1.6370331028217244,5.053378086893856,9.738327536198746,8.416266035720637,3.3299354772855483,6.513973540228354,8.041519155697843,9.992105191704884,5.990746139700756,3.372784005088575,3.813021227664668,4.596767297965143,0.6386878414266683,8.872738007963616,0.9794974902789633,4.4515204536383965,5.308564077324189,6.917516039149243,4.972070654772537,9.67623830293075,3.945408086011276,8.786243841961895,2.1083931317545823,6.29917878553087,7.411182612380034,4.0510021488386885,7.489985480028536,2.2416143957172863,2.843929024654057,7.347911232209557,8.151477675523486,0.5058592247606097,2.8606160373817335,4.329736778868034,9.035241197578626,2.7203388752519375,2.6348494738331674,3.390225086185649,2.88359214332588,5.896209569084836,2.8782515058956104,7.404821468269459,5.469393134725538,0.48608409947098474,4.8436519916594145,7.122405718171709,9.465007628386672,7.009727613982645,7.096300899406379,8.62584816066662,4.151763334086378,4.21001515291543,8.139894934581847,8.076684601070006,1.22449315835095,5.050418241834449,7.159288160108518,6.7857477934273644,8.729172182211627,8.39656316738603,3.3329521017757857,2.3334799898455105,7.466284122445566,8.670980879530113,7.86278964418312,2.7025764897007507,2.6095060576541975,6.361135524619926,0.3985657068186166,1.602590420449509,7.4746857025978155,1.6998490240525976,0.8547208668411732,0.40720353685675725,4.171353268461143,7.318344484992582,5.741966730905801,7.523029656256116,0.25678991959498854,9.74377476069044,2.455930354153273,6.690403733525412,8.55671872368221,6.9749609078324335,5.312697310320543,8.14682975561518,5.700366958792015,9.694029517480569,0.20410857890644563,5.550137708741968,3.6196130744848167,2.575934801934862,4.824263386571435,2.099572318745296,6.114173994911215,7.169622982853206,3.8652951138617295,5.881195357372832,8.932674310225913,9.204158083259458,0.500163157939395,1.0272797148699842,0.7599496228696367,4.640462142424821,4.139584883602424,0.4720341857931898,3.8458475575750484,9.768245558120176,2.227818351461659,2.769125333392368,1.912693579901228,4.100569476895854,5.934692274232419,3.1072243920984444,2.7696949054740525,0.48111172413897285,8.531822137656572,4.220574903608075,4.972555098818919,5.800394014989977,4.214330843671532,8.625557831018016,8.191907520339802,5.030156710872115,4.663860878212538,7.66660352066933,5.230885355202672,2.3407427344380984,2.9896203094098417,7.204524056384907,0.6791465798626928,4.934765190976243,0.24115325705203472,4.442488414376769,5.929106277824082,0.855256853621047,5.4853496666315955,5.918504022518421,8.707017584409437,3.8031775081948807,9.11044596657731,5.886932652002306,2.879060089603529,0.6987968813807532,3.966993688871052,1.4599847471278882,2.9855181185460813,3.013546270500931,5.6876796712848146,2.6324687173189796,3.4603127103838185,6.123891061760832,0.32748731295075273,4.695611699042636,3.0472986180408146,0.7812372563777226,6.721386362370827,9.067433279169672,3.113166788012861,8.3686162663389,8.67690331877036,9.351565405582647,2.165591191732231,6.9183149946104745,9.013922262891663,1.1150385133743035,3.697178735269656,5.710039523195371,8.894871741933079,2.3970766182229997,5.912181034273965,1.047612370603832,5.143527785655361,3.4591353326513152,1.4163506065597486,0.32705704694429794,8.177568988295594,8.287534986741084,6.691376576603898,2.108548048025738,7.833080073026916,0.5232033384342882,4.742563723948424,1.0200807846424886,0.498207417675669,3.6578023347324997,4.11559025029972,6.49979566430577,9.115265399203361,2.674862659689128,4.626937523243035,4.6360971406510245,8.933012547782855,7.196581782976871,5.759475182302567,9.465649576814686,1.3103961010126586,3.4994654733905595,2.6962258146867493,3.973205163086898,1.8396377886935888,1.9036380788136043,8.113039617628855,4.086042926931084,7.311559043527682,4.632993611870548,0.9269668554431676,7.016594501811938,4.714969011749498,4.96646695782542,4.029027671184412,0.2588713953626198,6.29159309505678,1.315819337314622,2.8037182683308215,1.5590656784278167,1.5050991341523023,6.869056494151538,4.524427195802154,8.340812072343207,6.237234093369482,8.805322530521508,9.32082380858039,2.8098797011037666,3.2068770262742587,9.444282520321988,9.398467105399877,7.609859592388347,4.5351260359280055,9.752052036326209,0.25331365420766194,4.0683471466537435,5.21712541270394,9.450824635183523,8.48033443204385,6.899483840154675,7.726715066602998,3.8241923871118546,9.907651339269925,6.144267941595782,2.281185173590062,8.452646052426914,0.9979849734365442,0.1950502120582953,9.405480197861149,2.113386513212302,8.998808765519726,9.854953822420239,1.688296051333844,3.3616221741520915,9.577571250811047,7.881308417077143,6.10337527821537,8.052750159647548,5.9470177825335035,6.134846928958648,7.81511752996725,5.762668359606174,1.5113326494658186,2.1025433904458,0.6382088162133004,6.792998688846808,3.394371638638811,6.835686551784392,7.9742071057228445,2.1752872175268823,5.416643532235557,4.260307220914798,5.043877993922434,3.319445376998206,5.654047514247278,0.018193109031335863,7.764959789951651,9.728908215110637,0.5901082309318573,7.793258485628276,9.58727434328119,2.53089744851849,2.746459261555679,1.6675198095346666,8.886418999566676,0.6547149528006291,9.727834956772805,9.134225037901887,8.073092281861797,5.113616197850957,8.068782773509344,3.405778445240034,3.5913571134288027,8.014615035846559,0.5015891949147189,5.1356869591168195,9.192983396008024,3.7406033449672793,0.4607665756501489,1.1880610791140722,8.82284728631742,9.757327907948024,8.124446988582882,4.983674539964854,2.895957858580994,0.45449137552344254,6.12491982060447,7.224128452656049,9.22141960505493,6.2181832125968475,2.7282083405361934,3.6381270370399896,9.567786463274798,5.622039457705218,3.9494287768441727,2.0812936925392544,2.450245158687243,1.3647998570527364,3.8242805499071375,6.937128658619509,4.710196173773701,3.3754685766743875,5.624976485349693,2.358783671406467,6.651645446378471,3.4086207518637623,2.102383489335964,4.51222902204314,4.951802881660408,7.064513424732039,7.758185554899361,1.2186129188794126,9.88030570843977,2.0625612540866314,1.6785824540271332,2.4770217699134642,4.9983764079339155,9.531980315527624,1.5116222166502913,1.2110250064208627,3.3370038981859143,9.04617108336421,2.7687763484045047,4.085612577299904,8.465518497972207,1.3155224473330474,2.4054835152270115,4.809854430670964,4.05937098017013,5.386676229595451,6.0152419500775,3.6495849279772674,3.726998843258965,4.782765746871762,2.678677733500029,3.6285879096530005,3.3328341170848663,3.257363062938631,6.759779632863671,8.317914203506376,2.3817697912730673,2.286372682889495,8.654466823978371,3.766893942331615,9.195250607129662,3.843884266635269,7.092075423442146,0.7560236079839266,1.9953465134230164,2.660416169411768,3.037656200345423,5.0079248229138695,9.282080100438131,0.6717254841185516,3.3417242382778167,1.0724664828873542,8.505462835975566,5.506438664948675,1.492614441433594,1.0008183977768803,8.587209931192554,8.08994763386045,8.838904490875743,4.543252531737268,6.492544206872787,0.12393119804199548,9.16049871515871,6.7149837753153,1.981805809332814,6.986619211379295,4.512988812607093,7.499451602956223,9.87973037789271,2.514784421517885,4.30946748141686,5.410956555937143,7.3899638791815025,0.04298283430475336,1.6931586283675915,4.572920765564877,6.090244270690196,2.480845138001037,6.564322331085971,9.677585636848633,6.831130906422866,9.141020805850038,7.344259666041958,5.192033744804697,9.41656393318621,6.040756796579922,5.95484561346926,4.9235392481246265,7.8213396370294666,4.797424293847602,6.9908881610881055,7.883709768158161,8.527300725785077,1.8887532106646576,6.601017422593668,6.689653704059295,2.219524940431853,8.546174019505816,8.150930718430761,7.674202713550008,9.676950584990301,4.0149917642228905,5.310522082539553,4.971655406615508,9.833266768402671,8.814653028944642,3.615218417440904,7.404169340907092,2.3079600496588117,2.178434607711499,4.5415334092250035,6.709727831445339,2.5386003138531654,1.2374890524682414,5.1944519993372085,8.710697218118472,0.3964366604148173,5.202912862867466,7.515846628219637,9.303263474815802,2.067114226966024,5.604342941231984,0.19611453401937817,8.837864819063737,6.719519124661611,0.3557206959199677,1.9730543350303409,8.791562559021775,7.963333618010143,9.00768234844582,3.3839735896274457,3.0686114603099446,0.681024979999274,4.319564211518184,9.670064475771788,2.787758145561491,4.181839492876848,5.964834925552113,3.7086234158288,6.319904491023543,5.387905156483782,6.128481977526131,2.611438459299904,1.8150765818789305,3.040812502065747,7.05317727541602,8.387390628571985,9.33751377777275,0.15509427573527468,1.9961358216255987,5.638129735504396,5.83355145556823,0.14713564388065592,8.553756489592844,2.493171057633743,6.828614659195736,8.224405067934619,3.0554369688885674,4.966782714146877,6.1741849621803455,7.497636845302319,7.875191397797834,6.774158663150111,2.7842858884472896,1.443359606992748,7.440420598190144,4.025688532256061,8.532423266206887,5.331934082615288,9.426979350251091,6.699704101764357,6.326507942089211,2.1540584047686586,0.3397027612630321,2.6416431879301228,5.124611032430719,3.772705244535927,8.196892047806594,2.278547252385726,1.0912855777475594,3.533650918122222,8.4957728899268,3.1522860353682214,5.5012582138496775,3.063673410609191,1.9304102280018354,1.8819877728922452]}
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/runner.jl
new file mode 100644
index 000000000000..3d8546799fc5
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/fixtures/julia/runner.jl
@@ -0,0 +1,74 @@
+#!/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 Distributions: logpdf, Normal, Truncated
+import JSON
+
+"""
+ gen( x, sigma, name )
+
+Generate fixture data and write to file.
+
+# Arguments
+
+* `x`: input value
+* `sigma`: scale parameter
+* `name::AbstractString`: output filename
+
+# Examples
+
+``` julia
+julia> x = rand( 1000 ) .* 10.0;
+julia> sigma = rand( 1000 ) .* 10.0;
+julia> gen( x, sigma, "data.json" );
+```
+"""
+function gen( x, sigma, name )
+ z = Array{Float64}( undef, length(x) );
+ for i in eachindex(x)
+ d = Truncated( Normal( 0.0, sigma[i] ), 0.0, Inf );
+ z[ i ] = logpdf( d, x[i] );
+ end
+
+ # Store data to be written to file as a collection:
+ data = Dict([
+ ("x", x),
+ ("sigma", sigma),
+ ("expected", z)
+ ]);
+
+ # 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 );
+
+# Generate a single fixture file:
+x = rand( 1000 ) .* 10.0;
+sigma = rand( 1000 ) .* 10.0 .+ 1e-80; # Ensure sigma is positive
+gen( x, sigma, "data.json" );
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.factory.js
new file mode 100644
index 000000000000..65a64175e49c
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.factory.js
@@ -0,0 +1,118 @@
+/**
+* @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 isnan = require( '@stdlib/math/base/assert/is-nan' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var NINF = require( '@stdlib/constants/float64/ninf' );
+var EPS = require( '@stdlib/constants/float64/eps' );
+var factory = require( './../lib/factory.js' );
+
+
+// FIXTURES //
+
+var data = require( './fixtures/julia/data.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof factory, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function returns a function', function test( t ) {
+ var logpdf = factory( 1.0 );
+ t.strictEqual( typeof logpdf, 'function', 'returns expected value' );
+ t.end();
+});
+
+tape( 'if provided `NaN` for `sigma`, the created function returns `NaN`', function test( t ) {
+ var logpdf;
+ var y;
+
+ logpdf = factory( NaN );
+ y = logpdf( 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'if provided `sigma <= 0`, the created function always returns `NaN`', function test( t ) {
+ var logpdf;
+ var y;
+
+ logpdf = factory( -1.0 );
+
+ y = logpdf( 2.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ logpdf = factory( 0.0 );
+
+ y = logpdf( 2.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the created function returns `-Infinity` if provided `x < 0`', function test( t ) {
+ var logpdf;
+ var y;
+
+ logpdf = factory( 1.0 );
+ y = logpdf( -1.0 );
+ t.strictEqual( y, NINF, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the created function evaluates the logpdf', function test( t ) {
+ var logpdf;
+ var delta;
+ var tol;
+ var x;
+ var y;
+ var i;
+
+ x = data.x;
+ for ( i = 0; i < x.length; i++ ) {
+ logpdf = factory( data.sigma[i] );
+ y = logpdf( x[i] );
+ if ( data.expected[i] !== null ) {
+ if ( y === data.expected[i] ) {
+ t.strictEqual( y, data.expected[i], 'x: '+x[i]+', sigma: '+data.sigma[i]+', y: '+y+', expected: '+data.expected[i] );
+ } else {
+ delta = abs( y - data.expected[ i ] );
+ tol = 40.0 * EPS * abs( data.expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. sigma: '+data.sigma[i]+'. y: '+y+'. E: '+data.expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ }
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.js
new file mode 100644
index 000000000000..c8fb79a7c82a
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.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';
+
+// MODULES //
+
+var tape = require( 'tape' );
+var logpdf = require( './../lib' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof logpdf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'attached to the main export is a factory method for generating `logpdf` functions', function test( t ) {
+ t.strictEqual( typeof logpdf.factory, 'function', 'exports a factory method' );
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.logpdf.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.logpdf.js
new file mode 100644
index 000000000000..901ad59dfd60
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.logpdf.js
@@ -0,0 +1,102 @@
+/**
+* @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 isnan = require( '@stdlib/math/base/assert/is-nan' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var NINF = require( '@stdlib/constants/float64/ninf' );
+var EPS = require( '@stdlib/constants/float64/eps' );
+var logpdf = require( './../lib/main.js' );
+
+
+// FIXTURES //
+
+var data = require( './fixtures/julia/data.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof logpdf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) {
+ var y = logpdf( NaN, 1.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+ y = logpdf( 0.0, NaN );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if provided `sigma <= 0`, the function returns `NaN`', function test( t ) {
+ var y;
+
+ y = logpdf( 2.0, -1.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 0.0, -1.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 2.0, 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 0.0, 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'if provided `x < 0`, the function returns `-Infinity`', function test( t ) {
+ var y = logpdf( -1.0, 1.0 );
+ t.strictEqual( y, NINF, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function evaluates the logpdf', function test( t ) {
+ var expected;
+ var delta;
+ var sigma;
+ var tol;
+ var x;
+ var y;
+ var i;
+
+ x = data.x;
+ sigma = data.sigma;
+ expected = data.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ y = logpdf( x[i], sigma[i] );
+ if ( expected[i] !== null ) {
+ if ( y === expected[i] ) {
+ t.strictEqual( y, expected[i], 'x: '+x[i]+', sigma: '+sigma[i]+', y: '+y+', expected: '+expected[i] );
+ } else {
+ delta = abs( y - expected[ i ] );
+ tol = 40.0 * EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. sigma: '+sigma[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ }
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.native.js
new file mode 100644
index 000000000000..0e12b55d53e5
--- /dev/null
+++ b/lib/node_modules/@stdlib/stats/base/dists/halfnormal/logpdf/test/test.native.js
@@ -0,0 +1,111 @@
+/**
+* @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 tryRequire = require( '@stdlib/utils/try-require' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var abs = require( '@stdlib/math/base/special/abs' );
+var NINF = require( '@stdlib/constants/float64/ninf' );
+var EPS = require( '@stdlib/constants/float64/eps' );
+
+
+// FIXTURES //
+
+var data = require( './fixtures/julia/data.json' );
+
+
+// VARIABLES //
+
+var logpdf = tryRequire( resolve( __dirname, './../lib/native.js' ) );
+var opts = {
+ 'skip': ( logpdf instanceof Error )
+};
+
+
+// TESTS //
+
+tape( 'main export is a function', opts, function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof logpdf, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, function test( t ) {
+ var y = logpdf( NaN, 1.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+ y = logpdf( 0.0, NaN );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'if provided `sigma <= 0`, the function returns `NaN`', opts, function test( t ) {
+ var y;
+
+ y = logpdf( 2.0, -1.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 0.0, -1.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 2.0, 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ y = logpdf( 0.0, 0.0 );
+ t.strictEqual( isnan( y ), true, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'if provided `x < 0`, the function returns `-Infinity`', opts, function test( t ) {
+ var y = logpdf( -1.0, 1.0 );
+ t.strictEqual( y, NINF, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function evaluates the logpdf', opts, function test( t ) {
+ var expected;
+ var delta;
+ var sigma;
+ var tol;
+ var x;
+ var y;
+ var i;
+
+ x = data.x;
+ sigma = data.sigma;
+ expected = data.expected;
+
+ for ( i = 0; i < x.length; i++ ) {
+ y = logpdf( x[i], sigma[i] );
+ if ( expected[i] !== null ) {
+ if ( y === expected[i] ) {
+ t.strictEqual( y, expected[i], 'x: '+x[i]+', sigma: '+sigma[i]+', y: '+y+', expected: '+expected[i] );
+ } else {
+ delta = abs( y - expected[ i ] );
+ tol = 40.0 * EPS * abs( expected[ i ] );
+ t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. sigma: '+sigma[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' );
+ }
+ }
+ }
+ t.end();
+});