# itermidrange > Compute the [mid-range][mid-range] of all [iterated][mdn-iterator-protocol] values.
The [**mid-range**][mid-range], or **mid-extreme**, is the arithmetic mean of maximum and minimum values. Accordingly, the [mid-range][mid-range] is the midpoint of the [range][range] and a measure of central tendency.
## Usage ```javascript var itermidrange = require( '@stdlib/stats/iter/midrange' ); ``` #### itermidrange( iterator ) Computes the [mid-range][mid-range] of all [iterated][mdn-iterator-protocol] values. ```javascript var array2iterator = require( '@stdlib/array/to-iterator' ); var arr = array2iterator( [ 1.0, -2.0, 3.0, -4.0 ] ); var v = itermidrange( arr ); // returns -0.5 ```
## Notes - If an iterated value is non-numeric (including `NaN`), the returned [`iterator`][mdn-iterator-protocol] returns `NaN`. If non-numeric iterated values are possible, you are advised to provide an [`iterator`][mdn-iterator-protocol] which type checks and handles non-numeric values accordingly.
## Examples ```javascript var runif = require( '@stdlib/random/iter/uniform' ); var itermidrange = require( '@stdlib/stats/iter/midrange' ); // Create an iterator for generating uniformly distributed pseudorandom numbers: var rand = runif( -10.0, 10.0, { 'seed': 1234, 'iter': 100 }); // Compute the mid-range: var v = itermidrange( rand ); // returns console.log( 'mid-range: %d.', v ); ```