
    -i                     X    S SK rS SKJr  S SKJrJr  S SKJ	r	J
r
  S SKJr   " S S5      rg)    N)raises)xp_assert_closexp_assert_equal)fftifft)max_len_seqc                        \ rS rSrS rS rSrg)TestMLS
   c                    [        [        [        S[        R                  " S5      S9  [        [        [        S[        R
                  " S5      S9  [        [        [        SSS9  [        [        SSS9S   [        R                  " / [        R                  S95        [        [        [        S5        [        [        [        SSS	/S
9  g )Nr   )state   )lengthr   dtype@      )taps)	assert_raises
ValueErrorr   npzerosonesr   asarrayint8)selfs    V/var/www/html/venv/lib/python3.13/site-packages/scipy/signal/tests/test_max_len_seq.pytest_mls_inputsTestMLS.test_mls_inputs   s    j+	. 	j+rGGAJ	( 	j+r"=Bq1!4

2RWW5	
 	j+r2j+rQ@    c                    S/S/S// SQ/ SQS// SQS.n[        SS	5       GH  nS [        R                  " [        R                  R	                  U5      5      4 GH  nS X   4 GHp  nUb#  [        R
                  " US
:H  5      (       a  SUS
'   [        X#US9S
   nSU-  S-
  nSn[        [        R                  " U5      [        R                  " U5      US9  [        R                  " [        [        U5      [        R                  " [        U5      5      -  5      5      nSU-  S-
  n	Sn[        US
   [        U	5      US9  Sn[        USS  [        R                   " U	S-
  SUR"                  S9US9  SSUS-
  -  4 HT  n
[        X#UU
S9u  p[        X,USS9u  p[        X.UX-
  S-
  S9u  nn[        R$                  " XU45      n[        UU5        MV     GMs     GM     GM     g )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_outputTestMLS.test_mls_output   s   sssyYA3 " 1a[E)> ?@!8?3D(RVVEQJ-?-?#$a(.24457FVb(A8G#BFF1Ir||A/68  WWT#a&2773q6?*B%CDFhlG?G#F1I$)'N,3
 EG#F12J$&GGGaK6<<$P,35  UQY0!,Ud45"7!,U445"7!,U44;K!O"EB "| <'6 15 4 A !r!    N)__name__
__module____qualname____firstlineno__r   rD   __static_attributes__rF   r!   r   r
   r
   
   s    A")7r!   r
   )numpyr   pytestr   r   scipy._lib._array_apir   r   	numpy.fftr   r   scipy.signalr   r
   rF   r!   r   <module>rQ      s     * B  $<7 <7r!   