diff --git a/.github/.keepalive b/.github/.keepalive new file mode 100644 index 0000000..eacc344 --- /dev/null +++ b/.github/.keepalive @@ -0,0 +1 @@ +2023-11-01T04:19:28.741Z diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b17435b..0037bdb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -182,7 +182,11 @@ jobs: fi # Trim leading and trailing whitespace: dep=$(echo "$dep" | xargs) - version="^$(npm view $dep version)" + version="$(npm view $dep version)" + if [[ -z "$version" ]]; then + continue + fi + version="^$version" jq -r --arg dep "$dep" --arg version "$version" '.dependencies[$dep] = $version' package.json > package.json.tmp mv package.json.tmp package.json done @@ -192,7 +196,11 @@ jobs: fi # Trim leading and trailing whitespace: dep=$(echo "$dep" | xargs) - version="^$(npm view $dep version)" + version="$(npm view $dep version)" + if [[ -z "$version" ]]; then + continue + fi + version="^$version" jq -r --arg dep "$dep" --arg version "$version" '.devDependencies[$dep] = $version' package.json > package.json.tmp mv package.json.tmp package.json done diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 93c4bde..0dae4fe 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -37,3 +37,4 @@ Stephannie Jiménez Gacha Yernar Yergaziyev orimiles5 <97595296+orimiles5@users.noreply.github.com> rei2hu +Robert Gislason diff --git a/package.json b/package.json index 48ee9ea..c2a02d6 100644 --- a/package.json +++ b/package.json @@ -39,16 +39,16 @@ "dependencies": { "@stdlib/constants-float64-pinf": "^0.1.1", "@stdlib/math-base-assert-is-nan": "^0.1.1", - "@stdlib/math-base-assert-is-nonnegative-integer": "^0.1.0", + "@stdlib/math-base-assert-is-nonnegative-integer": "^0.1.1", "@stdlib/math-base-special-exp": "^0.1.0", - "@stdlib/math-base-special-ln": "^0.1.0" + "@stdlib/math-base-special-ln": "^0.1.1" }, "devDependencies": { "@stdlib/bench": "^0.1.0", "@stdlib/constants-float64-eps": "^0.1.1", "@stdlib/constants-float64-ninf": "^0.1.1", - "@stdlib/math-base-special-abs": "^0.1.0", - "@stdlib/math-base-special-ceil": "^0.1.0", + "@stdlib/math-base-special-abs": "^0.1.1", + "@stdlib/math-base-special-ceil": "^0.1.1", "@stdlib/math-base-special-round": "^0.1.1", "@stdlib/random-base-randu": "^0.1.0", "tape": "git+https://github.com/kgryte/tape.git#fix/globby", diff --git a/test/dist/test.js b/test/dist/test.js index ba50015..a8a9c60 100644 --- a/test/dist/test.js +++ b/test/dist/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2023 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. @@ -21,119 +21,13 @@ // MODULES // 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 entropy = require( './../../dist' ); - - -// FIXTURES // - -var data = require( './../fixtures/julia/data.json' ); +var main = require( './../../dist' ); // TESTS // -tape( 'main export is a function', function test( t ) { +tape( 'main export is defined', function test( t ) { t.ok( true, __filename ); - t.strictEqual( typeof entropy, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'if provided `NaN` for any parameter, the function returns `NaN`', function test( t ) { - var v = entropy( NaN, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( 10, NaN ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( NaN, NaN ); - t.equal( isnan( v ), true, 'returns NaN' ); - - t.end(); -}); - -tape( 'if provided an `n` which is not a nonnegative integer, the function returns `NaN`', function test( t ) { - var v; - - v = entropy( 1.5, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( -2, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( -1, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( 2.5, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( PINF, 0.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - t.end(); -}); - -tape( 'if provided a success probability `p` outside of `[0,1]`, the function returns `NaN`', function test( t ) { - var v; - - v = entropy( 20, -1.0 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( 20, 1.5 ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( 20, NINF ); - t.equal( isnan( v ), true, 'returns NaN' ); - - v = entropy( 20, PINF ); - t.equal( isnan( v ), true, 'returns NaN' ); - - t.end(); -}); - -tape( 'the function returns `0` for `p` equal to `1` or `0`', function test( t ) { - var y; - y = entropy( 3, 1.0 ); - t.equal( y, 0.0, 'returns 0' ); - - y = entropy( 3, 0.0 ); - t.equal( y, 0.0, 'returns 0' ); - - t.end(); -}); - -tape( 'the function returns `0` for `n` equal to `0`', function test( t ) { - var y; - y = entropy( 0, 0.5 ); - t.equal( y, 0.0, 'returns 0' ); - t.end(); -}); - -tape( 'the function returns the entropy of a binomial distribution', function test( t ) { - var expected; - var delta; - var tol; - var n; - var p; - var y; - var i; - - expected = data.expected; - n = data.n; - p = data.p; - for ( i = 0; i < n.length; i++ ) { - y = entropy( n[i], p[i] ); - if ( y === expected[i] ) { - t.equal( y, expected[i], 'n: '+n[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] ); - } - else { - delta = abs( y - expected[i] ); - tol = 1.0 * EPS * abs( expected[i] ); - t.strictEqual( delta <= tol, true, 'within tolerance. n: '+n[i]+'. p: '+p[i]+'. y: '+y+'. Expected: '+expected[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - } + t.strictEqual( main !== void 0, true, 'main export is defined' ); t.end(); });