# Heaviside Function > Evaluate the [Heaviside function][heaviside-function].
The [Heaviside function][heaviside-function] is defined as
Heaviside function.
and is discontinuous at `0`. Depending on the context, the [Heaviside function][heaviside-function] may be defined as a continuous function. To define the [Heaviside function][heaviside-function] such that the function has rotational symmetry,
Heaviside function half-maximum.
To define the [Heaviside function][heaviside-function] as a left-continuous function,
Heaviside function left-continuous.
To define the [Heaviside function][heaviside-function] as a right-continuous function,
Heaviside function right-continuous.
## Usage ```javascript var heaviside = require( '@stdlib/math/base/special/heaviside' ); ``` #### heaviside( x\[, continuity] ) Evaluates the [Heaviside function][heaviside-function]. ```javascript 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`. ```javascript var v = heaviside( 0.0 ); // returns NaN ``` To define the [Heaviside function][heaviside-function] as a continuous function, set the `continuity` parameter. ```javascript 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 ```javascript var linspace = require( '@stdlib/array/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 ] ) ); } ```