# Cube Root

Compute the cube root of a double-precision floating-point number.

## Usage

``````var cbrt = require( '@stdlib/math/base/special/cbrt' );
``````

#### cbrt( x )

Computes the cube root of a double-precision floating-point number.

``````var v = cbrt( 64.0 );
// returns 4.0

v = cbrt( 27.0 );
// returns 3.0

v = cbrt( 0.0 );
// returns 0.0

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

v = cbrt( -9.0 );
// returns ~-2.08

v = cbrt( NaN );
// returns NaN
``````

## Examples

``````var randu = require( '@stdlib/random/base/randu' );
var cbrt = require( '@stdlib/math/base/special/cbrt' );

var x;
var i;

for ( i = 0; i < 100; i++ ) {
x = (randu()*200.0) - 100.0;
console.log( 'cbrt(%d) = %d', x, cbrt( x ) );
}
``````

## C APIs

### Usage

``````#include "stdlib/math/base/special/cbrt.h"
``````

#### stdlib_base_cbrt( x )

Computes the cube root of a double-precision floating-point number.

``````double y = stdlib_base_cbrt( 27.0 );
// returns 3.0
``````

The function accepts the following arguments:

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

### Examples

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

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

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