0.3.0 • Published 11 months ago

@stdlib/math-base-special-trunc10 v0.3.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
11 months ago

trunc10

NPM version Build Status Coverage Status

Round a numeric value to the nearest power of 10 toward zero.

Installation

npm install @stdlib/math-base-special-trunc10

Usage

var trunc10 = require( '@stdlib/math-base-special-trunc10' );

trunc10( x )

Rounds a numeric value to the nearest power of 10 toward zero.

var v = trunc10( -4.2 );
// returns -1.0

v = trunc10( -4.5 );
// returns -1.0

v = trunc10( -4.6 );
// returns -1.0

v = trunc10( 9.99999 );
// returns 1.0

v = trunc10( 9.5 );
// returns 1.0

v = trunc10( 13.0 );
// returns 10.0

v = trunc10( -13.0 );
// returns -10.0

v = trunc10( 0.0 );
// returns 0.0

v = trunc10( -0.0 );
// returns -0.0

v = trunc10( Infinity );
// returns Infinity

v = trunc10( -Infinity );
// returns -Infinity

v = trunc10( NaN );
// returns NaN

Notes

  • The function may not return accurate results for subnormals due to a general loss in precision.

    var v = trunc10( 1.0e-323 ); // should return 1.0e-323
    // returns 0.0

Examples

var randu = require( '@stdlib/random-base-randu' );
var trunc10 = require( '@stdlib/math-base-special-trunc10' );

var x;
var v;
var i;

for ( i = 0; i < 100; i++ ) {
    x = (randu()*100.0) - 50.0;
    v = trunc10( x );
    console.log( 'Value: %d. Rounded: %d.', x, v );
}

C APIs

Usage

#include "stdlib/math/base/special/trunc10.h"

stdlib_base_trunc10( x )

Rounds a numeric value to the nearest power of 10 toward zero.

double y = stdlib_base_trunc10( -4.2 );
// returns -1.0

The function accepts the following arguments:

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

Examples

#include "stdlib/math/base/special/trunc10.h"
#include <stdio.h>

int main( void ) {
    const double x[] = { 3.14, -3.14, 0.0, 0.0 / 0.0 };

    double y;
    int i;
    for ( i = 0; i < 4; i++ ) {
        y = stdlib_base_trunc10( x[ i ] );
        printf( "trunc10(%lf) = %lf\n", x[ i ], y );
    }
}

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.