def exponential(M, center=None, tau=1.0, sym=True):
 if (sym and (center is not None)):
  raise ValueError('If sym==True, center must be None.')
 if _len_guards(M):
  return np.ones(M)
 (M, needs_trunc) = _extend(M, sym)
 if (center is None):
  center = ((M - 1) / 2)
 n = np.arange(0, M)
 w = np.exp(((- np.abs((n - center))) / tau))
 return _truncate(w, needs_trunc)

def exponential ( M , center = None , tau = 1.0 , sym = True ) : if ( sym and ( center is not None ) ) : raise ValueError ( 'If sym==True, center must be None.' ) if _len_guards ( M ) : return np . ones ( M ) ( M , needs_trunc ) = _extend ( M , sym ) if ( center is None ) : center = ( ( M - 1 ) / 2 ) n = np . arange ( 0 , M ) w = np . exp ( ( ( - np . abs ( ( n - center ) ) ) / tau ) ) return _truncate ( w , needs_trunc )
return an exponential window .