# Heaviside Function

Evaluate the Heaviside function.

The Heaviside function is defined as

and is discontinuous at 0. Depending on the context, the Heaviside function may be defined as a continuous function. To define the Heaviside function such that the function has rotational symmetry,

To define the Heaviside function as a left-continuous function,

To define the Heaviside function as a right-continuous function,

## Usage

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


#### heaviside( x[, continuity] )

Evaluates the Heaviside function.

var v = heaviside( 3.14 );
// returns 1.0

v = heaviside( -3.14 );
// returns 0.0

v = heaviside( NaN );
// returns NaN


The continuity parameter may be one of the following values:

• 'half-maximum': if x == 0, the function returns 0.5.
• 'left-continuous': if x == 0, the function returns 0.0.
• 'right-continuous': if x == 0, the function returns 1.0.

By default, the function is discontinuous at 0.

var v = heaviside( 0.0 );
// returns NaN


To define the Heaviside function as a continuous function, set the continuity parameter.

var v = heaviside( 0.0, 'half-maximum' );
// returns 0.5

v = heaviside( 0.0, 'left-continuous' );
// returns 0.0

v = heaviside( 0.0, 'right-continuous' );
// returns 1.0


## Examples

var linspace = require( '@stdlib/math/utils/linspace' );
var heaviside = require( '@stdlib/math/base/special/heaviside' );

var x = linspace( -10.0, 10.0, 101 );
var i;

for ( i = 0; i < x.length; i++ ) {
console.log( 'H(%d) = %d', x[ i ], heaviside( x[ i ] ) );
}