# Kernel Cosine
> Compute the [cosine][cosine] of a number on `[-π/4, π/4]`.
## Usage
```javascript
var kernelCos = require( '@stdlib/math/base/special/kernel-cos' );
```
#### kernelCos( x, y )
Computes the [cosine][cosine] of a `number` on `[-π/4, π/4]`. For increased accuracy, the number for which the [cosine][cosine] should be evaluated can be supplied as a [double-double number][double-double-arithmetic] (i.e., a non-evaluated sum of two [double-precision floating-point numbers][ieee754] `x` and `y`).
```javascript
var v = kernelCos( 0.0, 0.0 );
// returns ~1.0
v = kernelCos( 3.141592653589793/6.0, 0.0 );
// returns ~0.866
v = kernelCos( 0.785, -1.144e-17 );
// returns ~0.707
v = kernelCos( NaN, 0.0 );
// returns NaN
```
## Notes
- As components of a [double-double number][double-double-arithmetic], the two [double-precision floating-point numbers][ieee754] `x` and `y` must satisfy
where `ulp` stands for [units in the last place][ulp].
## Examples
```javascript
var linspace = require( '@stdlib/array/linspace' );
var PI = require( '@stdlib/constants/float64/pi' );
var kernelCos = require( '@stdlib/math/base/special/kernel-cos' );
var x = linspace( -PI/4.0, PI/4.0, 100 );
var i;
for ( i = 0; i < x.length; i++ ) {
console.log( 'kernelCos(%d) = %d', x[ i ], kernelCos( x[ i ], 0.0 ) );
}
```
[cosine]: https://en.wikipedia.org/wiki/Cosine
[double-double-arithmetic]: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format#Double-double_arithmetic
[ieee754]: https://en.wikipedia.org/wiki/IEEE_floating_point
[ulp]: https://en.wikipedia.org/wiki/Unit_in_the_last_place