Skip to content

Latest commit

 

History

History

is-probability

isProbability

Test if a double-precision floating-point number is a probability.

Usage

var isProbability = require( '@stdlib/math/base/assert/is-probability' );

isProbability( x )

Tests if a double-precision floating-point number is a probability.

var bool = isProbability( 0.5 );
// returns true

bool = isProbability( 3.14 );
// returns false

bool = isProbability( NaN );
// returns false

Examples

var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var isProbability = require( '@stdlib/math/base/assert/is-probability' );

var opts = {
    'dtype': 'float64'
};
var x = uniform( 100, -1.0, 1.0, opts );

function isProbabilityWrapper( integer ) {
    return ( isProbability( integer ) ) ? 'a probability' : 'not a probability';
}
logEachMap( '%0.4f is %s', x, isProbabilityWrapper );

C APIs

Usage

#include "stdlib/math/base/assert/is_probability.h"

stdlib_base_is_probability( x )

Tests if a double-precision floating-point number is a probability.

#include <stdbool.h>

bool out = stdlib_base_is_probability( 0.5 );
// returns true

out = stdlib_base_is_probability( 3.14 );
// returns false

The function accepts the following arguments:

  • x: [in] double input value.
bool stdlib_base_is_probability( const double x );

Examples

#include "stdlib/math/base/assert/is_probability.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int main( void ) {
    double x;
    bool v;
    int i;

    for ( i = 0; i < 100; i++ ) {
        x = ( ( (double)rand() / (double)RAND_MAX ) * 2.0 ) - 1.0;
        v = stdlib_base_is_probability( x );
        printf( "%lf is %sa probability\n", x, ( v ) ? "" : "not " );
    }
}