From d0bb4516f134d3426e3b626d9741b607e9e0aebf Mon Sep 17 00:00:00 2001 From: manit2004 Date: Sat, 3 Oct 2026 22:17:39 +0530 Subject: [PATCH 1/2] feat(wald): docs, examples, lib, test added for wald --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: passed - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../@stdlib/stats/base/dists/wald/README.md | 248 +++++++++++++ .../base/dists/wald/docs/types/index.d.ts | 337 ++++++++++++++++++ .../stats/base/dists/wald/docs/types/test.ts | 29 ++ .../stats/base/dists/wald/examples/index.js | 108 ++++++ .../stats/base/dists/wald/lib/index.js | 159 +++++++++ .../stats/base/dists/wald/package.json | 68 ++++ .../stats/base/dists/wald/test/test.js | 40 +++ 7 files changed, 989 insertions(+) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/README.md create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/package.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/wald/test/test.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/README.md b/lib/node_modules/@stdlib/stats/base/dists/wald/README.md new file mode 100644 index 000000000000..7f3566f4b73b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/README.md @@ -0,0 +1,248 @@ + + +# Wald + +> Wald distribution. + +
+ +## Usage + +```javascript +var wald = require( '@stdlib/stats/base/dists/wald' ); +``` + +#### wald + +[Wald][wald-distribution] (inverse Gaussian) distribution. + +```javascript +var dist = wald; +// returns {...} +``` + +The namespace contains the following distribution functions: + + + +
+ +- [`cdf( x, mu, lambda )`][@stdlib/stats/base/dists/wald/cdf]: Wald distribution cumulative distribution function. +- [`logcdf( x, mu, lambda )`][@stdlib/stats/base/dists/wald/logcdf]: evaluate the natural logarithm of the cumulative distribution function (CDF) for a Wald distribution. +- [`logpdf( x, mu, lambda )`][@stdlib/stats/base/dists/wald/logpdf]: evaluate the natural logarithm of the probability density function (PDF) for a Wald distribution. +- [`mgf( t, mu, lambda )`][@stdlib/stats/base/dists/wald/mgf]: Wald distribution moment-generating function (MGF). +- [`pdf( x, mu, lambda )`][@stdlib/stats/base/dists/wald/pdf]: Wald distribution probability density function (PDF). +- [`quantile( p, mu, lambda )`][@stdlib/stats/base/dists/wald/quantile]: Wald distribution quantile function. + +
+ + + +The namespace contains the following functions for calculating distribution properties: + + + +
+ +- [`kurtosis( mu, lambda )`][@stdlib/stats/base/dists/wald/kurtosis]: Wald distribution excess kurtosis. +- [`mean( mu, lambda )`][@stdlib/stats/base/dists/wald/mean]: Wald distribution expected value. +- [`mode( mu, lambda )`][@stdlib/stats/base/dists/wald/mode]: Wald distribution mode. +- [`skewness( mu, lambda )`][@stdlib/stats/base/dists/wald/skewness]: Wald distribution skewness. +- [`stdev( mu, lambda )`][@stdlib/stats/base/dists/wald/stdev]: Wald distribution standard deviation. +- [`variance( mu, lambda )`][@stdlib/stats/base/dists/wald/variance]: Wald distribution variance. + +
+ + + +The namespace contains a constructor function for creating a [Wald][wald-distribution] distribution object. + + + +
+ +- [`Wald( [mu, lambda] )`][@stdlib/stats/base/dists/wald/ctor]: Wald distribution constructor. + +
+ + + +```javascript +var Wald = require( '@stdlib/stats/base/dists/wald' ).Wald; + +var dist = new Wald( 2.0, 4.0 ); + +var y = dist.pdf( 2.0 ); +// returns ~0.282 +``` + +
+ + + +
+ +## Examples + + + +```javascript +var wald = require( '@stdlib/stats/base/dists/wald' ); + +/* +A support team is modeling how long it takes agents to resolve tickets. The Wald (inverse Gaussian) distribution is a natural fit for "time until completion" data, as it models the first time a drift-diffusion process crosses a fixed threshold. + +Assuming the team has collected the following data: + +- Mean resolution time (μ/mu): 20 minutes. +- Shape parameter (λ/lambda): 50.0 (controls the spread/skew of resolution times). + +We can model resolution times using a Wald distribution with μ (mu) = 20.0 minutes and λ (lambda) = 50.0. +*/ + +var mu = 20.0; +var lambda = 50.0; + +var waldDist = new wald.Wald( mu, lambda ); + +// Output the shape parameter of the resolution times: +console.log( waldDist.lambda ); +// => 50.0 + +// Adjust distribution parameters to reflect a team handling more variable tickets: +waldDist.lambda = 60.0; + +// Adjusted shape parameter: +console.log( waldDist.lambda ); +// => 60.0 + +// Excess kurtosis of a Wald distribution (measure of "tailedness"): +console.log( waldDist.kurtosis ); +// => 5.0 + +// Variance of the resolution times after adjusting lambda: +console.log( waldDist.variance ); +// => ~133.333 + +// Probability density function at 20 minutes: +console.log( wald.pdf( 20.0, mu, 60.0 ) ); +// => ~0.0345 + +// Cumulative distribution function at 20 minutes (portion of tickets resolved within 20 minutes): +console.log( wald.cdf( 20.0, mu, 60.0 ) ); +// => ~0.607 + +// 50th percentile (median-like) resolution time: +console.log( wald.quantile( 0.5, mu, 60.0 ) ); +// => ~17.193 + +// Moment-generating function value at 0.01 (used in probability theory): +console.log( wald.mgf( 0.01, mu, 60.0 ) ); +// => ~1.23 + +// Mean resolution time: +console.log( wald.mean( mu, 60.0 ) ); +// => 20.0 + +// Mode of the resolution times (most frequent value): +console.log( wald.mode( mu, 60.0 ) ); +// => ~12.361 + +// Variance of the resolution times: +console.log( wald.variance( mu, 60.0 ) ); +// => ~133.333 + +// Skewness of the distribution (symmetry measure): +console.log( wald.skewness( mu, 60.0 ) ); +// => ~1.732 + +var myquantile = wald.quantile.factory( mu, 60.0 ); + +// 20th percentile (value below which 20% of resolution times fall): +console.log( myquantile( 0.2 ) ); +// => ~10.875 + +// 80th percentile (value below which 80% of resolution times fall): +console.log( myquantile( 0.8 ) ); +// => ~27.434 + +var mylogpdf = wald.logpdf.factory( mu, 60.0 ); + +// Logarithm of the probability density function at 20 minutes: +console.log( mylogpdf( 20.0 ) ); +// => ~-3.365 + +// Logarithm of the probability density function at 15 minutes: +console.log( mylogpdf( 15.0 ) ); +// => ~-3.059 +``` + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts new file mode 100644 index 000000000000..b369bbf24f4d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts @@ -0,0 +1,337 @@ +/* +* @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 + +/* eslint-disable max-lines */ + +import cdf = require( '@stdlib/stats/base/dists/wald/cdf' ); +import Wald = require( '@stdlib/stats/base/dists/wald/ctor' ); +import kurtosis = require( '@stdlib/stats/base/dists/wald/kurtosis' ); +import logcdf = require( '@stdlib/stats/base/dists/wald/logcdf' ); +import logpdf = require( '@stdlib/stats/base/dists/wald/logpdf' ); +import mean = require( '@stdlib/stats/base/dists/wald/mean' ); +import mgf = require( '@stdlib/stats/base/dists/wald/mgf' ); +import mode = require( '@stdlib/stats/base/dists/wald/mode' ); +import pdf = require( '@stdlib/stats/base/dists/wald/pdf' ); +import quantile = require( '@stdlib/stats/base/dists/wald/quantile' ); +import skewness = require( '@stdlib/stats/base/dists/wald/skewness' ); +import stdev = require( '@stdlib/stats/base/dists/wald/stdev' ); +import variance = require( '@stdlib/stats/base/dists/wald/variance' ); + +/** +* Interface describing the `wald` namespace. +*/ +interface Namespace { + /** + * Wald distribution cumulative distribution function (CDF). + * + * @param x - input value + * @param mu - mean + * @param lambda - shape parameter + * @returns evaluated CDF + * + * @example + * var y = ns.cdf( 2.0, 1.0, 1.0 ); + * // returns ~0.885 + * + * var myCDF = ns.cdf.factory( 4.0, 2.0 ); + * y = myCDF( 5.0 ); + * // returns ~0.773 + */ + cdf: typeof cdf; + + /** + * Wald distribution. + */ + Wald: typeof Wald; + + /** + * Returns the excess kurtosis for a Wald distribution with mean `mu` and shape parameter `lambda`. + * + * ## Notes + * + * - If provided `mu <= 0` or `lambda <= 0`, the function returns `NaN`. + * + * @param mu - mean + * @param lambda - shape parameter + * @returns excess kurtosis + * + * @example + * var y = ns.kurtosis( 5.0, 2.0 ); + * // returns 37.5 + * + * @example + * var y = ns.kurtosis( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = ns.kurtosis( 0.0, NaN ); + * // returns NaN + * + * @example + * var y = ns.kurtosis( 0.0, 0.0 ); + * // returns NaN + */ + kurtosis: typeof kurtosis; + + /** + * Wald distribution natural logarithm of cumulative distribution function (CDF). + * + * @param x - input value + * @param mu - mean + * @param lambda - shape parameter + * @returns evaluated logCDF + * + * @example + * var y = ns.logcdf( 2.0, 1.0, 1.0 ); + * // returns ~-0.122 + * + * var mylogcdf = ns.logcdf.factory( 4.0, 2.0 ); + * y = mylogcdf( 5.0 ); + * // returns ~-0.257 + */ + logcdf: typeof logcdf; + + /** + * Wald distribution natural logarithm of probability density function (logPDF). + * + * @param x - input value + * @param mu - mean + * @param lambda - shape parameter + * @returns evaluated logPDF + * + * @example + * var y = ns.logpdf( 2.0, 1.0, 1.0 ); + * // returns ~-2.209 + * + * var mylogpdf = ns.logpdf.factory( 4.0, 2.0 ); + * y = mylogpdf( 5.0 ); + * // returns ~-3.0 + */ + logpdf: typeof logpdf; + + /** + * Returns the expected value for a Wald distribution with mean `mu` and shape parameter `lambda`. + * + * ## Notes + * + * - If provided `mu <= 0` or `lambda <= 0`, the function returns `NaN`. + * + * @param mu - mean + * @param lambda - shape parameter + * @returns expected value + * + * @example + * var y = ns.mean( 5.0, 2.0 ); + * // returns 5.0 + * + * @example + * var y = ns.mean( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = ns.mean( 0.0, NaN ); + * // returns NaN + * + * @example + * var y = ns.mean( 0.0, 0.0 ); + * // returns NaN + */ + mean: typeof mean; + + /** + * Wald distribution moment-generating function (MGF). + * + * @param t - input value + * @param mu - mean + * @param lambda - shape parameter + * @returns evaluated MGF + * + * @example + * var y = ns.mgf( 0.1, 2.0, 3.0 ); + * // returns ~1.2405 + * + * var mymgf = ns.mgf.factory( 4.0, 2.0 ); + * y = mymgf( 0.05 ); + * // returns ~1.318 + */ + mgf: typeof mgf; + + /** + * Returns the mode for a Wald distribution with mean `mu` and shape parameter `lambda`. + * + * ## Notes + * + * - If provided `mu <= 0` or `lambda <= 0`, the function returns `NaN`. + * + * @param mu - mean + * @param lambda - shape parameter + * @returns mode + * + * @example + * var y = ns.mode( 5.0, 2.0 ); + * // returns ~0.655 + * + * @example + * var y = ns.mode( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = ns.mode( 1.0, NaN ); + * // returns NaN + * + * @example + * var y = ns.mode( 0.0, 1.0 ); + * // returns NaN + */ + mode: typeof mode; + + /** + * Wald distribution probability density function (PDF). + * + * @param x - input value + * @param mu - mean + * @param lambda - shape parameter + * @returns evaluated PDF + * + * @example + * var y = ns.pdf( 2.0, 1.0, 1.0 ); + * // returns ~0.110 + * + * var myPDF = ns.pdf.factory( 4.0, 2.0 ); + * y = myPDF( 5.0 ); + * // returns ~0.0498 + */ + pdf: typeof pdf; + + /** + * Wald distribution quantile function. + * + * @param p - input value + * @param mu - mean + * @param lambda - shape parameter + * @returns evaluated quantile function + * + * @example + * var y = ns.quantile( 0.8, 1.0, 1.0 ); + * // returns ~1.448 + * + * var myQuantile = ns.quantile.factory( 4.0, 2.0 ); + * y = myQuantile( 0.5 ); + * // returns ~2.057 + */ + quantile: typeof quantile; + + /** + * Returns the skewness for a Wald distribution with mean `mu` and shape parameter `lambda`. + * + * ## Notes + * + * - If provided `mu <= 0` or `lambda <= 0`, the function returns `NaN`. + * + * @param mu - mean + * @param lambda - shape parameter + * @returns skewness + * + * @example + * var y = ns.skewness( 5.0, 2.0 ); + * // returns ~4.743 + * + * @example + * var y = ns.skewness( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = ns.skewness( 1.0, NaN ); + * // returns NaN + * + * @example + * var y = ns.skewness( 0.0, 0.0 ); + * // returns NaN + */ + skewness: typeof skewness; + + /** + * Returns the standard deviation for a Wald distribution with mean `mu` and shape parameter `lambda`. + * + * ## Notes + * + * - If provided `mu <= 0` or `lambda <= 0`, the function returns `NaN`. + * + * @param mu - mean + * @param lambda - shape parameter + * @returns standard deviation + * + * @example + * var y = ns.stdev( 2.0, 1.0 ); + * // returns ~2.828 + * + * @example + * var y = ns.stdev( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = ns.stdev( 0.0, NaN ); + * // returns NaN + * + * @example + * var y = ns.stdev( 1.0, 0.0 ); + * // returns NaN + */ + stdev: typeof stdev; + + /** + * Returns the variance for a Wald distribution with mean `mu` and shape parameter `lambda`. + * + * ## Notes + * + * - If provided `mu <= 0` or `lambda <= 0`, the function returns `NaN`. + * + * @param mu - mean + * @param lambda - shape parameter + * @returns variance + * + * @example + * var y = ns.variance( 5.0, 3.0 ); + * // returns ~41.67 + * + * @example + * var y = ns.variance( NaN, 1.0 ); + * // returns NaN + * + * @example + * var y = ns.variance( 0.0, NaN ); + * // returns NaN + * + * @example + * var y = ns.variance( 1.0, 0.0 ); + * // returns NaN + */ + variance: typeof variance; +} + +/** +* Wald distribution. +*/ +declare var ns: Namespace; + + +// EXPORTS // + +export = ns; diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/test.ts b/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/test.ts new file mode 100644 index 000000000000..bbdf4147b91e --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/test.ts @@ -0,0 +1,29 @@ +/* +* @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. +*/ + +/* eslint-disable @typescript-eslint/no-unused-expressions */ + +import ns = require( './index' ); + + +// TESTS // + +// The exported value is the expected interface... +{ + ns; // $ExpectType Namespace +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js new file mode 100644 index 000000000000..6cc61f757f6b --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js @@ -0,0 +1,108 @@ +/** +* @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 wald = require( './../lib' ); + +/* +A support team is modeling how long it takes agents to resolve tickets. The Wald (inverse Gaussian) distribution is a natural fit for "time until completion" data, as it models the first time a drift-diffusion process crosses a fixed threshold. + +Assuming the team has collected the following data: + +- Mean resolution time (μ/mu): 20 minutes. +- Shape parameter (λ/lambda): 50.0 (controls the spread/skew of resolution times). + +We can model resolution times using a Wald distribution with μ (mu) = 20.0 minutes and λ (lambda) = 50.0. +*/ + +var mu = 20.0; +var lambda = 50.0; + +var waldDist = new wald.Wald( mu, lambda ); + +// Output the shape parameter of the resolution times: +console.log( waldDist.lambda ); +// => 50.0 + +// Adjust distribution parameters to reflect a team handling more variable tickets: +waldDist.lambda = 60.0; + +// Adjusted shape parameter: +console.log( waldDist.lambda ); +// => 60.0 + +// Excess kurtosis of a Wald distribution (measure of "tailedness"): +console.log( waldDist.kurtosis ); +// => 5.0 + +// Variance of the resolution times after adjusting lambda: +console.log( waldDist.variance ); +// => ~133.333 + +// Probability density function at 20 minutes: +console.log( wald.pdf( 20.0, mu, 60.0 ) ); +// => ~0.0345 + +// Cumulative distribution function at 20 minutes (portion of tickets resolved within 20 minutes): +console.log( wald.cdf( 20.0, mu, 60.0 ) ); +// => ~0.607 + +// 50th percentile (median-like) resolution time: +console.log( wald.quantile( 0.5, mu, 60.0 ) ); +// => ~17.193 + +// Moment-generating function value at 0.01 (used in probability theory): +console.log( wald.mgf( 0.01, mu, 60.0 ) ); +// => ~1.23 + +// Mean resolution time: +console.log( wald.mean( mu, 60.0 ) ); +// => 20.0 + +// Mode of the resolution times (most frequent value): +console.log( wald.mode( mu, 60.0 ) ); +// => ~12.361 + +// Variance of the resolution times: +console.log( wald.variance( mu, 60.0 ) ); +// => ~133.333 + +// Skewness of the distribution (symmetry measure): +console.log( wald.skewness( mu, 60.0 ) ); +// => ~1.732 + +var myquantile = wald.quantile.factory( mu, 60.0 ); + +// 20th percentile (value below which 20% of resolution times fall): +console.log( myquantile( 0.2 ) ); +// => ~10.875 + +// 80th percentile (value below which 80% of resolution times fall): +console.log( myquantile( 0.8 ) ); +// => ~27.434 + +var mylogpdf = wald.logpdf.factory( mu, 60.0 ); + +// Logarithm of the probability density function at 20 minutes: +console.log( mylogpdf( 20.0 ) ); +// => ~-3.365 + +// Logarithm of the probability density function at 15 minutes: +console.log( mylogpdf( 15.0 ) ); +// => ~-3.059 diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js new file mode 100644 index 000000000000..c121d0b9bd32 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js @@ -0,0 +1,159 @@ +/** +* @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'; + +/* +* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name. +*/ + +// MODULES // + +var setReadOnly = require( '@stdlib/utils/define-read-only-property' ); + + +// MAIN // + +/** +* Top-level namespace. +* +* @namespace wald +*/ +var wald = {}; + +/** +* @name cdf +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/cdf} +*/ +setReadOnly( wald, 'cdf', require( '@stdlib/stats/base/dists/wald/cdf' ) ); + +/** +* @name Wald +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/ctor} +*/ +setReadOnly( wald, 'Wald', require( '@stdlib/stats/base/dists/wald/ctor' ) ); + +/** +* @name kurtosis +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/kurtosis} +*/ +setReadOnly( wald, 'kurtosis', require( '@stdlib/stats/base/dists/wald/kurtosis' ) ); + +/** +* @name logcdf +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/logcdf} +*/ +setReadOnly( wald, 'logcdf', require( '@stdlib/stats/base/dists/wald/logcdf' ) ); + +/** +* @name logpdf +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/logpdf} +*/ +setReadOnly( wald, 'logpdf', require( '@stdlib/stats/base/dists/wald/logpdf' ) ); + +/** +* @name mean +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/mean} +*/ +setReadOnly( wald, 'mean', require( '@stdlib/stats/base/dists/wald/mean' ) ); + +/** +* @name mgf +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/mgf} +*/ +setReadOnly( wald, 'mgf', require( '@stdlib/stats/base/dists/wald/mgf' ) ); + +/** +* @name mode +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/mode} +*/ +setReadOnly( wald, 'mode', require( '@stdlib/stats/base/dists/wald/mode' ) ); + +/** +* @name pdf +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/pdf} +*/ +setReadOnly( wald, 'pdf', require( '@stdlib/stats/base/dists/wald/pdf' ) ); + +/** +* @name quantile +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/quantile} +*/ +setReadOnly( wald, 'quantile', require( '@stdlib/stats/base/dists/wald/quantile' ) ); + +/** +* @name skewness +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/skewness} +*/ +setReadOnly( wald, 'skewness', require( '@stdlib/stats/base/dists/wald/skewness' ) ); + +/** +* @name stdev +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/stdev} +*/ +setReadOnly( wald, 'stdev', require( '@stdlib/stats/base/dists/wald/stdev' ) ); + +/** +* @name variance +* @memberof wald +* @readonly +* @type {Function} +* @see {@link module:@stdlib/stats/base/dists/wald/variance} +*/ +setReadOnly( wald, 'variance', require( '@stdlib/stats/base/dists/wald/variance' ) ); + + +// EXPORTS // + +module.exports = wald; diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/package.json b/lib/node_modules/@stdlib/stats/base/dists/wald/package.json new file mode 100644 index 000000000000..c199b3a6c86a --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/package.json @@ -0,0 +1,68 @@ +{ + "name": "@stdlib/stats/base/dists/wald", + "version": "0.0.0", + "description": "Wald distribution.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "standard", + "library", + "std", + "lib", + "statistics", + "stats", + "probability", + "distribution", + "dist", + "wald", + "inverse-gaussian", + "inverse gaussian", + "univariate", + "continuous" + ] +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/test/test.js b/lib/node_modules/@stdlib/stats/base/dists/wald/test/test.js new file mode 100644 index 000000000000..5f93d05dd7e1 --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/test/test.js @@ -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. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var objectKeys = require( '@stdlib/utils/keys' ); +var wald = require( './../lib' ); + + +// TESTS // + +tape( 'main export is an object', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof wald, 'object', 'main export is an object' ); + t.end(); +}); + +tape( 'the exported object contains Wald distribution functions', function test( t ) { + var keys = objectKeys( wald ); + t.strictEqual( keys.length > 0, true, 'has keys' ); + t.end(); +}); From 5bbc575254b458878f2e4535e78dfb79970a6791 Mon Sep 17 00:00:00 2001 From: manit2004 Date: Sat, 3 Oct 2026 22:33:57 +0530 Subject: [PATCH 2/2] fix: remove ctor dependency from wald namespace to keep it self-contained The wald/ctor package is part of a separate PR. This PR's namespace aggregator (lib/index.js), TypeScript declarations, README, and examples referenced it unconditionally, breaking lint/examples/tests in CI since ctor doesn't exist on this branch. Removed the Wald/ctor references and rewrote the README/examples narrative to use the standalone functions directly instead of a constructed instance. --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: passed - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../@stdlib/stats/base/dists/wald/README.md | 32 ++++--------------- .../base/dists/wald/docs/types/index.d.ts | 6 ---- .../stats/base/dists/wald/examples/index.js | 12 +++---- .../stats/base/dists/wald/lib/index.js | 9 ------ 4 files changed, 12 insertions(+), 47 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/README.md b/lib/node_modules/@stdlib/stats/base/dists/wald/README.md index 7f3566f4b73b..67b3e5e749bb 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/README.md @@ -73,24 +73,10 @@ The namespace contains the following functions for calculating distribution prop -The namespace contains a constructor function for creating a [Wald][wald-distribution] distribution object. - - - -
- -- [`Wald( [mu, lambda] )`][@stdlib/stats/base/dists/wald/ctor]: Wald distribution constructor. - -
- - - ```javascript -var Wald = require( '@stdlib/stats/base/dists/wald' ).Wald; - -var dist = new Wald( 2.0, 4.0 ); +var wald = require( '@stdlib/stats/base/dists/wald' ); -var y = dist.pdf( 2.0 ); +var y = wald.pdf( 2.0, 2.0, 4.0 ); // returns ~0.282 ``` @@ -121,25 +107,23 @@ We can model resolution times using a Wald distribution with μ (mu) = 20.0 minu var mu = 20.0; var lambda = 50.0; -var waldDist = new wald.Wald( mu, lambda ); - // Output the shape parameter of the resolution times: -console.log( waldDist.lambda ); +console.log( lambda ); // => 50.0 // Adjust distribution parameters to reflect a team handling more variable tickets: -waldDist.lambda = 60.0; +lambda = 60.0; // Adjusted shape parameter: -console.log( waldDist.lambda ); +console.log( lambda ); // => 60.0 // Excess kurtosis of a Wald distribution (measure of "tailedness"): -console.log( waldDist.kurtosis ); +console.log( wald.kurtosis( mu, lambda ) ); // => 5.0 // Variance of the resolution times after adjusting lambda: -console.log( waldDist.variance ); +console.log( wald.variance( mu, lambda ) ); // => ~133.333 // Probability density function at 20 minutes: @@ -215,8 +199,6 @@ console.log( mylogpdf( 15.0 ) ); -[@stdlib/stats/base/dists/wald/ctor]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/base/dists/wald/ctor - [@stdlib/stats/base/dists/wald/kurtosis]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/base/dists/wald/kurtosis [@stdlib/stats/base/dists/wald/mean]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/stats/base/dists/wald/mean diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts b/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts index b369bbf24f4d..adc0dde152d9 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/docs/types/index.d.ts @@ -21,7 +21,6 @@ /* eslint-disable max-lines */ import cdf = require( '@stdlib/stats/base/dists/wald/cdf' ); -import Wald = require( '@stdlib/stats/base/dists/wald/ctor' ); import kurtosis = require( '@stdlib/stats/base/dists/wald/kurtosis' ); import logcdf = require( '@stdlib/stats/base/dists/wald/logcdf' ); import logpdf = require( '@stdlib/stats/base/dists/wald/logpdf' ); @@ -56,11 +55,6 @@ interface Namespace { */ cdf: typeof cdf; - /** - * Wald distribution. - */ - Wald: typeof Wald; - /** * Returns the excess kurtosis for a Wald distribution with mean `mu` and shape parameter `lambda`. * diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js b/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js index 6cc61f757f6b..5096be57dafa 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/examples/index.js @@ -34,25 +34,23 @@ We can model resolution times using a Wald distribution with μ (mu) = 20.0 minu var mu = 20.0; var lambda = 50.0; -var waldDist = new wald.Wald( mu, lambda ); - // Output the shape parameter of the resolution times: -console.log( waldDist.lambda ); +console.log( lambda ); // => 50.0 // Adjust distribution parameters to reflect a team handling more variable tickets: -waldDist.lambda = 60.0; +lambda = 60.0; // Adjusted shape parameter: -console.log( waldDist.lambda ); +console.log( lambda ); // => 60.0 // Excess kurtosis of a Wald distribution (measure of "tailedness"): -console.log( waldDist.kurtosis ); +console.log( wald.kurtosis( mu, lambda ) ); // => 5.0 // Variance of the resolution times after adjusting lambda: -console.log( waldDist.variance ); +console.log( wald.variance( mu, lambda ) ); // => ~133.333 // Probability density function at 20 minutes: diff --git a/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js b/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js index c121d0b9bd32..f98cbf5e265a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js +++ b/lib/node_modules/@stdlib/stats/base/dists/wald/lib/index.js @@ -45,15 +45,6 @@ var wald = {}; */ setReadOnly( wald, 'cdf', require( '@stdlib/stats/base/dists/wald/cdf' ) ); -/** -* @name Wald -* @memberof wald -* @readonly -* @type {Function} -* @see {@link module:@stdlib/stats/base/dists/wald/ctor} -*/ -setReadOnly( wald, 'Wald', require( '@stdlib/stats/base/dists/wald/ctor' ) ); - /** * @name kurtosis * @memberof wald