Test if a finite double-precision floating-point number is a nonpositive integer.
var isNonPositiveInteger = require( '@stdlib/math/base/assert/is-nonpositive-integer' );
Tests if a finite double-precision floating-point number is a nonpositive integer
.
var bool = isNonPositiveInteger( -1.0 );
// returns true
bool = isNonPositiveInteger( 0.0 );
// returns true
bool = isNonPositiveInteger( 10.0 );
// returns false
-
The function assumes a finite
number
. If provided negativeinfinity
, the function will returntrue
, when, in fact, the result is undefined. Ifx
can beinfinite
, wrap the implementation as follows:function check( x ) { return ( x > -Infinity && isNonPositiveInteger( x ) ); } var bool = check( -Infinity ); // returns false
-
The function does not distinguish between positive and negative
zero
.var bool = isNonPositiveInteger( 0.0 ); // returns true bool = isNonPositiveInteger( -0.0 ); // returns true
var isNonPositiveInteger = require( '@stdlib/math/base/assert/is-nonpositive-integer' );
var bool = isNonPositiveInteger( -5.0 );
// returns true
bool = isNonPositiveInteger( 0.0 );
// returns true
bool = isNonPositiveInteger( 1.0 );
// returns false
bool = isNonPositiveInteger( -3.14 );
// returns false
bool = isNonPositiveInteger( NaN );
// returns false
#include "stdlib/math/base/assert/is_nonpositive_integer.h"
Tests if a finite double-precision floating-point number is a nonpositive integer.
#include <stdbool.h>
bool out = stdlib_base_is_nonpositive_integer( -5.0 );
// returns true
out = stdlib_base_is_nonpositive_integer( 0.0 );
// returns true
The function accepts the following arguments:
- x:
[in] double
input value.
bool stdlib_base_is_nonpositive_integer( const double x );
#include "stdlib/math/base/assert/is_nonpositive_integer.h"
#include <stdio.h>
#include <stdbool.h>
int main( void ) {
const double x[] = { 5.0, -5.0, 3.14, -3.14, 0.0, 0.0/0.0 };
bool b;
int i;
for ( i = 0; i < 6; i++ ) {
b = stdlib_base_is_nonpositive_integer( x[ i ] );
printf( "x = %lf, is_nonpositive_integer(x) = %s\n", x[ i ], ( b ) ? "True" : "False" );
}
}
@stdlib/math/base/assert/is-integer
: test if a finite double-precision floating-point number is an integer.@stdlib/math/base/assert/is-negative-integer
: test if a finite double-precision floating-point number is a negative integer.@stdlib/math/base/assert/is-nonnegative-integer
: test if a finite double-precision floating-point number is a nonnegative integer.@stdlib/math/base/assert/is-positive-integer
: test if a finite double-precision floating-point number is a positive integer.