From c35b86801bd32642b13a27d4fec9c691a09551fd Mon Sep 17 00:00:00 2001 From: Shubham Date: Fri, 6 Feb 2026 02:11:55 +0530 Subject: [PATCH 1/2] feat: add implementation of stats/strided/distances/dcanberra --- 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: passed - 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: 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: passed - task: lint_license_headers status: passed --- --- .../triangular/cdf/benchmark/benchmark.js | 3 +- .../cdf/benchmark/benchmark.native.js | 3 +- .../triangular/ctor/benchmark/benchmark.js | 37 +- .../entropy/benchmark/benchmark.native.js | 3 +- .../kurtosis/benchmark/benchmark.native.js | 3 +- .../triangular/logcdf/benchmark/benchmark.js | 3 +- .../logcdf/benchmark/benchmark.native.js | 3 +- .../triangular/logpdf/benchmark/benchmark.js | 3 +- .../logpdf/benchmark/benchmark.native.js | 5 +- .../mean/benchmark/benchmark.native.js | 3 +- .../median/benchmark/benchmark.native.js | 3 +- .../triangular/mgf/benchmark/benchmark.js | 3 +- .../mgf/benchmark/benchmark.native.js | 3 +- .../mode/benchmark/benchmark.native.js | 3 +- .../triangular/pdf/benchmark/benchmark.js | 3 +- .../pdf/benchmark/benchmark.native.js | 3 +- .../quantile/benchmark/benchmark.js | 3 +- .../quantile/benchmark/benchmark.native.js | 3 +- .../skewness/benchmark/benchmark.native.js | 3 +- .../stdev/benchmark/benchmark.native.js | 3 +- .../variance/benchmark/benchmark.native.js | 14 +- .../stats/base/ndarray/dmaxabs/README.md | 149 +++++++- .../ndarray/dmaxabs/benchmark/benchmark.js | 5 +- .../dmaxabs/benchmark/benchmark.native.js | 114 ++++++ .../base/ndarray/dmaxabs/benchmark/c/Makefile | 146 ++++++++ .../dmaxabs/benchmark/c/benchmark.length.c | 185 ++++++++++ .../stats/base/ndarray/dmaxabs/binding.gyp | 170 +++++++++ .../base/ndarray/dmaxabs/examples/c/Makefile | 146 ++++++++ .../base/ndarray/dmaxabs/examples/c/example.c | 74 ++++ .../stats/base/ndarray/dmaxabs/include.gypi | 53 +++ .../stdlib/stats/base/ndarray/dmaxabs.h | 40 +++ .../stats/base/ndarray/dmaxabs/lib/index.js | 16 +- .../stats/base/ndarray/dmaxabs/lib/native.js | 55 +++ .../stats/base/ndarray/dmaxabs/manifest.json | 110 ++++++ .../stats/base/ndarray/dmaxabs/package.json | 4 + .../stats/base/ndarray/dmaxabs/src/Makefile | 70 ++++ .../stats/base/ndarray/dmaxabs/src/addon.c | 58 +++ .../stats/base/ndarray/dmaxabs/src/main.c | 33 ++ .../stats/base/ndarray/dmaxabs/test/test.js | 152 ++------ .../base/ndarray/dmaxabs/test/test.main.js | 172 +++++++++ .../base/ndarray/dmaxabs/test/test.native.js | 181 ++++++++++ .../strided/distances/dcanberra/README.md | 336 ++++++++++++++++++ .../dcanberra/benchmark/benchmark.js | 104 ++++++ .../dcanberra/benchmark/benchmark.native.js | 109 ++++++ .../dcanberra/benchmark/benchmark.ndarray.js | 104 ++++++ .../benchmark/benchmark.ndarray.native.js | 109 ++++++ .../distances/dcanberra/benchmark/c/Makefile | 146 ++++++++ .../dcanberra/benchmark/c/benchmark.length.c | 205 +++++++++++ .../strided/distances/dcanberra/binding.gyp | 265 ++++++++++++++ .../strided/distances/dcanberra/docs/repl.txt | 110 ++++++ .../distances/dcanberra/docs/types/index.d.ts | 103 ++++++ .../distances/dcanberra/docs/types/test.ts | 248 +++++++++++++ .../distances/dcanberra/examples/c/Makefile | 146 ++++++++ .../distances/dcanberra/examples/c/example.c | 45 +++ .../distances/dcanberra/examples/index.js | 34 ++ .../strided/distances/dcanberra/include.gypi | 70 ++++ .../stats/strided/distances/dcanberra.h | 45 +++ .../distances/dcanberra/lib/dcanberra.js | 57 +++ .../dcanberra/lib/dcanberra.native.js | 54 +++ .../strided/distances/dcanberra/lib/index.js | 70 ++++ .../strided/distances/dcanberra/lib/main.js | 35 ++ .../strided/distances/dcanberra/lib/native.js | 35 ++ .../distances/dcanberra/lib/ndarray.js | 86 +++++ .../distances/dcanberra/lib/ndarray.native.js | 56 +++ .../strided/distances/dcanberra/manifest.json | 103 ++++++ .../strided/distances/dcanberra/package.json | 74 ++++ .../strided/distances/dcanberra/src/Makefile | 70 ++++ .../strided/distances/dcanberra/src/addon.c | 66 ++++ .../strided/distances/dcanberra/src/main.c | 74 ++++ .../dcanberra/test/test.dcanberra.js | 217 +++++++++++ .../dcanberra/test/test.dcanberra.native.js | 226 ++++++++++++ .../strided/distances/dcanberra/test/test.js | 82 +++++ .../distances/dcanberra/test/test.ndarray.js | 240 +++++++++++++ 73 files changed, 5599 insertions(+), 168 deletions(-) create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/benchmark/c/benchmark.length.c create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/binding.gyp create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/include.gypi create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/include/stdlib/stats/base/ndarray/dmaxabs.h create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/lib/native.js create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/manifest.json create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/src/Makefile create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/src/addon.c create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/src/main.c create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/test/test.main.js create mode 100644 lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/test/test.native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/README.md create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/benchmark/benchmark.ndarray.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/benchmark/benchmark.ndarray.native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/benchmark/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/benchmark/c/benchmark.length.c create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/binding.gyp create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/examples/index.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/include.gypi create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/include/stdlib/stats/strided/distances/dcanberra.h create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/dcanberra.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/dcanberra.native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/index.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/main.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/ndarray.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/lib/ndarray.native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/manifest.json create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/package.json create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/src/Makefile create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/src/addon.c create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/src/main.c create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/test/test.dcanberra.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/test/test.dcanberra.native.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/test/test.js create mode 100644 lib/node_modules/@stdlib/stats/strided/distances/dcanberra/test/test.ndarray.js diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js index 8513afa7ce79..e0b385d2347b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.js @@ -25,6 +25,7 @@ var Float64Array = require( '@stdlib/array/float64' ); var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var cdf = require( './../lib' ); @@ -67,7 +68,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var mycdf; var mode; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.native.js index 6066b50d39fc..e72da345a366 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/cdf/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var min; var max; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js index 41098d79b7b7..7786649257ac 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/ctor/benchmark/benchmark.js @@ -24,13 +24,14 @@ var bench = require( '@stdlib/bench' ); var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Triangular = require( './../lib' ); // MAIN // -bench( pkg+'::instantiation', function benchmark( bm ) { +bench( format( '%s::instantiation', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -55,7 +56,7 @@ bench( pkg+'::instantiation', function benchmark( bm ) { bm.end(); }); -bench( pkg+'::get:a', function benchmark( bm ) { +bench( format( '%s::get:a', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -83,7 +84,7 @@ bench( pkg+'::get:a', function benchmark( bm ) { bm.end(); }); -bench( pkg+'::set:a', function benchmark( bm ) { +bench( format( '%s::set:a', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -112,7 +113,7 @@ bench( pkg+'::set:a', function benchmark( bm ) { bm.end(); }); -bench( pkg+'::get:b', function benchmark( bm ) { +bench( format( '%s::get:b', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -140,7 +141,7 @@ bench( pkg+'::get:b', function benchmark( bm ) { bm.end(); }); -bench( pkg+'::set:b', function benchmark( bm ) { +bench( format( '%s::set:b', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -169,7 +170,7 @@ bench( pkg+'::set:b', function benchmark( bm ) { bm.end(); }); -bench( pkg+'::get:c', function benchmark( bm ) { +bench( format( '%s::get:c', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -197,7 +198,7 @@ bench( pkg+'::get:c', function benchmark( bm ) { bm.end(); }); -bench( pkg+'::set:c', function benchmark( bm ) { +bench( format( '%s::set:c', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -226,7 +227,7 @@ bench( pkg+'::set:c', function benchmark( bm ) { bm.end(); }); -bench( pkg+':entropy', function benchmark( bm ) { +bench( format( '%s:entropy', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -255,7 +256,7 @@ bench( pkg+':entropy', function benchmark( bm ) { bm.end(); }); -bench( pkg+':kurtosis', function benchmark( bm ) { +bench( format( '%s:kurtosis', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -284,7 +285,7 @@ bench( pkg+':kurtosis', function benchmark( bm ) { bm.end(); }); -bench( pkg+':mean', function benchmark( bm ) { +bench( format( '%s:mean', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -313,7 +314,7 @@ bench( pkg+':mean', function benchmark( bm ) { bm.end(); }); -bench( pkg+':median', function benchmark( bm ) { +bench( format( '%s:median', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -342,7 +343,7 @@ bench( pkg+':median', function benchmark( bm ) { bm.end(); }); -bench( pkg+':skewness', function benchmark( bm ) { +bench( format( '%s:skewness', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -371,7 +372,7 @@ bench( pkg+':skewness', function benchmark( bm ) { bm.end(); }); -bench( pkg+':stdev', function benchmark( bm ) { +bench( format( '%s:stdev', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -400,7 +401,7 @@ bench( pkg+':stdev', function benchmark( bm ) { bm.end(); }); -bench( pkg+':variance', function benchmark( bm ) { +bench( format( '%s:variance', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -429,7 +430,7 @@ bench( pkg+':variance', function benchmark( bm ) { bm.end(); }); -bench( pkg+':cdf', function benchmark( bm ) { +bench( format( '%s:cdf', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -459,7 +460,7 @@ bench( pkg+':cdf', function benchmark( bm ) { bm.end(); }); -bench( pkg+':mgf', function benchmark( bm ) { +bench( format( '%s:mgf', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -489,7 +490,7 @@ bench( pkg+':mgf', function benchmark( bm ) { bm.end(); }); -bench( pkg+':pdf', function benchmark( bm ) { +bench( format( '%s:pdf', pkg ), function benchmark( bm ) { var dist; var a; var b; @@ -519,7 +520,7 @@ bench( pkg+':pdf', function benchmark( bm ) { bm.end(); }); -bench( pkg+':quantile', function benchmark( bm ) { +bench( format( '%s:quantile', pkg ), function benchmark( bm ) { var dist; var a; var b; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js index 8260f4e7be0f..a00a3203410e 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/entropy/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var randu = require( '@stdlib/random/base/randu' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var len; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js index ad4a5ec1df15..45782baa30d2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/kurtosis/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var randu = require( '@stdlib/random/base/randu' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var len; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js index 414489d9cd3e..f36fb6569aa9 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.js @@ -25,6 +25,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var Float64Array = require( '@stdlib/array/float64' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var logcdf = require( './../lib' ); @@ -67,7 +68,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var mylogcdf; var mode; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.native.js index 278264aa095e..abb261ec6b18 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logcdf/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var min; var max; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js index 00de00352873..5b34f0b2a323 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.js @@ -25,6 +25,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var Float64Array = require( '@stdlib/array/float64' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var logpdf = require( './../lib' ); @@ -67,7 +68,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var mylogpdf; var mode; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js index 9a84b8a9ec97..90e0c0018a12 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/logpdf/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var min; var max; @@ -58,7 +59,7 @@ bench( pkg+'::native', opts, function benchmark( b ) { x[ i ] = uniform( 0.0, 30.0 ); min[ i ] = uniform( 0.0, 10.0 ); max[ i ] = uniform( min[ i ] + EPS, 40.0 + EPS + min[ i ] ); - mode[ i ] = uniform( max[ i ], max[ i ] ); + mode[ i ] = uniform( min[ i ], max[ i ] ); } b.tic(); diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js index 6b6f9fb39663..167bf8f21df9 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mean/benchmark/benchmark.native.js @@ -26,6 +26,7 @@ var Float64Array = require( '@stdlib/array/float64' ); var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -39,7 +40,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var bnd; var len; var a; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js index ad4a5ec1df15..45782baa30d2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/median/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var randu = require( '@stdlib/random/base/randu' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var len; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js index 90d2cc2b940e..bf41a809f52f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.js @@ -25,6 +25,7 @@ var Float64Array = require( '@stdlib/array/float64' ); var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var mgf = require( './../lib' ); @@ -68,7 +69,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var mymgf; var mode; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js index f1d1571d782e..4813f2f467c3 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mgf/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var min; var max; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js index 66d669f8c681..cfa5422145b0 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/mode/benchmark/benchmark.native.js @@ -26,6 +26,7 @@ var Float64Array = require( '@stdlib/array/float64' ); var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -39,7 +40,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var bnd; var len; var a; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js index 2009ea83885a..fd4aabd2920f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.js @@ -25,6 +25,7 @@ var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var Float64Array = require( '@stdlib/array/float64' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var pdf = require( './../lib' ); @@ -68,7 +69,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var mypdf; var mode; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js index 4020e9d53bf7..cd9c3f292fb5 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/pdf/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var min; var max; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js index 1c9bcc43779a..5b84429055a6 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.js @@ -25,6 +25,7 @@ var Float64Array = require( '@stdlib/array/float64' ); var uniform = require( '@stdlib/random/base/uniform' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var quantile = require( './../lib' ); @@ -67,7 +68,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var myquantile; var mode; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.native.js index 9c1946988e86..2332d4ca0b45 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/quantile/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var uniform = require( '@stdlib/random/base/uniform' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var len; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js index 5442da8fc712..004109af4854 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/skewness/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var randu = require( '@stdlib/random/base/randu' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var len; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js index eece5edb2784..bab8bb3b33ba 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/stdev/benchmark/benchmark.native.js @@ -27,6 +27,7 @@ var randu = require( '@stdlib/random/base/randu' ); var EPS = require( '@stdlib/constants/float64/eps' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -40,7 +41,7 @@ var opts = { // MAIN // -bench( pkg+'::native', opts, function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var len; var min; diff --git a/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js index 88ab58c393fc..8ea1de7502ed 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/triangular/variance/benchmark/benchmark.native.js @@ -20,17 +20,27 @@ // MODULES // +var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); var Float64Array = require( '@stdlib/array/float64' ); var randu = require( '@stdlib/random/base/randu' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; -var variance = require( './../lib' ); + + +// VARIABLES // + +var variance = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( variance instanceof Error ) +}; // MAIN // -bench( pkg+'::native', function benchmark( b ) { +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { var mode; var min; var max; diff --git a/lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/README.md b/lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/README.md index 11d0398d4d6a..7d082dd4ec55 100644 --- a/lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/README.md +++ b/lib/node_modules/@stdlib/stats/base/ndarray/dmaxabs/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2025 The Stdlib Authors. +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. @@ -95,6 +95,153 @@ console.log( v ); + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/stats/base/ndarray/dmaxabs.h" +``` + +#### stdlib_stats_dmaxabs( arrays ) + +Computes the maximum absolute value of a one-dimensional double-precision floating-point ndarray. + +```c +#include "stdlib/ndarray/ctor.h" +#include "stdlib/ndarray/dtypes.h" +#include "stdlib/ndarray/index_modes.h" +#include "stdlib/ndarray/orders.h" +#include "stdlib/ndarray/base/bytes_per_element.h" +#include + +// Create an ndarray: +const double data[] = { 1.0, -2.0, 3.0, -4.0 }; +int64_t shape[] = { 4 }; +int64_t strides[] = { STDLIB_NDARRAY_FLOAT64_BYTES_PER_ELEMENT }; +int8_t submodes[] = { STDLIB_NDARRAY_INDEX_ERROR }; + +struct ndarray *x = stdlib_ndarray_allocate( STDLIB_NDARRAY_FLOAT64, (uint8_t *)data, 1, shape, strides, 0, STDLIB_NDARRAY_ROW_MAJOR, STDLIB_NDARRAY_INDEX_ERROR, 1, submodes ); + +// Compute the maximum absolute value: +const struct ndarray *arrays[] = { x }; +double v = stdlib_stats_dmaxabs( arrays ); +// returns 4.0 + +// Free allocated memory: +stdlib_ndarray_free( x ); +``` + +The function accepts the following arguments: + +- **arrays**: `[in] struct ndarray**` list containing a one-dimensional input ndarray. + +```c +double stdlib_stats_dmaxabs( const struct ndarray *arrays[] ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/stats/base/ndarray/dmaxabs.h" +#include "stdlib/ndarray/ctor.h" +#include "stdlib/ndarray/dtypes.h" +#include "stdlib/ndarray/index_modes.h" +#include "stdlib/ndarray/orders.h" +#include "stdlib/ndarray/base/bytes_per_element.h" +#include +#include +#include + +int main( void ) { + // Create a data buffer: + const double data[] = { 1.0, -2.0, 3.0, -4.0, 5.0, -6.0, 7.0, -8.0 }; + + // Specify the number of array dimensions: + const int64_t ndims = 1; + + // Specify the array shape: + int64_t shape[] = { 4 }; + + // Specify the array strides: + int64_t strides[] = { 2*STDLIB_NDARRAY_FLOAT64_BYTES_PER_ELEMENT }; + + // Specify the byte offset: + const int64_t offset = 0; + + // Specify the array order: + const enum STDLIB_NDARRAY_ORDER order = STDLIB_NDARRAY_ROW_MAJOR; + + // Specify the index mode: + const enum STDLIB_NDARRAY_INDEX_MODE imode = STDLIB_NDARRAY_INDEX_ERROR; + + // Specify the subscript index modes: + int8_t submodes[] = { STDLIB_NDARRAY_INDEX_ERROR }; + const int64_t nsubmodes = 1; + + // Create an ndarray: + struct ndarray *x = stdlib_ndarray_allocate( STDLIB_NDARRAY_FLOAT64, (uint8_t *)data, ndims, shape, strides, offset, order, imode, nsubmodes, submodes ); + if ( x == NULL ) { + fprintf( stderr, "Error allocating memory.\n" ); + exit( 1 ); + } + + // Define a list of ndarrays: + const struct ndarray *arrays[] = { x }; + + // Compute the maximum absolute value: + double v = stdlib_stats_dmaxabs( arrays ); + + // Print the result: + printf( "maxabs: %lf\n", v ); + + // Free allocated memory: + stdlib_ndarray_free( x ); +} +``` + +
+ + + +
+ + +