
    Ui                     `    d dl Zd dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZ  G d d          ZdS )    N)raises)xp_assert_closexp_assert_equal)fftifft)max_len_seqc                       e Zd Zd Zd ZdS )TestMLSc                    t          t          t          dt          j        d                     t          t          t          dt          j        d                     t          t          t          dd           t          t          dd          d         t          j        g t          j                             t          t          t          d           t          t          t          ddd	g
           d S )N
   )state   )lengthr   dtype@      )taps)	assert_raises
ValueErrorr   npzerosonesr   asarrayint8)selfs    {/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/scipy/signal/tests/test_max_len_seq.pytest_mls_inputszTestMLS.test_mls_inputs   s    j+	. 	. 	. 	. 	j+rGAJJ	( 	( 	( 	( 	j+r"====Bq111!4
2RW555	
 	
 	
 	j+r222j+rQ@@@@@@    c                 <   dgdgdgg dg ddgg dd}t          dd	          D ]}d t          j        t          j                            |                    fD ]}d ||         fD ]}|t          j        |d
k              rd|d
<   t          |||          d
         }d|z  dz
  }d}t          t          j        |          t          j	        |          |           t          j
        t          t          |          t          j        t          |                    z                      }d|z  dz
  }	d}t          |d
         t          |	          |           d}t          |dd          t          j        |	dz
  d|j                  |           dd|dz
  z  fD ]q}
t          ||||
          \  }}t          |||d          \  }}t          ||||	|
z
  dz
            \  }}t          j        |||f          }t          ||           rd S )Nr      r   )   r   r"   )   r#   r   r#   )   r$   r   )r"   r   r#   r$      r%      r'   r   )r   r   g       @g      ?zmls had non binary terms)err_msgzmls impulse has incorrect valuez$mls steady-state has incorrect valuer   r   )r   r   r   )ranger   roundrandomrandallr   r   abs	ones_likerealr   r   conjr   floatfullr   concatenate)r   alt_tapsnbitsr   r   orig_mmr(   testerout_lennm1s1m2s2m3s3new_ms                     r   test_mls_outputzTestMLS.test_mls_output   s   sssyyyYYYA3 yy" " 1a[[ $	7 $	7E)>)> ? ?@ #7 #7!8E?3 "7 "7D(RVEQJ-?-?(#$a(e.24 4 4457FVb(A8G#BF1IIr|A/68 8 8 8  WT#a&&273q66??*B%C%CDDFhlG?G#F1I$)'NN,3   
 EG#F122J$&GGaK6<$P$P$P,35 5 5 5  UQY0 7 7!,U%d45"7 "7 "7B!,U"445"7 "7 "7B!,U"44;aK!O"E "E "EB "B| < <'666675"7#7$	7 $	7r    N)__name__
__module____qualname__r   rC    r    r   r
   r
   
   s5        A A A")7 )7 )7 )7 )7r    r
   )numpyr   pytestr   r   scipy._lib._array_apir   r   	numpy.fftr   r   scipy.signalr   r
   rG   r    r   <module>rM      s        * * * * * * B B B B B B B B         $ $ $ $ $ $<7 <7 <7 <7 <7 <7 <7 <7 <7 <7r    