<s> from __future__ import division , print_function , absolute_import <EOL> import warnings <EOL> import numpy as np <EOL> from numpy import array <EOL> from numpy . testing import ( assert_array_almost_equal , assert_array_equal , <EOL> run_module_suite , assert_raises , assert_allclose ) <EOL> from scipy import signal <EOL> window_funcs = [ <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0.5> , ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT:2> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:2> , ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0.5> , ) ) , <EOL> ] <EOL> cheb_odd_true = array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> ] ) <EOL> cheb_even_true = array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ) <EOL> class TestChebWin ( object ) : <EOL> def test_cheb_odd_high_attenuation ( self ) : <EOL> with warnings . catch_warnings ( ) : <EOL> warnings . simplefilter ( "<STR_LIT:ignore>" , UserWarning ) <EOL> cheb_odd = signal . chebwin ( <NUM_LIT> , at = - <NUM_LIT> ) <EOL> assert_array_almost_equal ( cheb_odd , cheb_odd_true , decimal = <NUM_LIT:4> ) <EOL> def test_cheb_even_high_attenuation ( self ) : <EOL> with warnings . catch_warnings ( ) : <EOL> warnings . simplefilter ( "<STR_LIT:ignore>" , UserWarning ) <EOL> cheb_even = signal . chebwin ( <NUM_LIT> , at = - <NUM_LIT> ) <EOL> assert_array_almost_equal ( cheb_even , cheb_even_true , decimal = <NUM_LIT:4> ) <EOL> def test_cheb_odd_low_attenuation ( self ) : <EOL> cheb_odd_low_at_true = array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> ] ) <EOL> with warnings . catch_warnings ( ) : <EOL> warnings . simplefilter ( "<STR_LIT:ignore>" , UserWarning ) <EOL> cheb_odd = signal . chebwin ( <NUM_LIT:7> , at = - <NUM_LIT:10> ) <EOL> assert_array_almost_equal ( cheb_odd , cheb_odd_low_at_true , decimal = <NUM_LIT:4> ) <EOL> def test_cheb_even_low_attenuation ( self ) : <EOL> cheb_even_low_at_true = array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) <EOL> with warnings . catch_warnings ( ) : <EOL> warnings . simplefilter ( "<STR_LIT:ignore>" , UserWarning ) <EOL> cheb_even = signal . chebwin ( <NUM_LIT:8> , at = - <NUM_LIT:10> ) <EOL> assert_array_almost_equal ( cheb_even , cheb_even_low_at_true , decimal = <NUM_LIT:4> ) <EOL> exponential_data = { <EOL> ( <NUM_LIT:4> , None , <NUM_LIT> , False ) : array ( [ <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , None , <NUM_LIT> , True ) : array ( [ <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , None , <NUM_LIT:1.0> , False ) : array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1.> , <EOL> <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , None , <NUM_LIT:1.0> , True ) : array ( [ <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT:2> , <NUM_LIT> , False ) : array ( [ <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT:2> , <NUM_LIT> , True ) : None , <EOL> ( <NUM_LIT:4> , <NUM_LIT:2> , <NUM_LIT:1.0> , False ) : array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1.> , <EOL> <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT:2> , <NUM_LIT:1.0> , True ) : None , <EOL> ( <NUM_LIT:5> , None , <NUM_LIT> , False ) : array ( [ <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:5> , None , <NUM_LIT> , True ) : array ( [ <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:5> , None , <NUM_LIT:1.0> , False ) : array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:5> , None , <NUM_LIT:1.0> , True ) : array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT> , False ) : array ( [ <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT> , True ) : None , <EOL> ( <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT:1.0> , False ) : array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT:1.0> , True ) : None <EOL> } <EOL> def test_exponential ( ) : <EOL> for k , v in exponential_data . items ( ) : <EOL> if v is None : <EOL> assert_raises ( ValueError , signal . exponential , * k ) <EOL> else : <EOL> win = signal . exponential ( * k ) <EOL> assert_allclose ( win , v , rtol = <NUM_LIT> ) <EOL> tukey_data = { <EOL> ( <NUM_LIT:4> , <NUM_LIT:0.5> , True ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT:0.0> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT> , True ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0.0> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT:1.0> , True ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0.0> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT:0.5> , False ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT:1.0> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT> , False ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT> , <NUM_LIT:1.0> , <NUM_LIT> ] ) , <EOL> ( <NUM_LIT:4> , <NUM_LIT:1.0> , False ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT:0.5> , <NUM_LIT:1.0> , <NUM_LIT:0.5> ] ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT:0.0> , True ) : array ( [ <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT:1.0> , <NUM_LIT:1.0> ] ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT> , True ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT> , <NUM_LIT:1.0> , <NUM_LIT> , <NUM_LIT:0.0> ] ) , <EOL> ( <NUM_LIT:5> , <NUM_LIT:1.0> , True ) : array ( [ <NUM_LIT:0.0> , <NUM_LIT:0.5> , <NUM_LIT:1.0> , <NUM_LIT:0.5> , <NUM_LIT:0.0> ] ) , <EOL> } <EOL> def test_tukey ( ) : <EOL> for k , v in tukey_data . items ( ) : <EOL> if v is None : <EOL> assert_raises ( ValueError , signal . tukey , * k ) <EOL> else : <EOL> win = signal . tukey ( * k ) <EOL> assert_allclose ( win , v , rtol = <NUM_LIT> ) <EOL> tuk0 = signal . tukey ( <NUM_LIT:100> , <NUM_LIT:0> ) <EOL> tuk1 = signal . tukey ( <NUM_LIT:100> , <NUM_LIT:1> ) <EOL> box0 = signal . boxcar ( <NUM_LIT:100> ) <EOL> han1 = signal . hann ( <NUM_LIT:100> ) <EOL> assert_array_almost_equal ( tuk0 , box0 ) <EOL> assert_array_almost_equal ( tuk1 , han1 ) <EOL> class TestGetWindow ( object ) : <EOL> def test_boxcar ( self ) : <EOL> w = signal . get_window ( '<STR_LIT>' , <NUM_LIT:12> ) <EOL> assert_array_equal ( w , np . ones_like ( w ) ) <EOL> def test_cheb_odd ( self ) : <EOL> with warnings . catch_warnings ( ) : <EOL> warnings . simplefilter ( "<STR_LIT:ignore>" , UserWarning ) <EOL> w = signal . get_window ( ( '<STR_LIT>' , - <NUM_LIT> ) , <NUM_LIT> , fftbins = False ) <EOL> assert_array_almost_equal ( w , cheb_odd_true , decimal = <NUM_LIT:4> ) <EOL> def test_cheb_even ( self ) : <EOL> with warnings . catch_warnings ( ) : <EOL> warnings . simplefilter ( "<STR_LIT:ignore>" , UserWarning ) <EOL> w = signal . get_window ( ( '<STR_LIT>' , - <NUM_LIT> ) , <NUM_LIT> , fftbins = False ) <EOL> assert_array_almost_equal ( w , cheb_even_true , decimal = <NUM_LIT:4> ) <EOL> def test_array_as_window ( self ) : <EOL> osfactor = <NUM_LIT> <EOL> sig = np . arange ( <NUM_LIT> ) <EOL> win = signal . get_window ( ( '<STR_LIT>' , <NUM_LIT> ) , osfactor // <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , signal . resample , ( sig , len ( sig ) * osfactor ) , { '<STR_LIT>' : win } ) <EOL> def test_windowfunc_basics ( ) : <EOL> for window_name , params in window_funcs : <EOL> window = getattr ( signal , window_name ) <EOL> with warnings . catch_warnings ( record = True ) : <EOL> w1 = window ( <NUM_LIT:7> , * params , sym = True ) <EOL> w2 = window ( <NUM_LIT:7> , * params , sym = False ) <EOL> assert_array_almost_equal ( w1 , w2 ) <EOL> window ( <NUM_LIT:6> , * params , sym = True ) <EOL> window ( <NUM_LIT:6> , * params , sym = False ) <EOL> def test_needs_params ( ) : <EOL> for winstr in [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ] : <EOL> assert_raises ( ValueError , signal . get_window , winstr , <NUM_LIT:7> ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> run_module_suite ( ) </s>
