def circvar(samples, high=<NUM_LIT:2>*pi, low=<NUM_LIT:0>, axis=None):
samples, ang = _circfuncs_common(samples, high, low)<EOL>res = np.mean(exp(<NUM_LIT>*ang), axis=axis)<EOL>R = abs(res)<EOL>return ((high-low)/<NUM_LIT>/pi)**<NUM_LIT:2> * <NUM_LIT:2> * log(<NUM_LIT:1>/R)<EOL>
Compute the circular variance for samples assumed to be in a range

Parameters
----------
samples : array_like
    Input array.
low : float or int, optional
    Low boundary for circular variance range.  Default is 0.
high : float or int, optional
    High boundary for circular variance range.  Default is ``2*pi``.
axis : int, optional
    Axis along which variances are computed.  The default is to compute
    the variance of the flattened array.

Returns
-------
circvar : float
    Circular variance.

Notes
-----
This uses a definition of circular variance that in the limit of small
angles returns a number close to the 'linear' variance.