
    h                     J    S SK r " S S5      r " S S5      rS rS rS	S jrg)
    Nc                       \ rS rSrS rSrg)_FakeMatrix   c                 2    Xl         UR                  U l        g N)_data__array_interface__selfdatas     O/var/www/html/shao/venv/lib/python3.13/site-packages/scipy/linalg/_testutils.py__init___FakeMatrix.__init__   s    
#'#;#;     )r	   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r   r      s    <r   r   c                   $    \ rS rSrS rSS jrSrg)_FakeMatrix2
   c                     Xl         g r   r   r
   s     r   r   _FakeMatrix2.__init__   s    
r   Nc                 \    U(       a  U R                   R                  5       $ U R                   $ r   )r   copy)r   dtyper   s      r   	__array___FakeMatrix2.__array__   s     ::??$$zzr   r   )NN)r   r   r   r   r   r    r   r   r   r   r   r   
   s    r   r   c                    [        U 5      S:X  a-  U S   S:X  a$  [        R                  " XS9nSUSSS24'   SUS'   U$ [        U 5      S:X  a_  U S   U S   :X  aS  [        R                  " XS9n[        R                  " U S   5      nSX#U4'   SX#SS USS S-   4'   SX#SS S-   USS 4'   U$ [        R                  R                  S5        [        R                  R                  " U 6 R                  U5      $ )zn
Get a test array of given shape and data type.
Returned NxN matrices are posdef, and 2xN are banded-posdef.

   r   )r      Ni  )lennpzerosarangerandomseedrandnastype)shaper   xjs       r   
_get_arrayr1      s     5zQ58q=HHU(!QR%!	UqU1Xq1HHU(IIeAhQ$ CR&!CR&(
 CR&(AcrF

		tyy&--e44r   c                     U $ r   r   )r/   s    r   _idr3   -   s    Hr   c                    Uc>  [         R                  [         R                  [         R                  [         R                  /nU H  nS H  n[
        [        [        4 H  nU Vs/ sH  n[        Xc5      PM     nnU Vs/ sH  o" UR                  U5      5      PM     n	nU " U	6   SU< SU< S3n
[        X5       H#  u  p[         R                  R                  XU
S9  M%     M     M     M     gs  snf s  snf )z9
Test that a call does not overwrite its input arguments
N)CFzcall modified inputs [z, ])err_msg)r'   float32float64	complex64
complex128r3   r   r   r1   r   ziptestingassert_equal)callshapesdtypesr   orderfakersorig_inputsr/   inputsmsgabs                r   assert_no_overwriterK   1   s    
 ~**bjj",,FE{L9=CDVz!3VD8CD1%u.Df.uir%!D4DAJJ++A#+> 5 :    EDs   $C.
>C3
r   )numpyr'   r   r   r1   r3   rK   r   r   r   <module>rM      s+    < < 52?r   