From 4be6d9d7d0d740460ba5ce6b66f2b6a7036830bd Mon Sep 17 00:00:00 2001
From: Siddhartha <92244610+Witty-31-06@users.noreply.github.com>
Date: Fri, 6 Mar 2026 20:18:44 +0530
Subject: [PATCH 1/5] feat: add C implementation for
`stats/base/dists/chisquare/logpdf`
---
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
status: passed
- 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: na
- task: lint_javascript_tests
status: passed
- task: lint_javascript_benchmarks
status: passed
- task: lint_python
status: na
- task: lint_r
status: na
- task: lint_c_src
status: missing_dependencies
- task: lint_c_examples
status: missing_dependencies
- task: lint_c_benchmarks
status: missing_dependencies
- task: lint_c_tests_fixtures
status: na
- task: lint_shell
status: na
- task: lint_typescript_declarations
status: passed
- task: lint_typescript_tests
status: na
- task: lint_license_headers
status: passed
---
---
.../base/dists/chisquare/logpdf/README.md | 95 ++++++++++
.../logpdf/benchmark/benchmark.native.js | 71 ++++++++
.../chisquare/logpdf/benchmark/c/Makefile | 146 +++++++++++++++
.../chisquare/logpdf/benchmark/c/benchmark.c | 139 ++++++++++++++
.../base/dists/chisquare/logpdf/binding.gyp | 170 ++++++++++++++++++
.../chisquare/logpdf/examples/c/Makefile | 146 +++++++++++++++
.../chisquare/logpdf/examples/c/example.c | 40 +++++
.../base/dists/chisquare/logpdf/include.gypi | 53 ++++++
.../stats/base/dists/chisquare/logpdf.h | 38 ++++
.../base/dists/chisquare/logpdf/lib/native.js | 68 +++++++
.../base/dists/chisquare/logpdf/manifest.json | 76 ++++++++
.../base/dists/chisquare/logpdf/package.json | 3 +
.../base/dists/chisquare/logpdf/src/Makefile | 70 ++++++++
.../base/dists/chisquare/logpdf/src/addon.c | 22 +++
.../base/dists/chisquare/logpdf/src/main.c | 35 ++++
.../chisquare/logpdf/test/test.native.js | 150 ++++++++++++++++
16 files changed, 1322 insertions(+)
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/benchmark/benchmark.native.js
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/benchmark/c/Makefile
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/benchmark/c/benchmark.c
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/binding.gyp
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/examples/c/Makefile
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/examples/c/example.c
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/include.gypi
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/include/stdlib/stats/base/dists/chisquare/logpdf.h
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/lib/native.js
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/manifest.json
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/src/Makefile
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/src/addon.c
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/src/main.c
create mode 100644 lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/test/test.native.js
diff --git a/lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/README.md b/lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/README.md
index b192545a19e0..da8203c61b2d 100644
--- a/lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/README.md
+++ b/lib/node_modules/@stdlib/stats/base/dists/chisquare/logpdf/README.md
@@ -137,6 +137,101 @@ logEachMap( 'x: %0.4f, k: %0.4f, ln(f(x;k)): %0.4f', x, k, logpdf );
+
+
+* * *
+
+
+
+## C APIs
+
+
+
+
+
+
+
+
+
+
+
+### Usage
+
+```c
+#include "stdlib/stats/base/dists/chisquare/logpdf.h"
+```
+
+#### stdlib_base_dists_chisquare_logpdf( x, k )
+
+Evaluates the natural logarithm of the [probability density function][pdf] (PDF) for a [chi-squared][chisquare-distribution] distribution with degrees of freedom `k`.
+
+```c
+double out = stdlib_base_dists_chisquare_logpdf( 0.1, 1.0 );
+// returns ~0.182
+```
+
+The function accepts the following arguments:
+
+- **x**: `[in] double` input value.
+- **k**: `[in] double` degrees of freedom.
+
+```c
+double stdlib_base_dists_chisquare_logpdf( const double x, const double k );
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Examples
+
+```c
+#include "stdlib/stats/base/dists/chisquare/logpdf.h"
+#include
+#include
+
+static double random_uniform( const double min, const double max ) {
+ double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
+ return min + ( v*(max-min) );
+}
+
+int main( void ) {
+ double x;
+ double k;
+ double y;
+ int i;
+
+ for ( i = 0; i < 25; i++ ) {
+ x = random_uniform( 0.0, 10.0 );
+ k = random_uniform( 0.1, 10.0 );
+ y = stdlib_base_dists_chisquare_logpdf( x, k );
+ printf( "x: %lf, k: %lf, ln(f(x;k)): %lf\n", x, k, y );
+ }
+}
+```
+
+
+
+
+
+
+
+
+