Skip to content

Commit 8d0a428

Browse files
committed
feat:C implementation of stats/base/dists/weibull/skewness
--- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na ---
1 parent 98505fd commit 8d0a428

File tree

2 files changed

+14
-20
lines changed

2 files changed

+14
-20
lines changed

lib/node_modules/@stdlib/stats/base/dists/weibull/skewness/benchmark/benchmark.native.js

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* @license Apache-2.0
33
*
4-
* Copyright (c) 2024 The Stdlib Authors.
4+
* Copyright (c) 2025 The Stdlib Authors.
55
*
66
* Licensed under the Apache License, Version 2.0 (the "License");
77
* you may not use this file except in compliance with the License.
@@ -24,11 +24,11 @@ var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
2626
var randu = require( '@stdlib/random/base/randu' );
27-
var EPS = require( '@stdlib/constants/float64/eps' );
2827
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
3029
var pkg = require( './../package.json' ).name;
3130

31+
3232
// VARIABLES //
3333

3434
var skewness = tryRequire( resolve( __dirname, './../lib/native.js' ) );
@@ -39,30 +39,25 @@ var opts = {
3939

4040
// MAIN //
4141

42-
bench( pkg+'::native', opts, function benchmark( b ) {
43-
var lambda;
42+
bench( pkg, opts, function benchmark( b ) {
43+
4444
var len;
4545
var k;
46-
var skew;
47-
var x;
46+
var lambda;
4847
var y;
4948
var i;
5049

5150
len = 100;
52-
x = new Float64Array( len );
53-
lambda = new Float64Array( len );
5451
k = new Float64Array( len );
55-
skew = new Float64Array( len );
52+
lambda = new Float64Array( len );
5653
for ( i = 0; i < len; i++ ) {
57-
x[ i ] = ( randu()*100.0 ) + EPS;
58-
lambda[ i ] = ( randu()*100.0 ) + EPS;
59-
k[ i ] = ( randu()*100.0 ) + EPS;
60-
skew[ i ] = ( randu() * 2.0 ) - 1.0; // skewness between -1 and 1
54+
k[ i ] = ( randu() * 10.0 ) + 1.0; // shape parameter > 0
55+
lambda[ i ] = ( randu() * 10.0 ) + 1.0; // scale parameter > 0
6156
}
6257

6358
b.tic();
6459
for ( i = 0; i < b.iterations; i++ ) {
65-
y = skewness( x[ i % len ], k[ i % len ], skew[ i % len ] );
60+
y = skewness( k[ i % len ], lambda[ i % len ] );
6661
if ( isnan( y ) ) {
6762
b.fail( 'should not return NaN' );
6863
}

lib/node_modules/@stdlib/stats/base/dists/weibull/skewness/lib/native.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
'use strict';
2020

21-
const skewness = require('@stdlib/stats/base/dists/weibull/skewness/lib/main');
2221
// MODULES //
2322

2423
var addon = require( './../src/addon.node' );
@@ -29,9 +28,9 @@ var addon = require( './../src/addon.node' );
2928
/**
3029
* Evaluates the probability density function (PDF) of the Weibull skewness distribution.
3130
*
32-
* @param {number} x - input value
33-
* @param {PositiveInteger} n - number of observations (or shape parameter for Weibull)
34-
* @returns {Probability} evaluated PDF
31+
* @param {number} k - shape parameter
32+
* @param {PositiveInteger} lambda - scale parameter
33+
* @returns {number} evaluated skewness
3534
*
3635
* @example
3736
* var y = skewness( 2.0, 1.5 );
@@ -61,8 +60,8 @@ var addon = require( './../src/addon.node' );
6160
* var y = skewness( 2.0, 0 );
6261
* // returns NaN (invalid parameter n)
6362
*/
64-
function skewness( x, n ) {
65-
return addon( x, n );
63+
function skewness( k, lambda ) {
64+
return addon( k, lambda );
6665
}
6766

6867

0 commit comments

Comments
 (0)