# gcd

Compute the greatest common divisor (gcd).

The greatest common divisor (gcd) of two non-zero integers `a` and `b` is the largest positive integer which divides both `a` and `b` without a remainder. The gcd is also known as the greatest common factor (gcf), highest common factor (hcf), highest common divisor, and greatest common measure (gcm).

## Usage

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

#### gcd( a, b )

Computes the greatest common divisor (gcd).

``````var v = gcd( 48, 18 );
// returns 6
``````

If both `a` and `b` are `0`, the function returns `0`.

``````var v = gcd( 0, 0 );
// returns 0
``````

Both `a` and `b` must have integer values; otherwise, the function returns `NaN`.

``````var v = gcd( 3.14, 18 );
// returns NaN

v = gcd( 48, 3.14 );
// returns NaN

v = gcd( NaN, 18 );
// returns NaN

v = gcd( 48, NaN );
// returns NaN
``````

## Examples

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

var a;
var b;
var v;
var i;

for ( i = 0; i < 100; i++ ) {
a = round( randu()*50.0 );
b = round( randu()*50.0 );
v = gcd( a, b );
console.log( 'gcd(%d,%d) = %d', a, b, v );
}
``````
• Stein, Josef. 1967. "Computational problems associated with Racah algebra." Journal of Computational Physics 1 (3): 397–405. doi:10.1016/0021-9991(67)90047-2.