0.2.2 • Published 29 days ago

@stdlib/math-base-assert-is-even v0.2.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
29 days ago

isEven

NPM version Build Status Coverage Status

Test if a finite numeric value is an even number.

Installation

npm install @stdlib/math-base-assert-is-even

Usage

var isEven = require( '@stdlib/math-base-assert-is-even' );

isEven( x )

Tests if a finite numeric value is an even number.

var bool = isEven( 5.0 );
// returns false

bool = isEven( -2.0 );
// returns true

bool = isEven( 0.0 );
// returns true

bool = isEven( 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 &&
            isEven( 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 isEven = require( '@stdlib/math-base-assert-is-even' );

var bool;
var x;
var i;

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

C APIs

Usage

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

stdlib_base_is_even( x )

Tests if a finite numeric value is an even number.

bool out = stdlib_base_is_even( 1.0 );
// returns false

out = stdlib_base_is_even( 4.0 );
// returns true

The function accepts the following arguments:

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

Examples

#include "stdlib/math/base/assert/is_even.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 ) * 100.0 );
        v = stdlib_base_is_even( x );
        printf( "x = %lf, is_even(x) = %s\n", x, ( v ) ? "even" : "not even" );
    }
}

See Also


Notice

This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.

For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.

Community

Chat


License

See LICENSE.

Copyright

Copyright © 2016-2024. The Stdlib Authors.