# gcd
> Compute the [greatest common divisor][gcd] (gcd).
The [greatest common divisor][gcd] (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
```javascript
var gcd = require( '@stdlib/math/base/special/gcd' );
```
#### gcd( a, b )
Computes the [greatest common divisor][gcd] (gcd).
```javascript
var v = gcd( 48, 18 );
// returns 6
```
If both `a` and `b` are `0`, the function returns `0`.
```javascript
var v = gcd( 0, 0 );
// returns 0
```
Both `a` and `b` must have integer values; otherwise, the function returns `NaN`.
```javascript
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
```javascript
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 );
}
```
## References
- 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][@stein:1967].
[gcd]: http://en.wikipedia.org/wiki/Greatest_common_divisor
[@stein:1967]: https://doi.org/10.1016/0021-9991(67)90047-2