From 923e93129a89e0d2faaa4030e44131c48635eab6 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Mon, 16 Dec 2024 20:57:15 +0530 Subject: [PATCH 01/22] feat: add-cdf --- .../stats/base/dists/bernoulli/cdf/README.md | 105 ++++++++++- .../cdf/benchmark/benchmark.native.js | 88 +++++++++ .../dists/bernoulli/cdf/benchmark/c/Makefile | 146 +++++++++++++++ .../bernoulli/cdf/benchmark/c/benchmark.c | 135 ++++++++++++++ .../base/dists/bernoulli/cdf/binding.gyp | 170 ++++++++++++++++++ .../dists/bernoulli/cdf/examples/c/Makefile | 146 +++++++++++++++ .../dists/bernoulli/cdf/examples/c/example.c | 35 ++++ .../base/dists/bernoulli/cdf/include.gypi | 53 ++++++ .../stdlib/stats/base/dists/bernoulli/cdf.h | 38 ++++ .../base/dists/bernoulli/cdf/lib/native.js | 67 +++++++ .../base/dists/bernoulli/cdf/manifest.json | 76 ++++++++ .../base/dists/bernoulli/cdf/package.json | 3 + .../base/dists/bernoulli/cdf/src/Makefile | 70 ++++++++ .../base/dists/bernoulli/cdf/src/addon.c | 23 +++ .../stats/base/dists/bernoulli/cdf/src/main.c | 70 ++++++++ .../dists/bernoulli/cdf/test/test.native.js | 148 +++++++++++++++ 16 files changed, 1372 insertions(+), 1 deletion(-) create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/binding.gyp create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/manifest.json create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/addon.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c create mode 100644 lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index 061d52fadeef..e7dc467078aa 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2018 The Stdlib Authors. +Copyright (c) 2024 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. @@ -129,6 +129,109 @@ for ( i = 0; i < 10; i++ ) { + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/dists/bernoulli/cdf.h" +``` + +#### stdlib_base_dists_bernoulli_cdf( x, p ) + +Evaluates the cumulative distribution function (CDF) for an bernoulli distribution. + +```c +double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); +// returns ~0.5 + +y = stdlib_base_dists_bernoulli_cdf( 2.0, 0.1 ); +// returns ~1.0 + +y = stdlib_base_dists_bernoulli_cdf( -1.0, 0.3 ); +// returns ~0.0 + +y = stdlib_base_dists_bernoulli_cdf( NaN, 0.5 ); +// returns NaN + +y = stdlib_base_dists_bernoulli_cdf( 0.0, NaN ); +// returns NaN + +// Invalid probability +y = stdlib_base_dists_bernoulli_cdf( 0.5, 1.4 ); +// returns NaN +``` + +The function accepts the following arguments: + +- **x**: `[in] double` input value. +- **p**: `[in] double` success probability + +```c +double stdlib_base_dists_bernoulli_cdf( const double x, const double p ); +``` +
+ + + + +
+ +
+ + + + + +
+ +### Examples +```c +#include "stdlib/stats/base/dists/bernoulli/cdf.h" +#include +#include + +int main( void ) { + double p; + double x; + double y; + int i; + + for ( i = 0; i < 25; i++ ) { + x = ( (double)rand() / (double)RAND_MAX ) * 5.0; + p = ( (double)rand() / (double)RAND_MAX ) ; + y = stdlib_base_dists_bernoulli_cdf( x, p ); + printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); + } +} +``` + +
+ + + +
+ + + + @@ -204,23 +206,24 @@ double stdlib_base_dists_bernoulli_cdf( const double x, const double p );
### Examples + ```c #include "stdlib/stats/base/dists/bernoulli/cdf.h" #include #include int main( void ) { - double p; + double p; double x; - double y; - int i; + double y; + int i; - for ( i = 0; i < 25; i++ ) { + for ( i = 0; i < 25; i++ ) { x = ( (double)rand() / (double)RAND_MAX ) * 5.0; - p = ( (double)rand() / (double)RAND_MAX ) ; - y = stdlib_base_dists_bernoulli_cdf( x, p ); - printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); - } + p = ( (double)rand() / (double)RAND_MAX ) ; + y = stdlib_base_dists_bernoulli_cdf( x, p ); + printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); + } } ``` From 7a2fb05d23fc7c5cc9f9b5fd42b9a783de30d7bb Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Fri, 20 Dec 2024 03:28:00 +0000 Subject: [PATCH 06/22] fix: resolve lint errors --- .../stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/include.gypi | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/manifest.json | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/src/main.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c index d5779f3010fc..a1b71ad26f86 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c @@ -132,4 +132,4 @@ int main( void ) { printf( "ok %d benchmark finished\n", i+1 ); } print_summary( REPEATS, REPEATS ); -} \ No newline at end of file +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c index 1d434b92b195..838e108545f8 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c @@ -32,4 +32,4 @@ int main( void ) { y = stdlib_base_dists_bernoulli_cdf( x, p ); printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); } -} \ No newline at end of file +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi index c6495fc1da3f..575cb043c0bf 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi @@ -50,4 +50,4 @@ ' Date: Thu, 2 Jan 2025 22:04:11 +0530 Subject: [PATCH 07/22] chore: minor clean up --- .../stats/base/dists/bernoulli/cdf/README.md | 20 ++----------- .../cdf/benchmark/benchmark.native.js | 28 +------------------ .../dists/bernoulli/cdf/benchmark/c/Makefile | 2 +- .../bernoulli/cdf/benchmark/c/benchmark.c | 2 +- .../base/dists/bernoulli/cdf/binding.gyp | 4 +-- .../dists/bernoulli/cdf/examples/c/Makefile | 4 +-- .../dists/bernoulli/cdf/examples/c/example.c | 2 +- .../base/dists/bernoulli/cdf/include.gypi | 2 +- .../stdlib/stats/base/dists/bernoulli/cdf.h | 2 +- .../base/dists/bernoulli/cdf/lib/native.js | 2 +- .../base/dists/bernoulli/cdf/src/Makefile | 4 +-- .../base/dists/bernoulli/cdf/src/addon.c | 2 +- .../stats/base/dists/bernoulli/cdf/src/main.c | 2 +- .../dists/bernoulli/cdf/test/test.native.js | 2 +- 14 files changed, 18 insertions(+), 60 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index 7c33ec8c5cec..9630113b988f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -157,30 +157,14 @@ for ( i = 0; i < 10; i++ ) { #### stdlib_base_dists_bernoulli_cdf( x, p ) -Evaluates the cumulative distribution function (CDF) for an bernoulli distribution. +Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. ```c double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); // returns ~0.5 - -y = stdlib_base_dists_bernoulli_cdf( 2.0, 0.1 ); -// returns ~1.0 - -y = stdlib_base_dists_bernoulli_cdf( -1.0, 0.3 ); -// returns ~0.0 - -y = stdlib_base_dists_bernoulli_cdf( NaN, 0.5 ); -// returns NaN - -y = stdlib_base_dists_bernoulli_cdf( 0.0, NaN ); -// returns NaN - -// Invalid probability -y = stdlib_base_dists_bernoulli_cdf( 0.5, 1.4 ); -// returns NaN ``` -The function accepts the following arguments: +The function accepts the following arguments - **x**: `[in] double` input value. - **p**: `[in] double` success probability diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js index c42969a8a100..83f01c008b0e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,29 +60,3 @@ bench( pkg+'::native', opts, function benchmark( b ) { b.pass( 'benchmark finished' ); b.end(); }); - -bench( pkg+':factory', opts, function benchmark( b ) { - var mycdf; - var p; - var x; - var y; - var i; - - p = 0.3; - mycdf = cdf.factory( p ); - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*3.0 ) - 1.0; - y = mycdf( x ); - 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/bernoulli/cdf/benchmark/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/Makefile index f69e9da2b4d3..a4bd7b38fd74 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/Makefile +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 The Stdlib Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c index a1b71ad26f86..98c61992c155 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/binding.gyp b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/binding.gyp index 507cb00291e7..68a1ca11d160 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/binding.gyp +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/binding.gyp @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 The Stdlib Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -167,4 +167,4 @@ ], # end actions }, # end target copy_addon ], # end targets -} \ No newline at end of file +} diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/Makefile b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/Makefile index d53ef397c77d..25ced822f96a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/Makefile +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 The Stdlib Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -143,4 +143,4 @@ run: $(c_targets) clean: $(QUIET) -rm -f *.o *.out -.PHONY: clean \ No newline at end of file +.PHONY: clean diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c index 838e108545f8..3308958cca24 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi index 575cb043c0bf..ecfaf82a3279 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include.gypi @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 The Stdlib Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h index 7dc281e004fe..9bf95d248f71 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h @@ -27,7 +27,7 @@ extern "C" { #endif /** -Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. +Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. */ double stdlib_base_dists_bernoulli_cdf( const double x, const double p ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js index bffa5d367c53..40071e4c375c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/Makefile b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/Makefile index 81bb164286c3..7733b6180cb4 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/Makefile +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 The Stdlib Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -67,4 +67,4 @@ clean-addon: #/ clean: clean-addon -.PHONY: clean \ No newline at end of file +.PHONY: clean diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/addon.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/addon.c index 4808a629270f..a68a08f8d79c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/addon.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/addon.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index f1dcf0b29171..42e278a3474a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js index 389541941148..f11cdc608ca7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 591b3dc49fdeae32c1fcd892dd5904747449679c Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Thu, 2 Jan 2025 22:06:22 +0530 Subject: [PATCH 08/22] fix: lint copyright years --- .../cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h index 9bf95d248f71..faa19cfc6d91 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 21149c52f7c4960f7e36bac6af466b15d61a7e12 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Thu, 16 Jan 2025 19:44:37 +0530 Subject: [PATCH 09/22] chore: minor clean up --- .../stats/base/dists/bernoulli/cdf/README.md | 11 +++++--- .../bernoulli/cdf/benchmark/benchmark.js | 17 +++++++++--- .../cdf/benchmark/benchmark.native.js | 18 ++++++++++--- .../bernoulli/cdf/benchmark/c/benchmark.c | 27 ++++++++++++------- .../base/dists/bernoulli/cdf/docs/repl.txt | 2 +- .../dists/bernoulli/cdf/examples/c/example.c | 11 +++++--- .../base/dists/bernoulli/cdf/lib/main.js | 2 +- .../base/dists/bernoulli/cdf/lib/native.js | 2 +- .../stats/base/dists/bernoulli/cdf/src/main.c | 2 +- 9 files changed, 65 insertions(+), 27 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index 9630113b988f..6fd7c320c9ad 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -196,15 +196,20 @@ double stdlib_base_dists_bernoulli_cdf( const double x, const double p ); #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 p; double x; double y; int i; - for ( i = 0; i < 25; i++ ) { - x = ( (double)rand() / (double)RAND_MAX ) * 5.0; - p = ( (double)rand() / (double)RAND_MAX ) ; + for ( i = 0; i < 10; i++ ) { + x = random_uniform( 0.0, 5.0 ); + p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js index a8e6ab48ee60..4f39da1e2265 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js @@ -22,6 +22,8 @@ var bench = require( '@stdlib/bench' ); var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pkg = require( './../package.json' ).name; var cdf = require( './../lib' ); @@ -30,16 +32,25 @@ var cdf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var len; var p; var x; var y; var i; + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 2.0, 3.0 ); + } + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + p[ i ] = uniform( 0.0, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*3.0 ) - 1.0; - p = randu(); - y = cdf( x, p ); + y = cdf( x[ i%100 ], p[ i%100 ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js index 83f01c008b0e..5e674042b1b6 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js @@ -22,7 +22,8 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/base/uniform' ); +var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -39,16 +40,25 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var len; var p; var x; var y; var i; + len = 100; + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( 2.0, 3.0 ); + } + p = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + p[ i ] = uniform( 0.0, 1.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*3.0 ) - 1.0; - p = randu(); - y = cdf( x, p ); + y = cdf( x[ i%100 ], p[ i%100 ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c index 98c61992c155..fe520b2e839a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c @@ -75,13 +75,15 @@ static double tic( void ) { } /** -* Generates a random number on the interval [0,1). +* Generates a random number on the interval [min,max). * -* @return random number +* @param min minimum value (inclusive) +* @param max maximum value (exclusive) +* @return random number */ -static double rand_double( void ) { - int r = rand(); - return (double)r / ( (double)RAND_MAX + 1.0 ); +static double random_uniform( const double min, const double max ) { + double v = (double)rand() / ( (double)RAND_MAX + 1.0 ); + return min + ( v * ( max - min ) ); } /** @@ -91,17 +93,22 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double p; - double x; + double p[ 100 ]; + double x[ 100 ]; double y; double t; int i; + for ( i = 0; i < 100; i++ ) { + p[ i ] = random_uniform( 0.1, 10.0 ); + } + for ( i = 0; i < 100; i++ ) { + x[ i ] = random_uniform( 2.0, 3.0 ); + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = ( (double)rand() / (double)RAND_MAX )*3.0 - 1.0; - p = ( (double)rand() / (double)RAND_MAX ) ; - y = stdlib_base_dists_bernoulli_cdf( x, p ); + y = stdlib_base_dists_bernoulli_cdf( x[ i%100 ], p[ i%100 ] ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/docs/repl.txt b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/docs/repl.txt index 38671da57534..c86a3abc32fb 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/docs/repl.txt +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/docs/repl.txt @@ -1,7 +1,7 @@ {{alias}}( x, p ) Evaluates the cumulative distribution function (CDF) for a Bernoulli - distribution with success probability `p` at a value `x`. + distribution with success probability `p`. If provided `NaN` as any argument, the function returns `NaN`. diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c index 3308958cca24..332a18973c24 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c @@ -20,15 +20,20 @@ #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 p; double x; double y; int i; - for ( i = 0; i < 25; i++ ) { - x = ( (double)rand() / (double)RAND_MAX ) * 5.0; - p = ( (double)rand() / (double)RAND_MAX ) ; + for ( i = 0; i < 10; i++ ) { + x = random_uniform( 0.0, 5.0 ); + p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js index d54c641b558a..980b1ccc2f28 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js @@ -26,7 +26,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); // MAIN // /** -* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. +* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. * * @param {number} x - input value * @param {Probability} p - success probability diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js index 40071e4c375c..01c632a31bdf 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js @@ -26,7 +26,7 @@ var addon = require( './../src/addon.node' ); // MAIN // /** -* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. +* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. * * @param {number} x - input value * @param {Probability} p - success probability diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index 42e278a3474a..b42f19a72ec1 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -20,7 +20,7 @@ #include "stdlib/math/base/assert/is_nan.h" /** -* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. +* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. * * @param x input value * @param p success probability From bcebd846c94a0449404d2045590a78e7fb4d53a5 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Thu, 16 Jan 2025 20:12:23 +0530 Subject: [PATCH 10/22] fix: lint error --- .../stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c | 2 +- .../stats/base/dists/bernoulli/cdf/examples/c/example.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c index fe520b2e839a..6168da1c5e6e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c @@ -94,7 +94,7 @@ static double random_uniform( const double min, const double max ) { static double benchmark( void ) { double elapsed; double p[ 100 ]; - double x[ 100 ]; + double x[ 100 ]; double y; double t; int i; diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c index 332a18973c24..89bc9648ec37 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c @@ -27,12 +27,12 @@ static double random_uniform( const double min, const double max ) { int main( void ) { double p; - double x; + double x; double y; int i; for ( i = 0; i < 10; i++ ) { - x = random_uniform( 0.0, 5.0 ); + x = random_uniform( 0.0, 5.0 ); p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); From 17db6392edbc5d55c4dc651ed75c8f694557a4af Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Thu, 16 Jan 2025 20:21:23 +0530 Subject: [PATCH 11/22] fix: lint whitespace --- .../@stdlib/stats/base/dists/bernoulli/cdf/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index 6fd7c320c9ad..d6c6b0d7a9b0 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -164,7 +164,7 @@ double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); // returns ~0.5 ``` -The function accepts the following arguments +The function accepts the following arguments - **x**: `[in] double` input value. - **p**: `[in] double` success probability From bbeefcd06c39feb103a27872628abb71d401fce8 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Fri, 17 Jan 2025 21:28:50 +0530 Subject: [PATCH 12/22] chore: update factory code block --- .../base/dists/bernoulli/cdf/benchmark/benchmark.js | 11 ++++++++--- .../base/dists/bernoulli/cdf/benchmark/c/benchmark.c | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js index 4f39da1e2265..f75f86497914 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js @@ -41,7 +41,7 @@ bench( pkg, function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 2.0, 3.0 ); + x[ i ] = uniform( -1.0, 2.0 ); } p = new Float64Array( len ); for ( i = 0; i < len; i++ ) { @@ -65,6 +65,7 @@ bench( pkg, function benchmark( b ) { bench( pkg+':factory', function benchmark( b ) { var mycdf; + var len; var p; var x; var y; @@ -73,10 +74,14 @@ bench( pkg+':factory', function benchmark( b ) { p = 0.3; mycdf = cdf.factory( p ); + x = new Float64Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( -1.0, 2.0 ); + } + b.tic(); for ( i = 0; i < b.iterations; i++ ) { - x = ( randu()*3.0 ) - 1.0; - y = mycdf( x ); + y = mycdf( x[ i%100 ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c index 6168da1c5e6e..c6f012840383 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c @@ -100,10 +100,10 @@ static double benchmark( void ) { int i; for ( i = 0; i < 100; i++ ) { - p[ i ] = random_uniform( 0.1, 10.0 ); + p[ i ] = random_uniform( 0.0, 1.0 ); } for ( i = 0; i < 100; i++ ) { - x[ i ] = random_uniform( 2.0, 3.0 ); + x[ i ] = random_uniform( -1.0, 2.0 ); } t = tic(); From 3a7e8f2718c1a3fdf3ecab22099afd61b1876449 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Fri, 17 Jan 2025 21:34:06 +0530 Subject: [PATCH 13/22] fix: lint error --- .../stats/base/dists/bernoulli/cdf/benchmark/benchmark.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js index f75f86497914..3c7d73df2e9c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js @@ -21,7 +21,6 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var randu = require( '@stdlib/random/base/randu' ); var uniform = require( '@stdlib/random/base/uniform' ); var Float64Array = require( '@stdlib/array/float64' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); From 9e40fbedd723c17e55919753185bbd2f93a83e69 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Fri, 31 Jan 2025 21:58:41 +0530 Subject: [PATCH 14/22] chore: minor updates --- .../stats/base/dists/bernoulli/cdf/benchmark/benchmark.js | 2 +- .../base/dists/bernoulli/cdf/benchmark/benchmark.native.js | 4 ++-- .../cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js index 2a8a484cf85b..c73aadee16c7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js @@ -49,7 +49,7 @@ bench( pkg, function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = cdf( x[ i%100 ], p[ i%100 ] ); + y = cdf( x[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js index 5e674042b1b6..fd48d7cd3f43 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js @@ -49,7 +49,7 @@ bench( pkg+'::native', opts, function benchmark( b ) { len = 100; x = new Float64Array( len ); for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( 2.0, 3.0 ); + x[ i ] = uniform( -1.0, 2.0 ); } p = new Float64Array( len ); for ( i = 0; i < len; i++ ) { @@ -58,7 +58,7 @@ bench( pkg+'::native', opts, function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = cdf( x[ i%100 ], p[ i%100 ] ); + y = cdf( x[ i % len ], p[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h index faa19cfc6d91..2693fac4d54c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/include/stdlib/stats/base/dists/bernoulli/cdf.h @@ -27,7 +27,7 @@ extern "C" { #endif /** -Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. +* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. */ double stdlib_base_dists_bernoulli_cdf( const double x, const double p ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js index 980b1ccc2f28..d54c641b558a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/main.js @@ -26,7 +26,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); // MAIN // /** -* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. +* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. * * @param {number} x - input value * @param {Probability} p - success probability diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js index 01c632a31bdf..40071e4c375c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js @@ -26,7 +26,7 @@ var addon = require( './../src/addon.node' ); // MAIN // /** -* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. +* Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. * * @param {number} x - input value * @param {Probability} p - success probability From 1eca739c40cd49e0839f3655877cebef6dd19608 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Wed, 5 Feb 2025 20:07:35 +0530 Subject: [PATCH 15/22] chore: changes from code review --- lib/node_modules/@stdlib/repl/README.md | 6 ++--- .../stats/base/dists/bernoulli/cdf/README.md | 4 ++-- .../bernoulli/cdf/benchmark/benchmark.js | 2 +- .../base/dists/bernoulli/cdf/lib/native.js | 1 + .../stats/base/dists/bernoulli/cdf/src/main.c | 23 +------------------ 5 files changed, 8 insertions(+), 28 deletions(-) diff --git a/lib/node_modules/@stdlib/repl/README.md b/lib/node_modules/@stdlib/repl/README.md index 7647a61919fd..d539f3984453 100644 --- a/lib/node_modules/@stdlib/repl/README.md +++ b/lib/node_modules/@stdlib/repl/README.md @@ -1329,9 +1329,9 @@ Out[2]: [ 'stdlib-ansi-basic', 'myTheme' ] Starts a tutorial. -```text -In [1]: var id = tutorial( 'repl' ); -``` + ```text + In [1]: var id = tutorial( 'repl' ); + ``` The function accepts the following `options`: diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index d6c6b0d7a9b0..ad9267f426da 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2024 The Stdlib Authors. +Copyright (c) 2018 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. @@ -167,7 +167,7 @@ double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); The function accepts the following arguments - **x**: `[in] double` input value. -- **p**: `[in] double` success probability +- **p**: `[in] double` success probability. ```c double stdlib_base_dists_bernoulli_cdf( const double x, const double p ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js index c73aadee16c7..b5f76650b49e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js @@ -81,7 +81,7 @@ bench( pkg+':factory', function benchmark( b ) { b.tic(); for ( i = 0; i < b.iterations; i++ ) { - y = mycdf( x[ i%100 ] ); + y = mycdf( x[ i % len ] ); if ( isnan( y ) ) { b.fail( 'should not return NaN' ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js index 40071e4c375c..6d1e9642e39b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js @@ -28,6 +28,7 @@ var addon = require( './../src/addon.node' ); /** * Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p` at a value `x`. * +* @private * @param {number} x - input value * @param {Probability} p - success probability * @returns {Probability} evaluated CDF diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index b42f19a72ec1..13c33fc0ced5 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -24,32 +24,11 @@ * * @param x input value * @param p success probability -* @returns evaluated CDF +* @returns expected value * * @example * double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); * // returns ~0.5 -* -* @example -* double y = stdlib_base_dists_bernoulli_cdf( 2.0, 0.1 ); -* // returns ~1.0 -* -* @example -* double y = stdlib_base_dists_bernoulli_cdf( -1.0, 0.3 ); -* // returns ~0.0 -* -* @example -* double y = stdlib_base_dists_bernoulli_cdf( NaN, 0.5 ); -* // returns NaN -* -* @example -* double y = stdlib_base_dists_bernoulli_cdf( 0.0, NaN ); -* // returns NaN -* -* @example -* // Invalid probability -* double y = stdlib_base_dists_bernoulli_cdf( 0.5, 1.4 ); -* // returns NaN */ double stdlib_base_dists_bernoulli_cdf( const double x, const double p ) { if ( From c80dab91b88773a3c4fbccc390c806fe2676300b Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Wed, 5 Feb 2025 22:35:06 +0530 Subject: [PATCH 16/22] chore: update C doxygen --- .../@stdlib/stats/base/dists/bernoulli/cdf/src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index 13c33fc0ced5..da66b3b03ce2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -24,7 +24,7 @@ * * @param x input value * @param p success probability -* @returns expected value +* @returns evaluated CDF * * @example * double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); From e6796cd15f807a9a41d2e4f09461cd8a2404a8dc Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Thu, 6 Feb 2025 09:27:20 +0530 Subject: [PATCH 17/22] chore: stuff from code review --- .../@stdlib/stats/base/dists/bernoulli/cdf/README.md | 4 ++-- .../stats/base/dists/bernoulli/cdf/benchmark/benchmark.js | 4 +--- .../base/dists/bernoulli/cdf/benchmark/benchmark.native.js | 4 +--- .../stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c | 4 +--- .../stats/base/dists/bernoulli/cdf/examples/c/example.c | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/src/main.c | 4 ++-- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index ad9267f426da..7c484a115e32 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -161,7 +161,7 @@ Evaluates the cumulative distribution function (CDF) for a Bernoulli distributio ```c double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); -// returns ~0.5 +// returns 0.5 ``` The function accepts the following arguments @@ -211,7 +211,7 @@ int main( void ) { x = random_uniform( 0.0, 5.0 ); p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); - printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); + printf( "x: %lf. p: %1f. F(X;p): %lf\n", x, p , y ); } } ``` diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js index b5f76650b49e..ccc1f8424cb3 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.js @@ -39,11 +39,9 @@ bench( pkg, function benchmark( b ) { len = 100; x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( -1.0, 2.0 ); - } p = new Float64Array( len ); for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( -1.0, 2.0 ); p[ i ] = uniform( 0.0, 1.0 ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js index fd48d7cd3f43..b8800154dec5 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/benchmark.native.js @@ -48,11 +48,9 @@ bench( pkg+'::native', opts, function benchmark( b ) { len = 100; x = new Float64Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = uniform( -1.0, 2.0 ); - } p = new Float64Array( len ); for ( i = 0; i < len; i++ ) { + x[ i ] = uniform( -1.0, 2.0 ); p[ i ] = uniform( 0.0, 1.0 ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c index c6f012840383..1db3fec2d357 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/benchmark/c/benchmark.c @@ -101,14 +101,12 @@ static double benchmark( void ) { for ( i = 0; i < 100; i++ ) { p[ i ] = random_uniform( 0.0, 1.0 ); - } - for ( i = 0; i < 100; i++ ) { x[ i ] = random_uniform( -1.0, 2.0 ); } t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - y = stdlib_base_dists_bernoulli_cdf( x[ i%100 ], p[ i%100 ] ); + y = stdlib_base_dists_bernoulli_cdf( x[ i % 100 ], p[ i % 100 ] ); if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c index 89bc9648ec37..583d68714433 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c @@ -35,6 +35,6 @@ int main( void ) { x = random_uniform( 0.0, 5.0 ); p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); - printf( "x: %lf , p: %1f, F(X;p): %lf\n", x, p , y ); + printf( "x: %lf. p: %1f. F(X;p): %lf\n", x, p , y ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index da66b3b03ce2..30c8f9e3c882 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -24,11 +24,11 @@ * * @param x input value * @param p success probability -* @returns evaluated CDF +* @return evaluated CDF * * @example * double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); -* // returns ~0.5 +* // returns 0.5 */ double stdlib_base_dists_bernoulli_cdf( const double x, const double p ) { if ( From 168e55df5fe71c6ee8151057fd17d44d4177cd7f Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Thu, 6 Feb 2025 09:32:43 +0530 Subject: [PATCH 18/22] fix: stack parameter --- .../@stdlib/stats/base/dists/bernoulli/cdf/src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index 30c8f9e3c882..b396c3a3f8ec 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -24,7 +24,7 @@ * * @param x input value * @param p success probability -* @return evaluated CDF +* @return evaluated CDF * * @example * double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); From 775fdb7d85f1a0d6a827ca8ce32a40a04945e8ee Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Fri, 7 Feb 2025 10:39:44 +0530 Subject: [PATCH 19/22] chore: minor clean up --- .../@stdlib/stats/base/dists/bernoulli/cdf/README.md | 2 +- .../@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index 7c484a115e32..c9c1dba543ee 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -211,7 +211,7 @@ int main( void ) { x = random_uniform( 0.0, 5.0 ); p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); - printf( "x: %lf. p: %1f. F(X;p): %lf\n", x, p , y ); + printf( "x: %lf. p: %lf. F(X;p): %lf\n", x, p, y ); } } ``` diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c index 583d68714433..d764786c4bc5 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/examples/c/example.c @@ -35,6 +35,6 @@ int main( void ) { x = random_uniform( 0.0, 5.0 ); p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); - printf( "x: %lf. p: %1f. F(X;p): %lf\n", x, p , y ); + printf( "x: %lf, p: %lf, F(X;p): %lf\n", x, p, y ); } } From b2563801547df0818ae44d37a65cff6fb5ae17af Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Fri, 7 Feb 2025 20:09:09 +0530 Subject: [PATCH 20/22] chore: update markdown description --- .../@stdlib/stats/base/dists/bernoulli/cdf/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index c9c1dba543ee..3be19d65745e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -157,7 +157,7 @@ for ( i = 0; i < 10; i++ ) { #### stdlib_base_dists_bernoulli_cdf( x, p ) -Evaluates the cumulative distribution function (CDF) for a Bernoulli distribution with success probability `p`. +Returns a function for evaluating the [cumulative distribution function][cdf] of a [Bernoulli][bernoulli-distribution] distribution with success probability `p` ```c double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 ); @@ -211,7 +211,7 @@ int main( void ) { x = random_uniform( 0.0, 5.0 ); p = random_uniform( 0.0, 1.0 ); y = stdlib_base_dists_bernoulli_cdf( x, p ); - printf( "x: %lf. p: %lf. F(X;p): %lf\n", x, p, y ); + printf( "x: %lf, p: %lf, F(X;p): %lf\n", x, p, y ); } } ``` From c60877ce7090c78bd54400d6cbf924e9961fc5f0 Mon Sep 17 00:00:00 2001 From: Neerajpathak07 Date: Tue, 11 Feb 2025 12:57:42 +0530 Subject: [PATCH 21/22] chore: update tests --- .../base/dists/bernoulli/cdf/lib/native.js | 17 +++++++------- .../stats/base/dists/bernoulli/cdf/src/main.c | 2 +- .../base/dists/bernoulli/cdf/test/test.cdf.js | 22 ++----------------- .../dists/bernoulli/cdf/test/test.native.js | 22 ++----------------- 4 files changed, 14 insertions(+), 49 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js index 6d1e9642e39b..5254523e7993 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/lib/native.js @@ -34,12 +34,16 @@ var addon = require( './../src/addon.node' ); * @returns {Probability} evaluated CDF * * @example -* var y = cdf( 1.0, 0.5 ); +* var y = cdf( 0.5, 0.5 ); +* // returns 0.5 +* +* @example +* var y = cdf( 2.0, 0.1 ); * // returns 1.0 * * @example -* var y = cdf( 0.5, 0.5 ); -* // returns 0.5 +* var y = cdf( -1.0, 0.3 ); +* // returns 0.0 * * @example * var y = cdf( NaN, 0.5 ); @@ -50,11 +54,8 @@ var addon = require( './../src/addon.node' ); * // returns NaN * * @example -* var y = cdf( 0.9, -1.0 ); -* // returns NaN -* -* @example -* var y = cdf( 0.9, 1.5 ); +* // Invalid probability +* var y = cdf( 0.5, 1.4 ); * // returns NaN */ function cdf( x, p ) { diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c index b396c3a3f8ec..9c37bb59e5f3 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/src/main.c @@ -45,5 +45,5 @@ double stdlib_base_dists_bernoulli_cdf( const double x, const double p ) { if ( x >= 1.0 ) { return 1.0; } - return 1.0 - p ; + return 1.0 - p; } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.cdf.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.cdf.js index 5dc9cd3905a2..723f3aeb2f4f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.cdf.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.cdf.js @@ -22,10 +22,8 @@ var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var cdf = require( './../lib' ); @@ -90,8 +88,6 @@ tape( 'if provided a value outside `[0,1]` for success probability `p`, the func tape( 'the function evaluates the cdf for `x` given small parameter `p`', function test( t ) { var expected; - var delta; - var tol; var x; var p; var y; @@ -102,21 +98,13 @@ tape( 'the function evaluates the cdf for `x` given small parameter `p`', functi p = smallP.p; for ( i = 0; i < x.length; i++ ) { y = cdf( x[i], p[i] ); - if ( y === expected[i] ) { - t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); - } else { - delta = abs( y - expected[ i ] ); - tol = 20.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. p: '+p[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); } t.end(); }); tape( 'the function evaluates the cdf for `x` given large parameter `p`', function test( t ) { var expected; - var delta; - var tol; var x; var p; var y; @@ -127,13 +115,7 @@ tape( 'the function evaluates the cdf for `x` given large parameter `p`', functi p = largeP.p; for ( i = 0; i < x.length; i++ ) { y = cdf( x[i], p[i] ); - if ( y === expected[i] ) { - t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); - } else { - delta = abs( y - expected[ i ] ); - tol = 1.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. p: '+p[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js index f11cdc608ca7..dac745710587 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/test/test.native.js @@ -24,10 +24,8 @@ 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 PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); // FIXTURES // @@ -99,8 +97,6 @@ tape( 'if provided a value outside `[0,1]` for success probability `p`, the func tape( 'the function evaluates the cdf for `x` given small parameter `p`', opts, function test( t ) { var expected; - var delta; - var tol; var x; var p; var y; @@ -111,21 +107,13 @@ tape( 'the function evaluates the cdf for `x` given small parameter `p`', opts, p = smallP.p; for ( i = 0; i < x.length; i++ ) { y = cdf( x[i], p[i] ); - if ( y === expected[i] ) { - t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); - } else { - delta = abs( y - expected[ i ] ); - tol = 20.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. p: '+p[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); } t.end(); }); tape( 'the function evaluates the cdf for `x` given large parameter `p`', opts, function test( t ) { var expected; - var delta; - var tol; var x; var p; var y; @@ -136,13 +124,7 @@ tape( 'the function evaluates the cdf for `x` given large parameter `p`', opts, p = largeP.p; for ( i = 0; i < x.length; i++ ) { y = cdf( x[i], p[i] ); - if ( y === expected[i] ) { - t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); - } else { - delta = abs( y - expected[ i ] ); - tol = 1.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. p: '+p[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); } t.end(); }); From 05dcbb2ea650e094f48c7813b1c5deb119601bcd Mon Sep 17 00:00:00 2001 From: Philipp Burckhardt Date: Wed, 23 Apr 2025 21:38:37 -0400 Subject: [PATCH 22/22] chore: apply suggestions from code review Signed-off-by: Philipp Burckhardt --- lib/node_modules/@stdlib/repl/README.md | 6 +++--- .../@stdlib/stats/base/dists/bernoulli/cdf/README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/repl/README.md b/lib/node_modules/@stdlib/repl/README.md index d539f3984453..7647a61919fd 100644 --- a/lib/node_modules/@stdlib/repl/README.md +++ b/lib/node_modules/@stdlib/repl/README.md @@ -1329,9 +1329,9 @@ Out[2]: [ 'stdlib-ansi-basic', 'myTheme' ] Starts a tutorial. - ```text - In [1]: var id = tutorial( 'repl' ); - ``` +```text +In [1]: var id = tutorial( 'repl' ); +``` The function accepts the following `options`: diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md index 3be19d65745e..e3556b53f7a9 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/cdf/README.md @@ -157,7 +157,7 @@ for ( i = 0; i < 10; i++ ) { #### stdlib_base_dists_bernoulli_cdf( x, p ) -Returns a function for evaluating the [cumulative distribution function][cdf] of a [Bernoulli][bernoulli-distribution] distribution with success probability `p` +Evaluates the [cumulative distribution function][cdf] for a [Bernoulli][bernoulli-distribution] distribution with success probability `p`. ```c double y = stdlib_base_dists_bernoulli_cdf( 0.5, 0.5 );