isOdd

Test if a finite double-precision floating-point number is an odd number.

Usage

var isOdd = require( '@stdlib/math/base/assert/is-odd' );

isOdd( x )

Tests if a finite double-precision floating-point number is an odd number.

var bool = isOdd( 5.0 );
// returns true

bool = isOdd( -2.0 );
// returns false

bool = isOdd( 0.0 );
// returns false

bool = isOdd( NaN );
// returns false

Notes

  • The function assumes a finite number. If provided positive or negative infinity, the function will return true, when, in fact, the result is undefined. If x can be infinite, wrap the implementation as follows:

    function check( x ) {
        return (
            x < Infinity &&
            x > -Infinity &&
            isOdd( x )
        );
    }
    
    var bool = check( Infinity );
    // returns false
    
    bool = check( -Infinity );
    // returns false
    

Examples

var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var isOdd = require( '@stdlib/math/base/assert/is-odd' );

var bool;
var x;
var i;

for ( i = 0; i < 100; i++ ) {
    x = round( randu()*100.0 );
    bool = isOdd( x );
    console.log( '%d is %s', x, ( bool ) ? 'odd' : 'not odd' );
}

C APIs

Usage

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

stdlib_base_is_odd( x )

Tests if a finite double-precision floating-point number is an odd number.

#include <stdbool.h>

bool out = stdlib_base_is_odd( 1.0 );
// returns true

out = stdlib_base_is_odd( 4.0 );
// returns false

The function accepts the following arguments:

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

Examples

#include "stdlib/math/base/assert/is_odd.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_odd( x[ i ] );
        printf( "Value: %lf. Is Odd? %s.\n", x[ i ], ( b ) ? "True" : "False" );
    }
}
Did you find this page helpful?