From c896dc1982b017c249ed8a48c2e1787dd7c44f27 Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 12:50:52 +0530 Subject: [PATCH 01/14] add math/base/assert/is-probabilityf --- .../base/assert/is-probabilityf/README.md | 184 ++++++++++++++++++ .../is-probabilityf/benchmark/benchmark.js | 58 ++++++ .../benchmark/benchmark.native.js | 67 +++++++ .../benchmark/c/native/Makefile | 146 ++++++++++++++ .../benchmark/c/native/benchmark.c | 137 +++++++++++++ .../base/assert/is-probabilityf/binding.gyp | 170 ++++++++++++++++ .../base/assert/is-probabilityf/docs/repl.txt | 28 +++ .../is-probabilityf/docs/types/index.d.ts | 48 +++++ .../assert/is-probabilityf/docs/types/test.ts | 46 +++++ .../is-probabilityf/examples/c/Makefile | 146 ++++++++++++++ .../is-probabilityf/examples/c/example.c | 34 ++++ .../assert/is-probabilityf/examples/index.js | 34 ++++ .../base/assert/is-probabilityf/include.gypi | 53 +++++ .../stdlib/math/base/assert/is_probabilityf.h | 40 ++++ .../base/assert/is-probabilityf/lib/index.js | 46 +++++ .../base/assert/is-probabilityf/lib/main.js | 46 +++++ .../base/assert/is-probabilityf/lib/native.js | 55 ++++++ .../base/assert/is-probabilityf/manifest.json | 67 +++++++ .../base/assert/is-probabilityf/package.json | 81 ++++++++ .../base/assert/is-probabilityf/src/Makefile | 70 +++++++ .../base/assert/is-probabilityf/src/addon.c | 88 +++++++++ .../base/assert/is-probabilityf/src/main.c | 39 ++++ .../base/assert/is-probabilityf/test/test.js | 99 ++++++++++ .../is-probabilityf/test/test.native.js | 108 ++++++++++ 24 files changed, 1890 insertions(+) create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js create mode 100644 lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md new file mode 100644 index 000000000000..33cf4d4c86e9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -0,0 +1,184 @@ + + +# isProbabilityf + +> Test if a single-precision floating-point number is a probability. + +
+ +## Usage + +```javascript +var isProbabilityf = require( '@stdlib/math/base/assert/is-probabilityf' ); +``` + +#### isProbabilityf( x ) + +Tests if a single-precision floating-point number is a probability. + +```javascript +var bool = isProbabilityf( 0.5 ); +// returns true + +bool = isProbabilityf( 3.14 ); +// returns false + +bool = isProbabilityf( NaN ); +// returns false +``` + +
+ + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var isProbabilityf = require( '@stdlib/math/base/assert/is-probabilityf' ); + +var bool; +var len = 100; +var x = uniform( len, -1, 1, { + 'dtype': 'float32' +}); +var i; + +for ( i = 0; i < len; i++ ) { + bool = isProbabilityf( x[ i % len ] ); + console.log( '%d is %s', x[ i % len ], ( bool ) ? 'a probability' : 'not a probability' ); +} +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/assert/is_probabilityf.h" +``` + +#### stdlib_base_is_probabilityf( x ) + +Tests if a single-precision floating-point number is a probability. + +```c +bool out = stdlib_base_is_probabilityf( 0.5 ); +// returns true + +out = stdlib_base_is_probabilityf( 3.14 ); +// returns false +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. + +```c +bool stdlib_base_is_probabilityf( const float x ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/assert/is_probabilityf.h" +#include +#include +#include + +int main( void ) { + float x; + bool v; + int i; + + for ( i = 0; i < 100; i++ ) { + x = ( ( (float)rand() / (float)RAND_MAX ) * 2.0f ) - 1.0f; + v = stdlib_base_is_probabilityf( x ); + printf( "%f is %sa probability\n", x, ( v ) ? "" : "not " ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js new file mode 100644 index 000000000000..5fd36e20c680 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var Float32Array = require( '@stdlib/array/float32' ); +var randu = require( '@stdlib/random/base/randu' ); +var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; +var pkg = require( './../package.json' ).name; +var isProbabilityf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var len; + var x; + var y; + var i; + + len = 100; + x = new Float32Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = ( randu()*2.0 ) - 0.0; + } + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = isProbabilityf( x[ i % len ] ); + if ( typeof y !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( y ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js new file mode 100644 index 000000000000..672825479d83 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js @@ -0,0 +1,67 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var Float32Array = require( '@stdlib/array/float32' ); +var randu = require( '@stdlib/random/base/randu' ); +var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; +var tryRequire = require( '@stdlib/utils/try-require' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var isProbabilityf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( isProbabilityf instanceof Error ) +}; + + +// MAIN // + +bench( pkg+'::native', opts, function benchmark( b ) { + var len; + var x; + var y; + var i; + + len = 100; + x = new Float32Array( len ); + for ( i = 0; i < len; i++ ) { + x[ i ] = ( randu()*2.0 ) - 0.0; + } + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = isProbabilityf( x[ i % len ] ); + if ( typeof y !== 'boolean' ) { + b.fail( 'should return a boolean' ); + } + } + b.toc(); + if ( !isBoolean( y ) ) { + b.fail( 'should return a boolean' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile new file mode 100644 index 000000000000..d6b58c7f5d3e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2022 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled benchmarks. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..7bc54ec465f7 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c @@ -0,0 +1,137 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/assert/is_probabilityf.h" +#include +#include +#include +#include +#include +#include + +#define NAME "is-probabilityf" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); // TAP plan + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Generates a random number on the interval [0,1). +* +* @return random number +*/ +static float rand_float( void ) { + int r = rand(); + return (float)r / ( (float)RAND_MAX + 1.0 ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + float x[ 100 ]; + double t; + bool b; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = ( rand_float() * 2.0f ) - 0.0f; + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + b = stdlib_base_is_probabilityf( x[ i%100 ] ); + if ( b != true && b != false ) { + printf( "should return either true or false\n" ); + break; + } + } + elapsed = tic() - t; + if ( b != true && b != false ) { + printf( "should return either true or false\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::native::%s\n", NAME ); + elapsed = benchmark(); + print_results( elapsed ); + printf( "ok %d benchmark finished\n", i+1 ); + } + print_summary( REPEATS, REPEATS ); +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp new file mode 100644 index 000000000000..1058b57bab16 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp @@ -0,0 +1,170 @@ +# @license Apache-2.0 +# +# Copyright (c) 2022 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A `.gyp` file for building a Node.js native add-on. +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # List of files to include in this file: + 'includes': [ + './include.gypi', + ], + + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Target name should match the add-on export name: + 'addon_target_name%': 'addon', + + # Set variables based on the host OS: + 'conditions': [ + [ + 'OS=="win"', + { + # Define the object file suffix: + 'obj': 'obj', + }, + { + # Define the object file suffix: + 'obj': 'o', + } + ], # end condition (OS=="win") + ], # end conditions + }, # end variables + + # Define compile targets: + 'targets': [ + + # Target to generate an add-on: + { + # The target name should match the add-on export name: + 'target_name': '<(addon_target_name)', + + # Define dependencies: + 'dependencies': [], + + # Define directories which contain relevant include headers: + 'include_dirs': [ + # Local include directory: + '<@(include_dirs)', + ], + + # List of source files: + 'sources': [ + '<@(src_files)', + ], + + # Settings which should be applied when a target's object files are used as linker input: + 'link_settings': { + # Define libraries: + 'libraries': [ + '<@(libraries)', + ], + + # Define library directories: + 'library_dirs': [ + '<@(library_dirs)', + ], + }, + + # C/C++ compiler flags: + 'cflags': [ + # Enable commonly used warning options: + '-Wall', + + # Aggressive optimization: + '-O3', + ], + + # C specific compiler flags: + 'cflags_c': [ + # Specify the C standard to which a program is expected to conform: + '-std=c99', + ], + + # C++ specific compiler flags: + 'cflags_cpp': [ + # Specify the C++ standard to which a program is expected to conform: + '-std=c++11', + ], + + # Linker flags: + 'ldflags': [], + + # Apply conditions based on the host OS: + 'conditions': [ + [ + 'OS=="mac"', + { + # Linker flags: + 'ldflags': [ + '-undefined dynamic_lookup', + '-Wl,-no-pie', + '-Wl,-search_paths_first', + ], + }, + ], # end condition (OS=="mac") + [ + 'OS!="win"', + { + # C/C++ flags: + 'cflags': [ + # Generate platform-independent code: + '-fPIC', + ], + }, + ], # end condition (OS!="win") + ], # end conditions + }, # end target <(addon_target_name) + + # Target to copy a generated add-on to a standard location: + { + 'target_name': 'copy_addon', + + # Declare that the output of this target is not linked: + 'type': 'none', + + # Define dependencies: + 'dependencies': [ + # Require that the add-on be generated before building this target: + '<(addon_target_name)', + ], + + # Define a list of actions: + 'actions': [ + { + 'action_name': 'copy_addon', + 'message': 'Copying addon...', + + # Explicitly list the inputs in the command-line invocation below: + 'inputs': [], + + # Declare the expected outputs: + 'outputs': [ + '<(addon_output_dir)/<(addon_target_name).node', + ], + + # Define the command-line invocation: + 'action': [ + 'cp', + '<(PRODUCT_DIR)/<(addon_target_name).node', + '<(addon_output_dir)/<(addon_target_name).node', + ], + }, + ], # end actions + }, # end target copy_addon + ], # end targets +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/repl.txt new file mode 100644 index 000000000000..c6bd13674f69 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/repl.txt @@ -0,0 +1,28 @@ + +{{alias}}( x ) + Tests if a single-precision floating-point number value is a probability. + + A probability is defined as a number on the closed interval [0,1]. + + Parameters + ---------- + x: number + Value to test. + + Returns + ------- + bool: boolean + Boolean indicating whether the value is a probability. + + Examples + -------- + > var bool = {{alias}}( 0.5 ) + true + > bool = {{alias}}( 3.14 ) + false + > bool = {{alias}}( NaN ) + false + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts new file mode 100644 index 000000000000..ed68250648a3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts @@ -0,0 +1,48 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2019 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Tests if a single-precision floating-point number is a probability. +* +* ## Notes +* +* - A probability is defined as a number on the closed interval `[0,1]`. +* +* @param x - value to test +* @returns boolean indicating whether the value is a probability +* +* @example +* var bool = isProbabilityf( 0.5 ); +* // returns true +* +* @example +* var bool = isProbabilityf( 3.14 ); +* // returns false +* +* @example +* var bool = isProbabilityf( NaN ); +* // returns false +*/ +declare function isProbabilityf( x: number ): boolean; + + +// EXPORTS // + +export = isProbabilityf; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts new file mode 100644 index 000000000000..200e9265fd59 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts @@ -0,0 +1,46 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2019 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import isProbabilityf = require( './index' ); + + +// TESTS // + +// The function returns a boolean... +{ + isProbabilityf( 0.3 ); // $ExpectType boolean + isProbabilityf( 2 ); // $ExpectType boolean + isProbabilityf( 3.12 ); // $ExpectType boolean +} + +// The compiler throws an error if the function is provided a value other than a number... +{ + isProbabilityf( true ); // $ExpectError + isProbabilityf( false ); // $ExpectError + isProbabilityf( null ); // $ExpectError + isProbabilityf( undefined ); // $ExpectError + isProbabilityf( [] ); // $ExpectError + isProbabilityf( {} ); // $ExpectError + isProbabilityf( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + isProbabilityf(); // $ExpectError + isProbabilityf( undefined, 123 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile new file mode 100644 index 000000000000..91d364d19fc3 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2022 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := example.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled examples. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c new file mode 100644 index 000000000000..593f6c126f6b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c @@ -0,0 +1,34 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/assert/is_probabilityf.h" +#include +#include +#include + +int main( void ) { + float x; + bool v; + int i; + + for ( i = 0; i < 100; i++ ) { + x = ( ( (float)rand() / (float)RAND_MAX ) * 2.0f ) - 1.0f; + v = stdlib_base_is_probabilityf( x ); + printf( "%f is %sa probability\n", x, ( v ) ? "" : "not " ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js new file mode 100644 index 000000000000..ae3e5c52dfe4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js @@ -0,0 +1,34 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var uniform = require( '@stdlib/random/array/uniform' ); +var isProbabilityf = require( './../lib' ); + +var bool; +var len = 100; +var x = uniform( len, -1, 1, { + 'dtype': 'float32' +}); +var i; + +for ( i = 0; i < len; i++ ) { + bool = isProbabilityf( x[ i % len ] ); + console.log( '%d is %s', x[ i % len ], ( bool ) ? 'a probability' : 'not a probability' ); +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi new file mode 100644 index 000000000000..3b437d524797 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi @@ -0,0 +1,53 @@ +# @license Apache-2.0 +# +# Copyright (c) 2022 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A GYP include file for building a Node.js native add-on. +# +# Main documentation: +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Source directory: + 'src_dir': './src', + + # Include directories: + 'include_dirs': [ + ' + +/* +* If C++, prevent name mangling so that the compiler emits a binary file having undecorated names, thus mirroring the behavior of a C compiler. +*/ +#ifdef __cplusplus +extern "C" { +#endif + +/** +* Tests if a single-precision floating-point number is a probability. +*/ +bool stdlib_base_is_probabilityf( const float x ); + +#ifdef __cplusplus +} +#endif + +#endif // !STDLIB_MATH_BASE_ASSERT_IS_PROBABILITYF_H diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js new file mode 100644 index 000000000000..f935aed37bba --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js @@ -0,0 +1,46 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Test if a single-precision floating-point number is a probability. +* +* @module @stdlib/math/base/assert/is-probabilityf +* +* @example +* var isProbabilityf = require( '@stdlib/math/base/assert/is-probabilityf' ); +* +* var bool = isProbabilityf( 0.5 ); +* // returns true +* +* bool = isProbabilityf( 3.14 ); +* // returns false +* +* bool = isProbabilityf( NaN ); +* // returns false +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js new file mode 100644 index 000000000000..4e2aefe04e8f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js @@ -0,0 +1,46 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Tests if a single-precision floating-point number is a probability. +* +* @param {number} x - value to test +* @returns {boolean} boolean indicating whether the value is a probability +* +* @example +* var bool = isProbabilityf( 0.5 ); +* // returns true +* +* @example +* var bool = isProbabilityf( 3.14 ); +* // returns false +* +* @example +* var bool = isProbabilityf( NaN ); +* // returns false +*/ +function isProbabilityf( x ) { + return ( x >= 0.0 && x <= 1.0 ); +} + + +// EXPORTS // + +module.exports = isProbabilityf; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js new file mode 100644 index 000000000000..253b4594f9bf --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js @@ -0,0 +1,55 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var Boolean = require( '@stdlib/boolean/ctor' ); +var addon = require( './../src/addon.node' ); + + +// MAIN // + +/** +* Tests if a single-precision floating-point number is a probability. +* +* @private +* @param {number} x - value to test +* @returns {boolean} boolean indicating whether the value is a probability +* +* @example +* var bool = isProbabilityf( 0.5 ); +* // returns true +* +* @example +* var bool = isProbabilityf( 3.14 ); +* // returns false +* +* @example +* var bool = isProbabilityf( NaN ); +* // returns false +*/ +function isProbabilityf( x ) { + return Boolean( addon( x ) ); +} + + +// EXPORTS // + +module.exports = isProbabilityf; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json new file mode 100644 index 000000000000..1b88829e032b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json @@ -0,0 +1,67 @@ +{ + "options": { + "task": "build" + }, + "fields": [ + { + "field": "src", + "resolve": true, + "relative": true + }, + { + "field": "include", + "resolve": true, + "relative": true + }, + { + "field": "libraries", + "resolve": false, + "relative": false + }, + { + "field": "libpath", + "resolve": true, + "relative": false + } + ], + "confs": [ + { + "task": "build", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [] + }, + { + "task": "benchmark", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [] + }, + { + "task": "examples", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/random/array/uniform" + ] + } + ] +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json new file mode 100644 index 000000000000..5fdcabfa4aae --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json @@ -0,0 +1,81 @@ +{ + "name": "@stdlib/math/base/assert/is-probabilityf", + "version": "0.0.0", + "description": "Test if a single-precision floating-point number is a probability.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "gypfile": true, + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "src": "./src", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "assertion", + "assert", + "utilities", + "utility", + "utils", + "util", + "math", + "mathematics", + "float", + "double", + "dbl", + "number", + "numeric", + "probability", + "prob", + "is", + "isprobabilityf", + "isprob", + "type", + "check", + "valid", + "validate", + "test" + ] +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile new file mode 100644 index 000000000000..f79b87238713 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2022 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. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + + +# RULES # + +#/ +# Removes generated files for building an add-on. +# +# @example +# make clean-addon +#/ +clean-addon: + $(QUIET) -rm -f *.o *.node + +.PHONY: clean-addon + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: clean-addon + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c new file mode 100644 index 000000000000..75c64e644a69 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -0,0 +1,88 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/assert/is_probabilityf.h" +#include +#include +#include + +/** +* Receives JavaScript callback invocation data. +* +* @param env environment under which the function is invoked +* @param info callback data +* @return Node-API value +*/ +static napi_value addon( napi_env env, napi_callback_info info ) { + napi_status status; + + // Get callback arguments: + size_t argc = 1; + napi_value argv[ 1 ]; + status = napi_get_cb_info( env, info, &argc, argv, NULL, NULL ); + assert( status == napi_ok ); + + // Check whether we were provided the correct number of arguments: + if ( argc < 1 ) { + status = napi_throw_error( env, NULL, "invalid invocation. Insufficient arguments." ); + assert( status == napi_ok ); + return NULL; + } + if ( argc > 1 ) { + status = napi_throw_error( env, NULL, "invalid invocation. Too many arguments." ); + assert( status == napi_ok ); + return NULL; + } + + napi_valuetype vtype0; + status = napi_typeof( env, argv[ 0 ], &vtype0 ); + assert( status == napi_ok ); + if ( vtype0 != napi_number ) { + status = napi_throw_type_error( env, NULL, "invalid argument. First argument must be a number." ); + assert( status == napi_ok ); + return NULL; + } + + float x; + status = napi_get_value_float( env, argv[ 0 ], &x ); + assert( status == napi_ok ); + + bool result = stdlib_base_is_probabilityf( x ); + + napi_value v; + status = napi_create_int32( env, (int32_t)result, &v ); + assert( status == napi_ok ); + + return v; +} + +/** +* Initializes a Node-API module. +* +* @param env environment under which the function is invoked +* @param exports exports object +* @return main export +*/ +static napi_value init( napi_env env, napi_value exports ) { + napi_value fcn; + napi_status status = napi_create_function( env, "exports", NAPI_AUTO_LENGTH, addon, NULL, &fcn ); + assert( status == napi_ok ); + return fcn; +} + +NAPI_MODULE( NODE_GYP_MODULE_NAME, init ) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c new file mode 100644 index 000000000000..f7009f661602 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c @@ -0,0 +1,39 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/assert/is_probabilityf.h" +#include + +/** +* Tests if a single-precision floating-point number is a probability. +* +* @param x input value +* @return output value +* +* @example +* #include +* +* bool out = stdlib_base_is_probabilityf( 0.5 ); +* // returns true +* +* out = stdlib_base_is_probabilityf( 1.5 ); +* // returns false +*/ +bool stdlib_base_is_probabilityf( const float x ) { + return ( x >= 0.0 && x <= 1.0 ); +} diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js new file mode 100644 index 000000000000..89ede8e7bc29 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -0,0 +1,99 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2018 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var randu = require( '@stdlib/random/base/randu' ); +var isProbabilityf = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isProbabilityf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `false` if provided a number less than `0.0`', function test( t ) { + var bool; + var x; + var i; + for ( i = 0; i < 1000; i++ ) { + x = -1.0 - ( randu()*1000.0 ); + bool = isProbabilityf( x ); + t.equal( bool, false, 'returns false when provided '+x ); + } + t.end(); +}); + +tape( 'the function returns `false` if provided a number greater than `1.0`', function test( t ) { + var bool; + var x; + var i; + for ( i = 0; i < 1000; i++ ) { + x = ( randu()*1000.0 ) + 2.0; + bool = isProbabilityf( x ); + t.equal( bool, false, 'returns false when provided '+x ); + } + t.end(); +}); + +tape( 'the function returns `true` if provided a probability', function test( t ) { + var bool; + var x; + var i; + for ( i = 0; i < 1000; i++ ) { + x = randu(); + bool = isProbabilityf( x ); + t.equal( bool, true, 'returns true when provided '+x ); + } + t.end(); +}); + +tape( 'the function returns `true` if provided `+-0`', function test( t ) { + t.equal( isProbabilityf( 0.0 ), true, 'returns true' ); + t.equal( isProbabilityf( -0.0 ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `true` if provided `1`', function test( t ) { + t.equal( isProbabilityf( 1.0 ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `false` if provided `+infinity`', function test( t ) { + t.equal( isProbabilityf( PINF ), false, 'returns false' ); + t.end(); +}); + +tape( 'the function returns `false` if provided `-infinity`', function test( t ) { + t.equal( isProbabilityf( NINF ), false, 'returns false' ); + t.end(); +}); + +tape( 'the function returns `false` if provided `NaN`', function test( t ) { + t.equal( isProbabilityf( NaN ), false, 'returns false' ); + t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns false' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js new file mode 100644 index 000000000000..c3f9d260aee6 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -0,0 +1,108 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2022 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. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var tape = require( 'tape' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var randu = require( '@stdlib/random/base/randu' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// VARIABLES // + +var isProbabilityf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( isProbabilityf instanceof Error ) +}; + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof isProbabilityf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns `false` if provided a number less than `0.0`', opts, function test( t ) { + var bool; + var x; + var i; + for ( i = 0; i < 1000; i++ ) { + x = -1.0 - ( randu()*1000.0 ); + bool = isProbabilityf( x ); + t.equal( bool, false, 'returns false when provided '+x ); + } + t.end(); +}); + +tape( 'the function returns `false` if provided a number greater than `1.0`', opts, function test( t ) { + var bool; + var x; + var i; + for ( i = 0; i < 1000; i++ ) { + x = ( randu()*1000.0 ) + 2.0; + bool = isProbabilityf( x ); + t.equal( bool, false, 'returns false when provided '+x ); + } + t.end(); +}); + +tape( 'the function returns `true` if provided a probability', opts, function test( t ) { + var bool; + var x; + var i; + for ( i = 0; i < 1000; i++ ) { + x = randu(); + bool = isProbabilityf( x ); + t.equal( bool, true, 'returns true when provided '+x ); + } + t.end(); +}); + +tape( 'the function returns `true` if provided `+-0`', opts, function test( t ) { + t.equal( isProbabilityf( 0.0 ), true, 'returns true' ); + t.equal( isProbabilityf( -0.0 ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `true` if provided `1`', opts, function test( t ) { + t.equal( isProbabilityf( 1.0 ), true, 'returns true' ); + t.end(); +}); + +tape( 'the function returns `false` if provided `+infinity`', opts, function test( t ) { + t.equal( isProbabilityf( PINF ), false, 'returns false' ); + t.end(); +}); + +tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) { + t.equal( isProbabilityf( NINF ), false, 'returns false' ); + t.end(); +}); + +tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { + t.equal( isProbabilityf( NaN ), false, 'returns false' ); + t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns false' ); + t.end(); +}); From a21aba88ebf277aaa1231908ec6f20d971ae8c5f Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 12:57:24 +0530 Subject: [PATCH 02/14] add math/base/assert/is-probabilityf --- .../base/assert/is-probabilityf/benchmark/c/native/benchmark.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c index 7bc54ec465f7..7bce19a14a63 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c @@ -82,7 +82,7 @@ static double tic( void ) { */ static float rand_float( void ) { int r = rand(); - return (float)r / ( (float)RAND_MAX + 1.0 ); + return (float)r / ( (float)RAND_MAX + 1.0f ); } /** From 3ef3bcc258524a68a9033c3babcc68ca20b42d97 Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 13:17:55 +0530 Subject: [PATCH 03/14] add math/base/assert/is-probabilityf --- .../base/assert/is-probabilityf/manifest.json | 4 +- .../base/assert/is-probabilityf/src/addon.c | 70 +------------------ 2 files changed, 5 insertions(+), 69 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json index 1b88829e032b..316d6a026ac5 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json @@ -35,7 +35,9 @@ ], "libraries": [], "libpath": [], - "dependencies": [] + "dependencies": [ + "@stdlib/math/base/napi/unary" + ] }, { "task": "benchmark", diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c index 75c64e644a69..131650d9d5c4 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -17,72 +17,6 @@ */ #include "stdlib/math/base/assert/is_probabilityf.h" -#include -#include -#include +#include "stdlib/math/base/napi/unary.h" -/** -* Receives JavaScript callback invocation data. -* -* @param env environment under which the function is invoked -* @param info callback data -* @return Node-API value -*/ -static napi_value addon( napi_env env, napi_callback_info info ) { - napi_status status; - - // Get callback arguments: - size_t argc = 1; - napi_value argv[ 1 ]; - status = napi_get_cb_info( env, info, &argc, argv, NULL, NULL ); - assert( status == napi_ok ); - - // Check whether we were provided the correct number of arguments: - if ( argc < 1 ) { - status = napi_throw_error( env, NULL, "invalid invocation. Insufficient arguments." ); - assert( status == napi_ok ); - return NULL; - } - if ( argc > 1 ) { - status = napi_throw_error( env, NULL, "invalid invocation. Too many arguments." ); - assert( status == napi_ok ); - return NULL; - } - - napi_valuetype vtype0; - status = napi_typeof( env, argv[ 0 ], &vtype0 ); - assert( status == napi_ok ); - if ( vtype0 != napi_number ) { - status = napi_throw_type_error( env, NULL, "invalid argument. First argument must be a number." ); - assert( status == napi_ok ); - return NULL; - } - - float x; - status = napi_get_value_float( env, argv[ 0 ], &x ); - assert( status == napi_ok ); - - bool result = stdlib_base_is_probabilityf( x ); - - napi_value v; - status = napi_create_int32( env, (int32_t)result, &v ); - assert( status == napi_ok ); - - return v; -} - -/** -* Initializes a Node-API module. -* -* @param env environment under which the function is invoked -* @param exports exports object -* @return main export -*/ -static napi_value init( napi_env env, napi_value exports ) { - napi_value fcn; - napi_status status = napi_create_function( env, "exports", NAPI_AUTO_LENGTH, addon, NULL, &fcn ); - assert( status == napi_ok ); - return fcn; -} - -NAPI_MODULE( NODE_GYP_MODULE_NAME, init ) +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_absf ) From 051667a7645491a7186e4eed893ce5b02f407754 Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Wed, 25 Dec 2024 07:49:12 +0000 Subject: [PATCH 04/14] chore: update copyright years --- .../@stdlib/math/base/assert/is-probabilityf/README.md | 2 +- .../math/base/assert/is-probabilityf/benchmark/benchmark.js | 2 +- .../base/assert/is-probabilityf/benchmark/benchmark.native.js | 2 +- .../base/assert/is-probabilityf/benchmark/c/native/Makefile | 2 +- .../base/assert/is-probabilityf/benchmark/c/native/benchmark.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/binding.gyp | 2 +- .../math/base/assert/is-probabilityf/docs/types/index.d.ts | 2 +- .../@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts | 2 +- .../math/base/assert/is-probabilityf/examples/c/Makefile | 2 +- .../math/base/assert/is-probabilityf/examples/c/example.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/examples/index.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/include.gypi | 2 +- .../include/stdlib/math/base/assert/is_probabilityf.h | 2 +- .../@stdlib/math/base/assert/is-probabilityf/lib/index.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/lib/main.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/lib/native.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/src/Makefile | 2 +- .../@stdlib/math/base/assert/is-probabilityf/src/addon.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/src/main.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/test/test.js | 2 +- .../math/base/assert/is-probabilityf/test/test.native.js | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md index 33cf4d4c86e9..156a64b97eac 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2022 The Stdlib Authors. +Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js index 5fd36e20c680..3fa4cc208ef8 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js index 672825479d83..49947b33a025 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile index d6b58c7f5d3e..f69e9da2b4d3 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c index 7bce19a14a63..62ad246a83be 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp index 1058b57bab16..ec3992233442 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts index ed68250648a3..c101a91eff2e 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2019 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts index 200e9265fd59..223467393882 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2019 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile index 91d364d19fc3..6aed70daf167 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c index 593f6c126f6b..8197da8d7385 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js index ae3e5c52dfe4..658cc1f27e31 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi index 3b437d524797..575cb043c0bf 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h index 517d381498cc..3a786e98a1ec 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js index f935aed37bba..f8f29ef5aabb 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js index 4e2aefe04e8f..17dfae737a6a 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js index 253b4594f9bf..6ba4318ed7ae 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile index f79b87238713..bcf18aa46655 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2022 The Stdlib Authors. +# Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c index 131650d9d5c4..526da8a71cc0 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c index f7009f661602..b4d56e3e3568 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js index 89ede8e7bc29..18b7ace55b77 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2018 The Stdlib Authors. +* Copyright (c) 2024 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js index c3f9d260aee6..4458dbad068c 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. From ab7ecb0aefb0841b1b80b707244ca23397a1dee1 Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 13:22:10 +0530 Subject: [PATCH 05/14] add math/base/assert/is-probabilityf --- .../@stdlib/math/base/assert/is-probabilityf/src/addon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c index 131650d9d5c4..3dac20550f17 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -19,4 +19,4 @@ #include "stdlib/math/base/assert/is_probabilityf.h" #include "stdlib/math/base/napi/unary.h" -STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_absf ) +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_is_probabilityf ) From 867d009467edc7e635bd6e3bcf5795aadf328db7 Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 13:41:44 +0530 Subject: [PATCH 06/14] add math/base/assert/is-probabilityf --- .../base/assert/is-probabilityf/manifest.json | 5 +++- .../base/assert/is-probabilityf/src/addon.c | 25 ++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json index 316d6a026ac5..554912149389 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json @@ -36,7 +36,10 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/napi/unary" + "@stdlib/napi/argv", + "@stdlib/napi/argv-float", + "@stdlib/napi/create-int32", + "@stdlib/napi/export" ] }, { diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c index 78cdf4ec7cba..95aa481742e8 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2022 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. @@ -17,6 +17,25 @@ */ #include "stdlib/math/base/assert/is_probabilityf.h" -#include "stdlib/math/base/napi/unary.h" +#include "stdlib/napi/argv.h" +#include "stdlib/napi/argv_float.h" +#include "stdlib/napi/create_int32.h" +#include "stdlib/napi/export.h" +#include +#include -STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_is_probabilityf ) +/** +* Receives JavaScript callback invocation data. +* +* @param env environment under which the function is invoked +* @param info callback data +* @return Node-API value +*/ +static napi_value addon( napi_env env, napi_callback_info info ) { + STDLIB_NAPI_ARGV( env, info, argv, argc, 1 ); + STDLIB_NAPI_ARGV_FLOAT( env, x, argv, 0 ); + STDLIB_NAPI_CREATE_INT32( env, (int32_t)stdlib_base_is_probabilityf( x ), out ); + return out; +} + +STDLIB_NAPI_MODULE_EXPORT_FCN( addon ) From 382d7be4bdce26ad9835f807b6e6de6da2abb43b Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 13:55:13 +0530 Subject: [PATCH 07/14] add math/base/assert/is-probabilityf --- .../math/base/assert/is-probabilityf/README.md | 14 ++++++-------- .../base/assert/is-probabilityf/examples/index.js | 14 ++++++-------- .../math/base/assert/is-probabilityf/src/addon.c | 2 +- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md index 156a64b97eac..2233e5df4fc0 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -56,19 +56,17 @@ bool = isProbabilityf( NaN ); ```javascript -var uniform = require( '@stdlib/random/array/uniform' ); +var randu = require( '@stdlib/random/base/randu' ); var isProbabilityf = require( '@stdlib/math/base/assert/is-probabilityf' ); var bool; -var len = 100; -var x = uniform( len, -1, 1, { - 'dtype': 'float32' -}); +var x; var i; -for ( i = 0; i < len; i++ ) { - bool = isProbabilityf( x[ i % len ] ); - console.log( '%d is %s', x[ i % len ], ( bool ) ? 'a probability' : 'not a probability' ); +for ( i = 0; i < 100; i++ ) { + x = ( randu()*2.0 ) - 1.0; + bool = isProbabilityf( x ); + console.log( '%d is %s', x, ( bool ) ? 'a probability' : 'not a probability' ); } ``` diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js index 658cc1f27e31..d7b2188e4872 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js @@ -18,17 +18,15 @@ 'use strict'; -var uniform = require( '@stdlib/random/array/uniform' ); +var randu = require( '@stdlib/random/base/randu' ); var isProbabilityf = require( './../lib' ); var bool; -var len = 100; -var x = uniform( len, -1, 1, { - 'dtype': 'float32' -}); +var x; var i; -for ( i = 0; i < len; i++ ) { - bool = isProbabilityf( x[ i % len ] ); - console.log( '%d is %s', x[ i % len ], ( bool ) ? 'a probability' : 'not a probability' ); +for ( i = 0; i < 100; i++ ) { + x = ( randu()*2.0 ) - 1.0; + bool = isProbabilityf( x ); + console.log( '%d is %s', x, ( bool ) ? 'a probability' : 'not a probability' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c index 95aa481742e8..7af37d6f4d97 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2022 The Stdlib Authors. +* Copyright (c) 2024 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. From 86ad2f878a242a156acbbd14e0689f320f77fff9 Mon Sep 17 00:00:00 2001 From: Vivek Maurya Date: Wed, 25 Dec 2024 13:55:52 +0530 Subject: [PATCH 08/14] add math/base/assert/is-probabilityf --- .../@stdlib/math/base/assert/is-probabilityf/manifest.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json index 554912149389..96b478e49058 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/manifest.json @@ -64,9 +64,7 @@ ], "libraries": [], "libpath": [], - "dependencies": [ - "@stdlib/random/array/uniform" - ] + "dependencies": [] } ] } From 54babd57aad201143a139545ad634ec5bdd0bb2a Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Wed, 8 Jan 2025 07:31:54 +0000 Subject: [PATCH 09/14] chore: update copyright years --- .../@stdlib/math/base/assert/is-probabilityf/README.md | 2 +- .../math/base/assert/is-probabilityf/benchmark/benchmark.js | 2 +- .../base/assert/is-probabilityf/benchmark/benchmark.native.js | 2 +- .../base/assert/is-probabilityf/benchmark/c/native/Makefile | 2 +- .../base/assert/is-probabilityf/benchmark/c/native/benchmark.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/binding.gyp | 2 +- .../math/base/assert/is-probabilityf/docs/types/index.d.ts | 2 +- .../@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts | 2 +- .../math/base/assert/is-probabilityf/examples/c/Makefile | 2 +- .../math/base/assert/is-probabilityf/examples/c/example.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/examples/index.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/include.gypi | 2 +- .../include/stdlib/math/base/assert/is_probabilityf.h | 2 +- .../@stdlib/math/base/assert/is-probabilityf/lib/index.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/lib/main.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/lib/native.js | 2 +- .../@stdlib/math/base/assert/is-probabilityf/src/Makefile | 2 +- .../@stdlib/math/base/assert/is-probabilityf/src/addon.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/src/main.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/test/test.js | 2 +- .../math/base/assert/is-probabilityf/test/test.native.js | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md index 2233e5df4fc0..57538976a15e 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2024 The Stdlib Authors. +Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js index 3fa4cc208ef8..224bd51b5ac5 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js index 49947b33a025..bf7509ae5324 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile index f69e9da2b4d3..a4bd7b38fd74 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c index 62ad246a83be..e01c35824b31 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp index ec3992233442..68a1ca11d160 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/binding.gyp @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts index c101a91eff2e..87a8f3aaa773 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts index 223467393882..d7ed9fe74b51 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile index 6aed70daf167..25ced822f96a 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c index 8197da8d7385..41fd9c64ebfb 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/c/example.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js index d7b2188e4872..fb0d22ac763e 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi index 575cb043c0bf..ecfaf82a3279 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include.gypi @@ -1,6 +1,6 @@ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h index 3a786e98a1ec..bcb6e5f117c1 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/include/stdlib/math/base/assert/is_probabilityf.h @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js index f8f29ef5aabb..94fd0fa67120 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js index 17dfae737a6a..062691f239d2 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js index 6ba4318ed7ae..1b3de3e2f556 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/lib/native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile index bcf18aa46655..7733b6180cb4 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/Makefile @@ -1,7 +1,7 @@ #/ # @license Apache-2.0 # -# Copyright (c) 2024 The Stdlib Authors. +# Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c index 7af37d6f4d97..bb68a57eb8bf 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/addon.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c index b4d56e3e3568..b11bf283744e 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js index 18b7ace55b77..de6c8f8d6408 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js index 4458dbad068c..ae55e6b92883 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 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. From 571afaa05e55c52fee245fb8ef927d5b8e830fc8 Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Wed, 8 Jan 2025 22:10:11 +0530 Subject: [PATCH 10/14] Apply suggestions from code review Signed-off-by: Gunj Joshi --- .../@stdlib/math/base/assert/is-probabilityf/README.md | 4 ++-- .../assert/is-probabilityf/benchmark/c/native/benchmark.c | 2 +- .../@stdlib/math/base/assert/is-probabilityf/package.json | 2 -- .../@stdlib/math/base/assert/is-probabilityf/src/main.c | 6 +++--- .../@stdlib/math/base/assert/is-probabilityf/test/test.js | 6 +++--- .../math/base/assert/is-probabilityf/test/test.native.js | 6 +++--- 6 files changed, 12 insertions(+), 14 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md index 57538976a15e..ec9fdb75d1ec 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -105,10 +105,10 @@ for ( i = 0; i < 100; i++ ) { Tests if a single-precision floating-point number is a probability. ```c -bool out = stdlib_base_is_probabilityf( 0.5 ); +bool out = stdlib_base_is_probabilityf( 0.5f ); // returns true -out = stdlib_base_is_probabilityf( 3.14 ); +out = stdlib_base_is_probabilityf( 3.14f ); // returns false ``` diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c index e01c35824b31..29bf784e9e60 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/c/native/benchmark.c @@ -103,7 +103,7 @@ static double benchmark( void ) { t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - b = stdlib_base_is_probabilityf( x[ i%100 ] ); + b = stdlib_base_is_probabilityf( x[ i % 100 ] ); if ( b != true && b != false ) { printf( "should return either true or false\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json index 5fdcabfa4aae..a611860147db 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/package.json @@ -63,8 +63,6 @@ "math", "mathematics", "float", - "double", - "dbl", "number", "numeric", "probability", diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c index b11bf283744e..89b43b358418 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/src/main.c @@ -28,12 +28,12 @@ * @example * #include * -* bool out = stdlib_base_is_probabilityf( 0.5 ); +* bool out = stdlib_base_is_probabilityf( 0.5f ); * // returns true * -* out = stdlib_base_is_probabilityf( 1.5 ); +* out = stdlib_base_is_probabilityf( 1.5f ); * // returns false */ bool stdlib_base_is_probabilityf( const float x ) { - return ( x >= 0.0 && x <= 1.0 ); + return ( x >= 0.0f && x <= 1.0f ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js index de6c8f8d6408..6931c6e58924 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -40,7 +40,7 @@ tape( 'the function returns `false` if provided a number less than `0.0`', funct var x; var i; for ( i = 0; i < 1000; i++ ) { - x = -1.0 - ( randu()*1000.0 ); + x = -1.0 - ( randu() * 1000.0 ); bool = isProbabilityf( x ); t.equal( bool, false, 'returns false when provided '+x ); } @@ -52,7 +52,7 @@ tape( 'the function returns `false` if provided a number greater than `1.0`', fu var x; var i; for ( i = 0; i < 1000; i++ ) { - x = ( randu()*1000.0 ) + 2.0; + x = ( randu() * 1000.0 ) + 2.0; bool = isProbabilityf( x ); t.equal( bool, false, 'returns false when provided '+x ); } @@ -94,6 +94,6 @@ tape( 'the function returns `false` if provided `-infinity`', function test( t ) tape( 'the function returns `false` if provided `NaN`', function test( t ) { t.equal( isProbabilityf( NaN ), false, 'returns false' ); - t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns false' ); + t.equal( isProbabilityf( 0.0 / 0.0 ), false, 'returns false' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js index ae55e6b92883..04a6dc219557 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -49,7 +49,7 @@ tape( 'the function returns `false` if provided a number less than `0.0`', opts, var x; var i; for ( i = 0; i < 1000; i++ ) { - x = -1.0 - ( randu()*1000.0 ); + x = -1.0 - ( randu() * 1000.0 ); bool = isProbabilityf( x ); t.equal( bool, false, 'returns false when provided '+x ); } @@ -61,7 +61,7 @@ tape( 'the function returns `false` if provided a number greater than `1.0`', op var x; var i; for ( i = 0; i < 1000; i++ ) { - x = ( randu()*1000.0 ) + 2.0; + x = ( randu() * 1000.0 ) + 2.0; bool = isProbabilityf( x ); t.equal( bool, false, 'returns false when provided '+x ); } @@ -103,6 +103,6 @@ tape( 'the function returns `false` if provided `-infinity`', opts, function tes tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { t.equal( isProbabilityf( NaN ), false, 'returns false' ); - t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns false' ); + t.equal( isProbabilityf( 0.0 / 0.0 ), false, 'returns false' ); t.end(); }); From dab8a6ace3134c46cc98b7dc8376b5d7cab0b01a Mon Sep 17 00:00:00 2001 From: vivek maurya Date: Wed, 8 Jan 2025 17:18:58 +0000 Subject: [PATCH 11/14] add math/base/assert/is-probabilityf --- .../math/base/assert/is-probabilityf/README.md | 13 +++++++++---- .../assert/is-probabilityf/benchmark/benchmark.js | 12 ++++++------ .../is-probabilityf/benchmark/benchmark.native.js | 12 ++++++------ .../base/assert/is-probabilityf/examples/index.js | 13 +++++++++---- .../math/base/assert/is-probabilityf/test/test.js | 12 ++++++------ .../base/assert/is-probabilityf/test/test.native.js | 12 ++++++------ 6 files changed, 42 insertions(+), 32 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md index 2233e5df4fc0..ad553a107508 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/README.md @@ -56,17 +56,22 @@ bool = isProbabilityf( NaN ); ```javascript -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isProbabilityf = require( '@stdlib/math/base/assert/is-probabilityf' ); var bool; +var opts; var x; var i; +opts = { + 'dtype': 'float32' +}; +x = uniform( 100, -1.0, 1.0, opts ); + for ( i = 0; i < 100; i++ ) { - x = ( randu()*2.0 ) - 1.0; - bool = isProbabilityf( x ); - console.log( '%d is %s', x, ( bool ) ? 'a probability' : 'not a probability' ); + bool = isProbabilityf( x[ i ] ); + console.log( '%d is %s', x[ i ], ( bool ) ? 'a probability' : 'not a probability' ); } ``` diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js index 3fa4cc208ef8..4dae6a28c1d7 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.js @@ -21,8 +21,7 @@ // MODULES // var bench = require( '@stdlib/bench' ); -var Float32Array = require( '@stdlib/array/float32' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var pkg = require( './../package.json' ).name; var isProbabilityf = require( './../lib' ); @@ -31,16 +30,17 @@ var isProbabilityf = require( './../lib' ); // MAIN // bench( pkg, function benchmark( b ) { + var opts; var len; var x; var y; var i; len = 100; - x = new Float32Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = ( randu()*2.0 ) - 0.0; - } + opts = { + 'dtype': 'float32' + }; + x = uniform( len, -1.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js index 49947b33a025..206da1940e00 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/benchmark/benchmark.native.js @@ -22,8 +22,7 @@ var resolve = require( 'path' ).resolve; var bench = require( '@stdlib/bench' ); -var Float32Array = require( '@stdlib/array/float32' ); -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive; var tryRequire = require( '@stdlib/utils/try-require' ); var pkg = require( './../package.json' ).name; @@ -40,16 +39,17 @@ var opts = { // MAIN // bench( pkg+'::native', opts, function benchmark( b ) { + var opts; var len; var x; var y; var i; len = 100; - x = new Float32Array( len ); - for ( i = 0; i < len; i++ ) { - x[ i ] = ( randu()*2.0 ) - 0.0; - } + opts = { + 'dtype': 'float32' + }; + x = uniform( len, -1.0, 1.0, opts ); b.tic(); for ( i = 0; i < b.iterations; i++ ) { diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js index d7b2188e4872..654fe71bed72 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/examples/index.js @@ -18,15 +18,20 @@ 'use strict'; -var randu = require( '@stdlib/random/base/randu' ); +var uniform = require( '@stdlib/random/array/uniform' ); var isProbabilityf = require( './../lib' ); var bool; +var opts; var x; var i; +opts = { + 'dtype': 'float32' +}; +x = uniform( 100, -1.0, 1.0, opts ); + for ( i = 0; i < 100; i++ ) { - x = ( randu()*2.0 ) - 1.0; - bool = isProbabilityf( x ); - console.log( '%d is %s', x, ( bool ) ? 'a probability' : 'not a probability' ); + bool = isProbabilityf( x[ i ] ); + console.log( '%d is %s', x[ i ], ( bool ) ? 'a probability' : 'not a probability' ); } diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js index 18b7ace55b77..254a81035eb6 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -42,7 +42,7 @@ tape( 'the function returns `false` if provided a number less than `0.0`', funct for ( i = 0; i < 1000; i++ ) { x = -1.0 - ( randu()*1000.0 ); bool = isProbabilityf( x ); - t.equal( bool, false, 'returns false when provided '+x ); + t.equal( bool, false, 'returns expected value when provided '+x ); } t.end(); }); @@ -54,7 +54,7 @@ tape( 'the function returns `false` if provided a number greater than `1.0`', fu for ( i = 0; i < 1000; i++ ) { x = ( randu()*1000.0 ) + 2.0; bool = isProbabilityf( x ); - t.equal( bool, false, 'returns false when provided '+x ); + t.equal( bool, false, 'returns expected value when provided '+x ); } t.end(); }); @@ -83,17 +83,17 @@ tape( 'the function returns `true` if provided `1`', function test( t ) { }); tape( 'the function returns `false` if provided `+infinity`', function test( t ) { - t.equal( isProbabilityf( PINF ), false, 'returns false' ); + t.equal( isProbabilityf( PINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', function test( t ) { - t.equal( isProbabilityf( NINF ), false, 'returns false' ); + t.equal( isProbabilityf( NINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', function test( t ) { - t.equal( isProbabilityf( NaN ), false, 'returns false' ); - t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns false' ); + t.equal( isProbabilityf( NaN ), false, 'returns expected value' ); + t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js index 4458dbad068c..5b5775feddfa 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -51,7 +51,7 @@ tape( 'the function returns `false` if provided a number less than `0.0`', opts, for ( i = 0; i < 1000; i++ ) { x = -1.0 - ( randu()*1000.0 ); bool = isProbabilityf( x ); - t.equal( bool, false, 'returns false when provided '+x ); + t.equal( bool, false, 'returns expected value when provided '+x ); } t.end(); }); @@ -63,7 +63,7 @@ tape( 'the function returns `false` if provided a number greater than `1.0`', op for ( i = 0; i < 1000; i++ ) { x = ( randu()*1000.0 ) + 2.0; bool = isProbabilityf( x ); - t.equal( bool, false, 'returns false when provided '+x ); + t.equal( bool, false, 'returns expected value when provided '+x ); } t.end(); }); @@ -92,17 +92,17 @@ tape( 'the function returns `true` if provided `1`', opts, function test( t ) { }); tape( 'the function returns `false` if provided `+infinity`', opts, function test( t ) { - t.equal( isProbabilityf( PINF ), false, 'returns false' ); + t.equal( isProbabilityf( PINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) { - t.equal( isProbabilityf( NINF ), false, 'returns false' ); + t.equal( isProbabilityf( NINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isProbabilityf( NaN ), false, 'returns false' ); - t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns false' ); + t.equal( isProbabilityf( NaN ), false, 'returns expected value' ); + t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns expected value' ); t.end(); }); From 53a87426cdf96c21bafdb1f04d85b8ff8592c055 Mon Sep 17 00:00:00 2001 From: vivek maurya Date: Wed, 8 Jan 2025 17:37:17 +0000 Subject: [PATCH 12/14] add math/base/assert/is-probabilityf --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: passed - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: passed - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: passed - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: passed --- --- .../base/assert/is-probabilityf/test/test.native.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js index 04a6dc219557..82056b75f7d2 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -51,7 +51,7 @@ tape( 'the function returns `false` if provided a number less than `0.0`', opts, for ( i = 0; i < 1000; i++ ) { x = -1.0 - ( randu() * 1000.0 ); bool = isProbabilityf( x ); - t.equal( bool, false, 'returns false when provided '+x ); + t.equal( bool, false, 'returns expected value when provided '+x ); } t.end(); }); @@ -63,7 +63,7 @@ tape( 'the function returns `false` if provided a number greater than `1.0`', op for ( i = 0; i < 1000; i++ ) { x = ( randu() * 1000.0 ) + 2.0; bool = isProbabilityf( x ); - t.equal( bool, false, 'returns false when provided '+x ); + t.equal( bool, false, 'returns expected value when provided '+x ); } t.end(); }); @@ -92,17 +92,17 @@ tape( 'the function returns `true` if provided `1`', opts, function test( t ) { }); tape( 'the function returns `false` if provided `+infinity`', opts, function test( t ) { - t.equal( isProbabilityf( PINF ), false, 'returns false' ); + t.equal( isProbabilityf( PINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `-infinity`', opts, function test( t ) { - t.equal( isProbabilityf( NINF ), false, 'returns false' ); + t.equal( isProbabilityf( NINF ), false, 'returns expected value' ); t.end(); }); tape( 'the function returns `false` if provided `NaN`', opts, function test( t ) { - t.equal( isProbabilityf( NaN ), false, 'returns false' ); - t.equal( isProbabilityf( 0.0 / 0.0 ), false, 'returns false' ); + t.equal( isProbabilityf( NaN ), false, 'returns expected value' ); + t.equal( isProbabilityf( 0.0 / 0.0 ), false, 'returns expected value' ); t.end(); }); From 8e9edac26e46a714bc45d76257043d3ff35035f5 Mon Sep 17 00:00:00 2001 From: vivek maurya Date: Thu, 9 Jan 2025 00:30:26 +0530 Subject: [PATCH 13/14] add math/base/assert/is-probabilityf --- .../@stdlib/math/base/assert/is-probabilityf/test/test.js | 8 ++++---- .../math/base/assert/is-probabilityf/test/test.native.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js index a8a0d578b341..89a7606892aa 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -66,19 +66,19 @@ tape( 'the function returns `true` if provided a probability', function test( t for ( i = 0; i < 1000; i++ ) { x = randu(); bool = isProbabilityf( x ); - t.equal( bool, true, 'returns true when provided '+x ); + t.equal( bool, true, 'returns expected value when provided '+x ); } t.end(); }); tape( 'the function returns `true` if provided `+-0`', function test( t ) { - t.equal( isProbabilityf( 0.0 ), true, 'returns true' ); - t.equal( isProbabilityf( -0.0 ), true, 'returns true' ); + t.equal( isProbabilityf( 0.0 ), true, 'returns expected value' ); + t.equal( isProbabilityf( -0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `true` if provided `1`', function test( t ) { - t.equal( isProbabilityf( 1.0 ), true, 'returns true' ); + t.equal( isProbabilityf( 1.0 ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js index 82056b75f7d2..5cd7db10e954 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.native.js @@ -75,19 +75,19 @@ tape( 'the function returns `true` if provided a probability', opts, function te for ( i = 0; i < 1000; i++ ) { x = randu(); bool = isProbabilityf( x ); - t.equal( bool, true, 'returns true when provided '+x ); + t.equal( bool, true, 'returns expected value when provided '+x ); } t.end(); }); tape( 'the function returns `true` if provided `+-0`', opts, function test( t ) { - t.equal( isProbabilityf( 0.0 ), true, 'returns true' ); - t.equal( isProbabilityf( -0.0 ), true, 'returns true' ); + t.equal( isProbabilityf( 0.0 ), true, 'returns expected value' ); + t.equal( isProbabilityf( -0.0 ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `true` if provided `1`', opts, function test( t ) { - t.equal( isProbabilityf( 1.0 ), true, 'returns true' ); + t.equal( isProbabilityf( 1.0 ), true, 'returns expected value' ); t.end(); }); From 6ef81ab35e60809aa48d164cb40ff019ef9ad399 Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Thu, 9 Jan 2025 00:45:58 +0530 Subject: [PATCH 14/14] Update lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js Signed-off-by: Gunj Joshi --- .../@stdlib/math/base/assert/is-probabilityf/test/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js index 89a7606892aa..0160e5f6efa9 100644 --- a/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/assert/is-probabilityf/test/test.js @@ -94,6 +94,6 @@ tape( 'the function returns `false` if provided `-infinity`', function test( t ) tape( 'the function returns `false` if provided `NaN`', function test( t ) { t.equal( isProbabilityf( NaN ), false, 'returns expected value' ); - t.equal( isProbabilityf( 0.0/0.0 ), false, 'returns expected value' ); + t.equal( isProbabilityf( 0.0 / 0.0 ), false, 'returns expected value' ); t.end(); });