From 31d7a446c4e31a8eec0bdcac534f4fc2f4bde73a Mon Sep 17 00:00:00 2001 From: stdlib-bot Date: Sat, 8 Feb 2025 17:57:43 +0000 Subject: [PATCH] Auto-generated commit --- CHANGELOG.md | 29 ++- CONTRIBUTORS | 2 + README.md | 97 ++++++++++ benchmark/benchmark.native.js | 72 ++++++++ benchmark/c/Makefile | 146 +++++++++++++++ benchmark/c/benchmark.c | 142 +++++++++++++++ binding.gyp | 170 ++++++++++++++++++ examples/c/Makefile | 146 +++++++++++++++ examples/c/example.c | 44 +++++ include.gypi | 53 ++++++ .../stdlib/stats/base/dists/binomial/mean.h | 40 +++++ lib/native.js | 59 ++++++ manifest.json | 78 ++++++++ package.json | 12 +- src/Makefile | 70 ++++++++ src/addon.c | 23 +++ src/main.c | 44 +++++ test/test.native.js | 99 ++++++++++ 18 files changed, 1323 insertions(+), 3 deletions(-) create mode 100644 benchmark/benchmark.native.js create mode 100644 benchmark/c/Makefile create mode 100644 benchmark/c/benchmark.c create mode 100644 binding.gyp create mode 100644 examples/c/Makefile create mode 100644 examples/c/example.c create mode 100644 include.gypi create mode 100644 include/stdlib/stats/base/dists/binomial/mean.h create mode 100644 lib/native.js create mode 100644 manifest.json create mode 100644 src/Makefile create mode 100644 src/addon.c create mode 100644 src/main.c create mode 100644 test/test.native.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c181c7..db6f8fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,29 @@
-## Unreleased (2025-01-21) +## Unreleased (2025-02-08) + +
+ +### Features + +- [`95dd2ff`](https://github.com/stdlib-js/stdlib/commit/95dd2ffb02ddeb98f100d73cdb017264905dd3a4) - add C implementation for `stats/base/dists/binomial/mean` [(#3681)](https://github.com/stdlib-js/stdlib/pull/3681) + +
+ + + +
+ +### Closed Issues + +This release closes the following issue: + +[#3469](https://github.com/stdlib-js/stdlib/issues/3469) + +
+ +
@@ -12,6 +34,7 @@
+- [`95dd2ff`](https://github.com/stdlib-js/stdlib/commit/95dd2ffb02ddeb98f100d73cdb017264905dd3a4) - **feat:** add C implementation for `stats/base/dists/binomial/mean` [(#3681)](https://github.com/stdlib-js/stdlib/pull/3681) _(by Prashant Kumar Yadav, Philipp Burckhardt)_ - [`af55f0d`](https://github.com/stdlib-js/stdlib/commit/af55f0d6d6b4d06c36f46357740ea89a4639ab5b) - **bench:** refactor random number generation in `stats/base/dists/binomial` [(#4841)](https://github.com/stdlib-js/stdlib/pull/4841) _(by Karan Anand)_
@@ -24,9 +47,11 @@ ### Contributors -A total of 1 person contributed to this release. Thank you to this contributor: +A total of 3 people contributed to this release. Thank you to the following contributors: - Karan Anand +- Philipp Burckhardt +- Prashant Kumar Yadav
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index aedb148..bbccf30 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -63,6 +63,7 @@ Marcus Fantham Matt Cochrane Mihir Pandit <129577900+MSP20086@users.noreply.github.com> Milan Raj +Mohammad Bin Aftab <48010758+MohammadBinAftab@users.noreply.github.com> Mohammad Kaif Momtchil Momtchev Muhammad Haris @@ -125,5 +126,6 @@ Xiaochuan Ye Yaswanth Kosuru <116426380+yaswanthkosuru@users.noreply.github.com> Yernar Yergaziyev olenkabilonizhka <62379231+olenkabilonizhka@users.noreply.github.com> +pranav-1720 <123018993+pranav-1720@users.noreply.github.com> rainn <88160429+AmCodesLame@users.noreply.github.com> rei2hu diff --git a/README.md b/README.md index 55aef37..c266c93 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,103 @@ for ( i = 0; i < 10; i++ ) { + + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/dists/binomial/mean.h" +``` + +#### stdlib_base_dists_binomial_mean( n, p ) + +Returns the [expected value][expected-value] of a [binomial][binomial-distribution] distribution with number of trials `n` and success probability `p`. + +```c +double out = stdlib_base_dists_binomial_mean( 100, 0.1 ); +// returns 10.0 +``` + +The function accepts the following arguments: + +- **n**: `[in] int32_t` number of trials. +- **p**: `[in] double` success probability. + +```c +double stdlib_base_dists_binomial_mean( const int32_t n, const double p ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/stats/base/dists/binomial/mean.h" +#include "stdlib/math/base/special/ceil.h" +#include +#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 ) { + int32_t n; + double p; + double y; + int i; + + for ( i = 0; i < 25; i++ ) { + n = stdlib_base_ceil( random_uniform( 0.0, 100.0 ) ); + p = random_uniform( 0.0, 1.0 ); + y = stdlib_base_dists_binomial_mean( n, p ); + printf( "n: %d, p: %lf, E(X;n,p): %lf\n", n, p, y ); + } + + return 0; +} +``` + +
+ + + +
+ + +