+
    /iP                        ^ RI t ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
t
^ RIHt ^ RIt^ RIt^ RIt^ RIHtHtHtHtHt ^ RIt^ RIHtHt ^ RIt^ R	IHt ^ R
IHtH t H!t!H"t" ^ RI#t$^ RI%H&t&H't'H(t( ^ RI)Hu H*u H+t, ^ RI-H.t.H/t/H0t0H1t1H2t2 ^ RI3H4t4H5t5H6t6H7t7 ^ RI8H9t9H:t:H;t;H<t<H=t= ^ RI>Hu H*u H?t@ ]! ]! ]A4      R4      tB]P                  P                  tER tF]P                  ^,          ]P                  ! ^	]IR7      P                  ^^	4      ,          tKRRRRR/RR]K//.tL]LP                  RRRRR/RR]! R.4      //4       ]LP                  RRRRR/RR]P                  ! ]K4      R]P                  ! ]K4      ,          ,           //4       ]P                  ! R4      tQ]R! ]S! ^^4      4      ]Q^ &   ]R! ]S! ^^4      4      ]QR&   ]LP                  RRRR R/RR ]Q//4       ]LP                  RR!RR"R!/RR"]!! ]Q4      //4       ]QP                  ]U4      tV]VR;;,          R,          uu&   ]LP                  RR#RR$R!/RR$]!! ]V4      //4       ]LP                  RR%RR&RR'R/RR&]KR']Q//4       ]LP                  RR(RR)R/RR)]F! R4      //4       ]LP                  RR*RR+R/RR+]! R,.4      //4       ]F! . ]F! ^.4      ]F! ^^..4      ]F! . RO.4      3]WR7      P                  ^R4      tX]! R-.4      ]XR&   RR.RR/R./RR/]X//.tY]F! ]F! ^4      ]F! ^4      ]F! . 4      ]F! . 4      ]F! ^4      3]WR7      P                  ^R4      tZ]P                  ! R]WR7      t\]F! ^4      ]\R&   ]YP                  RR0RR1R./RR1]\//4       ]YP                  RR2RR3R./RR3]Z//4       ]YP                  RR4RR5R/RR5]! . RO4      //4       ]YP                  RR7RR8R/RR8]P                  ! ]P                  ! ]R! ]S! ^^4      4      R4      4      //4       ]! ]P                  ! ^4      ]P                  ! ^4      ]P                  .4      P                  ^^4      t`R U u. uF  q ]W3NK  	  up ta]P                  ! R]a4      tb]! R<.4      ]bR9,          R&   ]`]bR:,          R&   ]`R,          ]bR;,          R&   ]YP                  RR=RR>R=/RR>]b//4       ]P                  ! R]WR7      tc]F! ^4      ]cR&   ]P                  ! R]WR7      ]cR&   ]F! ^]P                  R7      ]cR,          R&   ]F! ^..]P                  R7      ]cR,          R&   ]P                  ! R]WR7      ]cR,          R&   ]F! ^]P                  R7      ]cR,          R,          R&   ]F! ^]P                  R7      ]cR,          R,          R&   ]YP                  RR?RR@R./RR@]c//4       ]P                  ! RR U u. uF  q ]W3NK  	  up R7      te]F! ^4      ]eR,          RA&   ]P                  ! RR6]W3.R7      ]eR,          RB&   ]! RC.4      ]eR,          RB,          R,          R6&   ]YP                  RRDRRER=/RRE]e//4       ]P                  ! RR U u. uF  q ]W3NK  	  up R7      tf]F! ^4      ]fR,          RA&   ]F! ^4      ]fR,          RB&   ]! RF.4      ]fR,          RA&   ]! RG.4      ]fR,          RB&   ]YP                  RRHRRIR=/RRI]f//4       ]P                  ! R U u. uF  q ]W3NK  	  up 4      tg](! ]P                  ! R]gR7      RP4      th]hR,          ti]! RQ.4      ]iRJ&   ]! RR.4      ]iRK&   ]! RQ.4      ]iRL&   ]F! ^ 4      ]iRM&   ]F! ^4      ]iRN&   ]F! ^4      ]iRO&   ]YP                  RRSRRTRS/RRT]h//4       ]j! ]! ]BRU4      RV4      tk]kP                  4       P                  RW4      tn]kP                  4        ]YP                  RRXRRYR/RRY]! ]n.4      //4       ]YP                  RR!RR"R!/RR"]!! ]Q4      //4       ]YP                  RR#RR$R!/RR$]!! ]V4      //4       ]YP                  RRZRR[R\/RR[]! R].R^..4      //4       ]YR,          tp]pP                  RR_RR`RS/RR`]P                  ! ]h^4      P                  ^^4      //4       Ra trRb tsRc ttRd tuRe tvRRf ltw]P                  P                  ROR4      Ri 4       ty]P                  P                  ROR4      Rj 4       tz]P                  P                  RkRgRgRh.3RlRh.3.4      Rm 4       t{Rn t|Ro t}Rp t~Rq tRr tRs tRt tRu tRv tRw tRx tRy tRz tR{ tR| tR} tR~ tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t]P                  P                  R. RO4      R 4       tR tR tR tR tR tR tR tR tR tR tR# u up i u up i u up i u up i )    N)OrderedDict)joindirname)glob)BytesIO)mkdtemp)assert_array_equalassert_array_almost_equalassert_equalassert_assert_allclose)raiseswarns)array)issparse	eye_array	coo_array	csc_array)MatlabOpaqueMatlabFunctionMatlabObject)matdimsMatWriteErrorMatReadErrormatfile_versionMatWriteWarning)mat_reader_factoryloadmatsavematwhosmat)MatFile5WriterMatFile5Readervarmats_from_matto_writeableEmptyStructMarkerdatac                 f    \         P                  ! V / VB pVP                  \        V4      4      pV# )z;Convenience function to return matlab-compatible 2-D array.)npr   reshaper   )argskwargsarrs   *, \/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/io/matlab/tests/test_mio.pymlarrr.   &   s,    
((D
#F
#C
++gcl
#CJ    dtypenamedoubleclasses
testdoubleexpectedstring
teststringcharz+"Do nine men interpret?" "Nine men," I nod.complextestcomplexy              ?NNNmatrix
testmatrixsparse
testsparsesparsecomplextestsparsecomplexmultithetaaminus	testminusonechartestonecharrz@This cell contains this string and 3 arrays of increasing lengthcelltestcell
scalarcelltestscalarcell	emptycelltestemptycellstringarrayteststringarraythree3dmatrixtest3dmatrixstringfielddoublefieldcomplexfieldzRats live on no evil star.struct
teststructcellnesttestcellnestonetwoznumber 3
structnestteststructnestznumber 1znumber 2	structarrteststructarrexpr	inputExprr*   isEmptynumArgsversioninlinexz x = INLINE_INPUTS_{1};object
testobjectzjapanese_utf8.txtrbzutf-8unicodetestunicodebool	testboolslogicalTFobjectarraytestobjectarrayc                @   \        V 4      p\        V4      pW#J d   R# V\        P                  J d-   V P                  R8X  d   \        V P	                  4       4      VJ # V\        P                  J d-   VP                  R8X  d   \        VP	                  4       4      VJ # R# )zcCheck if types are same or compatible.

0-D numpy scalars are compatible with bare python scalars.
TF )typer(   ndarrayshapeitem)var1var2type1type2s   &&  r-   types_compatibler~      s{    
 JEJE~

tzzR/DIIK E))

tzzR/DIIK E))r/   c           	     `   \        V4      '       dB   \        \        V4      4       \        VP                  4       VP                  4       V ^R7       R# \        \	        W4      R\        V4       R\        V4       RV  24       \        V\        P                  \        P                  ,          \        ,          4      '       g   \        W4       R# \        VP                  VP                  8H  RVP                   RVP                   RV  2R7       VP                  pVP                  '       dg   \        V\        4      '       d!   \        VP                  VP                  4       \!        V4       F  w  rEV  RV R	2p\#        WeW$,          4       K!  	  R# VP$                  '       d7   VP$                   F$  pV  R
V R2p\#        VW,          W',          4       K&  	  R# VP
                  \&        \        P(                  \        P*                  39   d   \        W!V R7       R# \        W!V ^R7       R# )z.Check one level of a potentially nested array )err_msgdecimalNzExpected type z, got z at zExpected shape )msgz, [z], z, field z, r   )r   r   r
   toarrayr~   rv   
isinstancer(   voidrw   r   r   rx   r1   	hasobject	classname	enumerate_check_levelfieldsstrstr_bool_)labelr6   actualex_dtypeievlevel_labelfns   &&&     r-   r   r      s    !!&.."2"*"2"2"4*/*+	- 	X.T(^,F4<.UGLN h"** 4| CDDX&HNNfll*!(..!1~T%QS~~Hh--++V-=-=>x(EA"G3qc-K&)4 ) 	//B"G8B4r2K!vz3 " 	}}# # 	Vu5fqIr/   c                     V F\  p\        VR RR7      pRV  RV 2pVP                  4        F/  w  rgV RV 2p\        Wd9   RV 24       \        WWF,          4       K1  	  K^  	  R# )TFstruct_as_recordspmatrixtest ; file z, variable zMissing key at N)r   itemsr   r   )	r2   filescase	file_namematdictr   kr6   k_labels	   &&&      r-   _load_check_caser   "  sm    	)dUKvWYK0::<KA{1#.GALOG9"=>GJ7 ( r/   c           
          V F  pR V  RV 2p\        V4      pVP                  4        UUu. uF  w  rxWxP                  W7,          3NK  	  p	ppVP                  4        V	P                  4        \	        WiV RV: RV	: 24       K  	  R# u uppi )r   r   z: z != N)r    r   rx   sortr   )
r2   r   r   r4   r   r   whosr   r6   expected_whoss
   &&&&      r-   _whos_check_caser   ,  s    	vWYK0y! @Dzz|M?KQ
+| 	 M 			Twb],=>	 
Ms   B
c                 p    \        4       p\        W1VR 7       VP                  ^ 4       \        W.V4       R# )formatN)r   r   seekr   )r2   r6   r   
mat_streams   &&& r-   _rt_check_caser   =  s+    JJ0OOAT<2r/   c           	   #   X  "   V R 8X  d   \         pMV R8X  d   \        pMV R8X  g   Q h\        pV Ft  pVR,          pVR,          pVf   RpMI\        \        V\        VR7      ,          4      p\        V4      p\        V4      ^ 8  g   Q RV RV 24       hVR	,          pWFWX3x  Kv  	  R# 5i)
455_rtr2   r6   N)r2   zNo files for test  using filter r4   )case_table4case_table5case_table5_rtpjointest_data_pathdictr   len)	rg   filtcasesr   r2   r6   r   use_filtr4   s	   &&       r-   _casesr   E  s     #~	C&   F|
#<E^TDdO-CDHNEu:> @$TF.?@>y/8,, s   B(B*r   r   c                 J    \        V 4       F  p\        VR ,          !   K  	  R# ):N   NN)r   r   rg   r   s   & r-   	test_loadr   [  s    w$r(#  r/   c                 <    \        V 4       F  p\        V!   K  	  R # N)r   r   r   s   & r-   	test_whosr   a  s    w$  r/   zversion, fmtsr   c                 v    \        V R R7       F'  pV F  p\        V^ ,          V^,          V4       K   	  K)  	  R # )N)r   )r   r   )rg   fmtsr   fmts   &&  r-   test_round_tripr   h  s3    
 wT*C47DGS1  +r/   c                  R   \         P                  ! R4      p RV R&   RV R&   \        V 4      pRpRV/pRp\        4       p \	        WR4      p\
        P                  ! VRR7      p\        WsVR7       VP                  4        \
        P                  ! VR	R7      p\        VR
RR7      pVP                  4        \        P                  ! V4       \        VR,          P                  4       VR,          P                  4       \        V4      R7       R#   \        P                  ! T4       i ; i)   gffffff@g      @	gzip_testri   r   wb)moder   rl   TFr   r   N)r   r      r   )      )r(   zerosr   r   r   gzipopenr   closer   shutilrmtreer
   r   repr)	xdenseri   r2   r6   r   tmpdirfnamer   r   s	            r-   test_gzip_simpler   r  s    XXgFF3KF3K&ADAwHFYF
f"YYu40

V4YYu40
dUKffSk113&sm335&*6l4 	fs   A6D D&c                  P   \        4       p  \        \        P                  ! R4      R7      p\	        V R4      p\        W!4       \        P                  ! V4       \        W!4       \        V4       \        P                  ! V4       \        VR4      p\        W14       VP                  ^ 4       VP                  4        \        VR4      p\        V4       VP                  ^ 4       VP                  4        \        P                  ! V 4       R#   \        P                  ! T 4       i ; i)r   ri   za.matr   rl   N)r   r   )r   r   r(   r   r   r   osunlinkr   r   r   r   r   r   )r   ri   r   fs       r-   test_multiple_openr     s    YF288F#$fg& 	
		%
		% 	q			
	q			ffs   C)D D%c                      \        \        \        R 4      4      p \        \	        V 4      ^ 8  4       V  F6  p\        VR4      p\        \        \        VRR7       VP                  4        K8  	  R# )ztesthdf5*.matrl   Tr   N)
r   r   r   r   r   r   assert_raisesNotImplementedErrorr   r   )	filenamesfilenamefps      r-   
test_mat73r     s\    no.0IC	NQ(D!)'+	- 	
 r/   c                      \        \        R 4      p \        P                  ! 4       ;_uu_ 4        \        P                  ! R4       \        V RR7       \        V RR7       RRR4       R#   + '       g   i     R# ; i)ztestdouble_7.1_GLNX86.materrorTr   FN)r   r   warningscatch_warningssimplefilterr   )r   s    r-   test_warningsr     sQ     ."=>E		 	 	"	"g&-. 
#	"	"	"s   1A))A:	c                     \        4       p \        V R ^^//RR7       \        V 4      R ,          p\        VP                  R4       \        VP
                  \        P
                  ! \        4      4       \        VR,          RJ 4       R# )dr   r   N   r   r   r   	r   r   r   r   rx   r1   r(   rj   r   )siobacks     r-   test_regression_653r     sc     )CC#qeS)3<DU#RXXf-.DIr/   c                  ,   ^p RV ,          p\         P                  ! RV\        3.R7      p\        \	        4       RV/RR7       RV ^,           ,          p\         P                  ! RV\        3.R7      p\        \        \        \	        4       RV/RR7       R# )   rE   r0   
longstructr   r   Nr   r(   r   rj   r   r   r   
ValueErrorlimfldnamest1s      r-   test_structname_lenr    sz    
CCiG
((5'6!2 3
4CGIc*37SUmG
((5'6!2 3
4C*gwy%c3r/   c            	          \         P                  ! RR\        3.R7      p \        \        \
        \        4       RV /RRR7       R# )	r   my_fieldnamer0   	my_structr   Tr   long_field_namesNr   )r(   r   rj   r   r   r   r   )r  s    r-   (test_4_and_long_field_names_incompatibler
    s7    ~f&=%>?I*gwyy)#Nr/   c            	      0   ^?p RV ,          p\         P                  ! RV\        3.R7      p\        \	        4       RV/RRR7       RV ^,           ,          p\         P                  ! RV\        3.R7      p\        \        \        \	        4       RV/RRR7       R# )	?   rE   r0   r   r   Tr  Nr   r   r   s      r-   test_long_field_namesr    s    
CCiG
((5'6!2 3
4CGIc*3MSUmG
((5'6!2 3
4C*gwy%c4Ir/   c            	         ^?p RV ,          p\         P                  ! R	\        R7      p\         P                  ! R
V\        3.R7      pW2R&   W2R&   \	        \        4       RV/RRR7       \        \        \        \        4       RV/RRR7       R# )r  rE   r0   r   r   Tr  FNr   r   r   r   r   r   )r(   rw   rj   r   r   r   r   r   )r  r  rK   r  s       r-   test_long_field_names_in_structr    s|     CCiG::e&)D
((5'6!2 3
4CIIGId+CN *gwy&sULr/   c                      \         P                  ! R	\        R7      p RV R
&   RV R&   \        \	        4       RV /RR7       \         P                  ! R\        R7      p RV R
&   \        \	        4       RV /RR7       R# )r   r0   HelloWorldri   r   r   zHello, worldNr  r   r  r   )r(   rw   rj   r   r   )cellss    r-   test_cell_with_one_thing_in_itr    sc     JJu6*EE#JE#JGIU|C0JJu6*EE#JGIU|C0r/   c                  b   \        \        4       4      p \        V P                  . 4       R .V n        \        V P                  R .4       \        V P                  R4       RV n        \        V P                  R4       \        V P
                  R4       RV n        \        V P
                  R4       R# )avarFTN)r!   r   r   global_varsunicode_stringsr	  )mfws    r-   test_writer_propertiesr    s    

#C"%hCO6(+$$e,C$$d+%%u-C%%t,r/   c                  8   \        4       p \        V 4      p\        P                  ! ^
4      pVP	                  RV/4       \        V P                  4       4      pV P                  ^ 4       V P                  ^ 4       VP	                  RV/4       \        V\        V P                  4       4      ,
          ^8  4       V P                  ^ 4       V P                  ^ 4       VP	                  RV/4       \        \        V P                  4       4      V,
          ^8  4       R# )
   aaaaaaaaaaaaaaaN)
r   r!   r(   r   put_variablesr   getvaluetruncater   r   )r   wtrr,   w_szs       r-   test_use_small_elementr'    s    
)C

C
((2,Cwn%s||~DLLOHHQKvsm$D3s||~&&*+LLOHHQKxo&C$&*+r/   c                  \   \         P                  ! R..R\        3R\        3.R7      p \        \        3 Fs  pV! RR.4      p\        4       p\        VRV/4       VP                  ^ 4       \        V4      R,          p\        VP                  P                  R	4       \        W@4       Ku  	  R# )
r   rE   br0   r   Nr  )rE   r   )r)  r   )rE   r)  )r(   r   rj   r   r   r   r   r   r   r   r1   namesr	   )ab_exp	dict_typer   streamvalss        r-   test_save_dictr/  2  s     XXxj#vf(FGFK(	x*+$Avv&TZZ%%z24( )r/   c                     \         P                  ! ^4      p R F  p\        4       p\        VRV /VR7       \	        V4      p\        VR,          P                  R4       \        4       p\        VRV /VRR7       \	        V4      p\        VR,          P                  R	4       \        4       p\        VRV /VRR7       \	        V4      p\        VR,          P                  R4       K  	  R# )
r   onedr   column)r   oned_asrowNr   r   )r   r   )r   r   )r(   aranger   r   r   r   rx   )r,   r   r-  r.  s       r-   test_1d_shaper7  A  s    
))A,Cf5vT&\''0 	" vT&\''/	 vT&\''/' r/   c                     \         P                  ! ^d4      P                  R4      p ^V R&   \        4       p\	        VRV /4       \        VP                  4       4      p\        V4      p\        VR,          V 4       \        4       p\	        VRV /RR7       \        VP                  4       4      p\        V4      p\        VR,          V 4       \        W$8  4       V P                  4       p^VR	&   \        4       p\	        VRV RV/RR7       \        V4      p\        VR,          V4       \        4       p\	        VRV RV/RR7       \        V4      p\        VR,          V4       R# )
d   r,   T)do_compressionarr2FN)r   r   )r   r  r   )r(   r   r)   r   r   r   r#  r   r	   r   copy)r,   r-  raw_lenr.  compressed_lenr;  s         r-   test_compressionr?  Z  s$   
((3-


'CCIYFFU3K &//#$G6?DtE{C(YFFU3K5*+N6?DtE{C(G$%88:DDIYFFU3t,UC6?DtF|T*YFFU3t,TB6?DtF|T*r/   c            	      j    \        4       p \        V R \        P                  ! ^\        R7      /4       R# )Ar0   N)r   r   r(   r   rj   )r-  s    r-   test_single_objectrB  u  s#    YFFS!6234r/   c                     \        \        R 4      p \        V RR7      p\        RV9   4       \        RV9   4       \	        V RR7      w  r#VP                  R4      p\        RV9   4       VP                  P                  4        R# )ztest_skip_variable.matTr   firstsecondN)r   r   r   r   r   get_variablesr   r   )r   r   factoryfile_openeds       r-   test_skip_variablerI  z  sx     ^$<=H 	40AGqLHM .hNG 	h'AHMr/   c                     \        \        R 4      p \        V RR7      pVR,          p\        VP                  R4       \        VP
                  \        P
                  ! \        4      4       \        VR	,          RJ 4       \        4       p\        P                  ! R
RR7      p\        VRV/4       \        V4      pVR,          p\        WT4       R# )ztest_empty_struct.matTr   rE   NUr0   r,   r   r   ru   )r   r   r   r   rx   r1   r(   rj   r   r   r   r   r	   )r   r   rE   r-  r,   a2s         r-   test_empty_structrM    s    ^$;<H 	40A	#A% "((6*+AcFdNYF
((2S
!CFU3K A	
5Brr/   c                     \        4       p \        V R / /4       \        V 4      pVR ,          p\        VP                  R4       \        VP
                  \        P
                  ! \        4      4       \        VR,          RJ 4       R# )r,   Nr   r   r   )r-  r   rE   s      r-   test_save_empty_dictrO    s^    YFFUBK A	%A% "((6*+AcFdNr/   c                v    RpV F%  p\         P                  ! W8H  4      '       g   K#  Rp M	  \        V4       R# )zGAssert `output` is equal to at least one element in `alternatives`
    FTN)r(   allr   )outputalternatives	one_equalr6   s   &&  r-   assert_any_equalrU    s7     I 66&$%%I ! Ir/   c                  	   \        \        P                  ! ^.4      4      p \        V P                  R4       \        V ^4       \        P                  ! R.RR.R7      p\        P                  ! R.RR.R7      pW3p\        \        R^R^/4      V4       \        P                  ! \        RR7      ;_uu_ 4        \        \        R^R^R^/4      V4       RRR4       \        \        R^R^^d^/4      V4       \        P                  ! \        RR7      ;_uu_ 4        \        \        R^R^R^/4      V4       RRR4        ! R	 R
4      pTp^Vn
        ^Vn        \        \        V4      V4       \        . 4      p \        V P                  R4       \        V P                  P                  \        P                  4       \        R4      p \        V P                  R4       \        V P                  P                  \        P                  4       \        \        R4      RJ 4       \        \        R4      P                  P                  \        P                   4       \        ^4      p \        V P                  R4       \        V P                  P                  \        P                  ! ^4      P                  P                  4       \        V ^4       \        \        / 4      \"        J 4       \        \        \%        4       4      RJ 4        ! R R4      p\        \        V! 4       4      \"        J 4       \        R^/4      R,          p \        V P                  R4       \        V P                  P                  \        P&                  4       \        P                  ! \        RR7      ;_uu_ 4        \        \        R^/4      \"        J 4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        \        R^/4      \"        J 4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        \        R^R^/4      \        P                  ! R.R.R7      4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL_; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   rE   r)  r0   Starting field name withmatch_cN99c                       ] tR tRtRtR# ) test_to_writeable.<locals>.klassi  ru   N__name__
__module____qualname____firstlineno____static_attributes__ru   r/   r-   klassr]        r/   rd  a stringc                       ] tR tRtRtR# )test_to_writeable.<locals>.Ci  ru   Nr^  ru   r/   r-   Crh    re  r/   ri  1_ar   )r   r  )rE   |O8)r)  rl  )r   r   r   ru   r   )r   rl  )r$   r(   r   r   rx   r	   rU  pytestr   r   rE   r)  r1   rv   float64r   r   r%   rj   object_)res	expected1	expected2rS  rd  cri  s          r-   test_to_writeablerv    sd   
rxx}
%CD!sA&,)EFI&,)EFI)L\3qQ-0,?	o-G	H	Hs1c!T!&<=|L 
I \3qQA"67F	o-G	H	Hs1c!T!&<=|L 
I  	A
AC
AC\!_l3
r
CD!,
r
CD!,L$&'j)//44bgg>
q/CB!!2!2!7!78sAL 112L"d*+  L!223
Qx
 
%CD!,	o-G	H	Hc!W%)::; 
I 
o-G	H	Hd1X&*;;< 
I 
o-G	H	H\3q#q/24&7	9 
I	Hk 
I	H	H
 
I	H	HT 
I	H 
I	H 
I	H	Hs<   9Q:R,R"5R5>2S:R	R	"R2	5S	S	c                     RR.p \         P                  ! RV R7      pRV^ ,          R &   RV^ ,          R&   ^cV^,          R &   RV^,          R&   \        4       p\        VRV/4       \	        VRR7      pVR,          R,          p\        VP                  R4       \        VP                  R4       \	        VR	R7      pVR,          R,          p\        VR ,          R4       \        VR,          R4       \        VP                  \         P                  ! RR.4      4       VR,          P                  ^,          p\        VR ,          ^c4       \        VR,          R4       R
# )f1f2r0   g      ?pythonznot perlr,   Fr   TN)rx  f8)ry  S10rn  r   )rx  O)ry  r}  )
r(   r   r   r   r   r   rx  ry  r1   flat)dtr,   r-  r   a20a21s         r-   test_recarrayr    s#   


B
((4r
"CCF4LCF4LCF4LCF4LYFFUCL!/A
E(3-C".A
E(3-CTC TH%BHHk&1&3 4 5
E(--
CTBTJ'r/   c                      ! R  R4      p V ! 4       p^Vn         RVn        \        4       p\        VRV/4       \	        VRR7      pVR,          R
,          p\        VP                   ^4       \        VP                  R4       \	        VRR7      pVR,          R
,          p\        VR,          ^4       \        VR,          R4       R	# )c                       ] tR tRtRtR# )test_save_object.<locals>.Ci"  ru   Nr^  ru   r/   r-   ri  r  "  re  r/   ri  rf  ru  Fr   Tfield1field2Nr   )r  r  r   r   r   r   )ri  ru  r-  r   c2s        r-   test_save_objectr  !  s     	AAHAHYFFS!H/A	
3BAJ'.A	
3BHq!Hz*r/   c                     \         P                  ! ^4      P                  ^^4      p \        4       p\	        VRV /4       \        V4      pVP                  4       pVR,          p\        W@4       \        VRR7      p\        VP                  4       R,          V P                  R4      4       RVn        \        W@4       \        V\        P                  R7      p\        VP                  4       R,          V 4       \        V\        P                  R7      p\        \        VP                  4       \        P                  Vn        \        VP                  4       R,          V 4       \         P                  ! R.4      p VP!                  ^ 4       VP#                  ^ 4       \	        VRV /4       \        V4      p\        VP                  4       R,          V 4       \        VRR7      p\         P$                  ! \         P                  ! \'        V P)                  4       4      RR	7      4      p\        VP                  4       R,          V4       RVn        \        VP                  4       R,          V 4       R
# )   rE   T
squeeze_meF)
byte_orderrf  )chars_as_stringsU1r0   N)r  )r(   r6  r)   r   r   r"   rF  r	   r  bocnative_codeswapped_coder   	Exceptionr  r   r$  r   
atleast_2dlistry   r  )r,   r-  rdr	back_dictrarrcarrs         r-   test_read_optsr  3  s    ))A,

q
#CYFFS#J

 C!!#IS>Dt!
D
1Cs((*3/T1BCCNt!
COO
<Cs((*3/5 C,<,<
=C)S../__CNs((*3/5
((J<
 C
OOA
KKNFS#J

 Cs((*3/5
%
8C==$sxxz"2$?@Ds((*3/6Cs((*3/5r/   c            	         \        \        R 4      p \        V R4      p\        V4      pVP	                  4       pVP                  4        \        VR,          \        P                  ! . RR7      4       \        4       p\        VR\        P                  ! R.4      /4       \        V4      pVP	                  4       p\        VR,          \        P                  ! . RR7      4       VP                  ^ 4       VP                  ^ 4       \        VR\        P                  ! . RR7      /4       \        V4      pVP	                  4       p\        VR,          \        P                  ! . RR7      4       VP                  4        R# )zsingle_empty_string.matrl   rE   r  r0    N)r   r   r   r"   rF  r   r	   r(   r   r   r   r$  r   )estring_fnamer   r  r   r-  s        r-   test_empty_stringr  V  s   .*CDM	mT	"B

CAHHJqvrxx$78 YFFS"((B4.)*

 CAqvrxx$78
OOA
KKNFS"((2T234

 CAqvrxx$78
LLNr/   c                  
   ^ RI p \        R3V P                  R33 FP  w  r\        \	        \
        V4      R4      ;_uu_ 4       p\        V4      p\        WP                  4       RRR4       KR  	  R#   + '       g   i     Kg  ; i)r   Ncorrupted_zlib_data.matzcorrupted_zlib_checksum.matrl   )	zlibr   r   r   r   r   r"   r   rF  )r  excr   r   r  s        r-   test_corrupted_datar  q  sk    "$=>

$ABD
%.55 $C#001 65D555s   !A11Bc                      \        \        \        R 4      R4      ;_uu_ 4       p \        V RR7      pVP	                  4        RRR4       R#   + '       g   i     R# ; i)r  rl   F) verify_compressed_data_integrityN)r   r   r   r"   rF  )r   r  s     r-   )test_corrupted_data_check_can_be_disabledr  z  sA    	eN$=>	E	ER%H 
F	E	E	Es   AA	c            	      ~   R F  p \        \        \        V 4      R4      p\        V4      pVP	                  4       pVP                  4        \        VR,          \        P                  ! R.R..\        R7      4       \        VR,          \        P                  ! RR.RR	..\        P                  R7      4       K  	  R
# )big_endian.matrl   stringshelloworldr0   floats       @      @      @N)r  zlittle_endian.mat)r   r   r   r"   rF  r   r	   r(   r   rj   float32)r   r   r  r   s       r-   test_read_both_endianr    s    8%.5R 

1Y<88gY&-Y%07=?	@ 	1X;88b"X&("X%/68jjB	C 9r/   c                     \         P                  ! R R.RR..4      p \         P                  ! ^4      P                  R4      p\         P                  ! RR.RR7      p\	        4       p\        VRV P                  4       P                  V P                  P                  4       4      RVP                  4       P                  VP                  P                  4       4      R	VP                  4       P                  VP                  P                  4       4      /4       \        V4      pVP                  4       p\        VR,          V 4       \        VR,          V4       \        VR	,          V4       VP                  4        R
# )r  r  r  r  r  rK  r0   r  intsuni_arrNr   )r(   r   r6  r)   r   r   byteswapviewr1   newbyteorderr"   rF  r	   r   )	float_arrint_arrr  r-  r  r   s         r-   test_write_opposite_endianr    s&    2r(r($ %Iiil""6*Ghh)5GYFF)$$&++IOO,H,H,JK  "''(B(B(DE7##%**7==+E+E+GH 
 
 CAq{I.qy'*q|W-
LLNr/   c                     \        \        \        R 4      R4      ;_uu_ 4       p \        V RR7      pVP	                  4       pRRR4       \
        P                  ! R.R..\
        P                  R7      p\        XR,          V4       \        VR,          P                  VP                  4       R#   + '       g   i     Lv; i)ztestbool_8_WIN64.matrl   T	mat_dtypeNFr0   rp   )r   r   r   r"   rF  r(   r   r   r	   r   r1   )fobjr  r   ri   s       r-   test_logical_arrayr    s     
eN$:;T	B	BdTT2 
C 	4&5'""((3Aq~q);%%qww/ 
C	Bs   B//B?	c                     \        4       p \        P                  ! . RO4      p\        V RV/4       V P	                  ^ 4       \        V 4      pVP                  4        VP                  4        VP                  4       w  r4\        VP                  \        P                  4       \        VP                  R4       VP                  VR 4      p\        VP                  P                   \        P"                  4       R# )FTbarrayN)FTF)r   r(   r   r   r   r"   initialize_readread_file_headerread_var_headerr   mclassmio5pmxUINT8_CLASS
is_logicalread_var_arrayr1   rv   uint8)r-  barrreaderhdr_vars         r-   test_logical_out_typer    s     YF88()DFXt$%
KKNF#F

##%FCU001&


U
+C*r/   c                      \        4       p \        V R \        P                  ! R4      /4       \	        V 4      pVR ,          P
                  R8X  g   Q hR# )r   N)r  r   )r   r   r(   emptyr   rx   )r-  r   s     r-   test_roundtrip_zero_dimensionsr    s@    YFFS'*+,AS6<<7"""r/   c                      \        4       p \        P                  ! ^4      P                  R4      p\	        \
        \        V RV/RR4       R# )   rE   Tr   N)r   r   r   )r   r(   r6  r)   r   r   r   )r-  r,   s     r-   test_mat4_3dr    s7    YF
))B-


(C*gvSz4Er/   c                     \        \        R 4      p \        V R4      p\        V4      pVP	                  4       pVP                  4        \        VR,          \        4      '       g   Q h\        4       p\        V4      p\        P                  ! \        RR7      ;_uu_ 4        \        \        VP                  V4       RRR4       R#   + '       g   i     R# ; i)ztestfunc_7.4_GLNX86.matrl   testfuncrW  rX  N)r   r   r   r"   rF  r   r   r   r   r!   ro  r   r   r   r   r"  )func_egr   r  r   r-  r%  s         r-   test_func_readr    s    N$=>G	gt	B

CAHHJa
m^4444YF

 C	o-G	H	HmS%6%6: 
I	H	H	Hs    CC	c                     \        \        R 4      p \        V R4      p\        VRR7      pVP	                  4       pVP                  4        \        VR,          P                  P                  R4       \        V R4      p\        VRR7      pVP	                  4       pVP                  4        \        VR,          P                  P                  R4       R# )	ztestmatrix_6.1_SOL2.matrl   Fr  r>   uTr   N)	r   r   r   r"   rF  r   r   r1   kind)	double_egr   r  r   s       r-   test_mat_dtyper    s    n&?@I	i	B
u
-CAHHJ<&&++S1	i	B
t
,CAHHJ<&&++S1r/   c                      R \        ^4      /p \        4       p\        VRV /4       \        VRR7      p\	        VR,          R,          R ,          P                  4       \        P                  ! ^4      4       R# )sparsefieldrE   Tr   Nr   )r   r   r   r   r	   r   r(   eye)str-  r   s      r-   test_sparse_in_structr    s[     1	&BYFFSH.Aqvd|M2::<bffQiHr/   c                  v    \        4       p R R^R^//p\        W4       \        V RR7       \        V RRR7       R# )r  r]   r^   Fr   T)r   r  N)r   r   r   )r-  in_ds     r-   test_mat_struct_squeezer    s:    YF%5#$DFFU+FUt<r/   c            	      :   \        4       p R R..RRRR^R^//p\        W4       \        V RR7      p\        \	        VR ,          \
        4      4       \        \	        VR,          \        4      4       \        \	        VR,          \        P                  4      4       R	# )
scalar皙?r7   zmy namer  r]   r^   Tr  N)	r   r   r   r   r   floatr   r(   rw   )r-  r  out_ds      r-   test_scalar_squeezer    sy    YFugxD%59KLDFFt,EJuX./JuX,-JuT{BJJ/0r/   c                     \        4       p \        P                  ! R R.4      p\        P                  ! R R.4      p\        V \	        VR7      4       \        V 4      p\        VR,          V4       V P                  ^ 4       V P                  ^ 4       VP                  RR7      p\        P                  ! \        P                  VP                  RVR7      p\        V \	        VR7      4       \        VR,          V4       V P                  ^ 4       V P                  ^ 4       VP                  R4      pVP                  R4      p\        V RV/4       \        V 4      p\        VR,          V4       R	# )
r  FoobzFoob )rE   rE   F)order)rx   r1   r  bufferrK  N)r   r(   r   r   r   r   r	   r$  r   tobytesrw   rE   rx   r1   astype)r-  in_arrout_arrrr  in_strin_from_strin_arr_u	out_arr_us           r-   test_str_roundr  	  s   YFXXw'(Fhh)*GFD6N#
&/Cs3x)
OOA
KKN^^#^&F**177#)<<#&$*,K FD;'(s3x)
OOA
KKN}}S!Hs#IFS(O$
&/Cs3x+r/   c                      \        4       p \        V R R ^R^//4       \        V 4      pVR ,          P                  P                  p\        \        V4      R R04       R# )rE   r)  N)r   r   r   r1   r*  r   set)r-  rr  field_namess      r-   test_fieldnamesr   &  sO    YFFS3q#a.)*
&/Cc(..&&K[!C:.r/   c                     . ROp \        \        R4      . 3\        \        R4      V 33 EF  w  r\        V4      p\        \	        VP                  4       4      \	        RR.V,           4      4       \        VRR7      p\        \	        VP                  4       4      \	        R.V,           4      4       \        VR.R7      p\        \	        VP                  4       4      \	        R.V,           4      4       \        VR.R7      p\        \	        VP                  4       4      \	        R.V,           4      4       \        VRR7      p\        \	        VP                  4       4      \	        R.V,           4      4       \        V. R7      p\        \	        VP                  4       4      \	        V4      4       R.p\        WR7      p\        VR.4       EK  	  R# )	__globals__ztestmulti_4.2c_SOL2.matztestmulti_7.4_GLNX86.matrE   rD   )variable_namesN)r  
__header____version__)rD   )r   r   r   r   r  keys)mat5_sys_nameseg_filesys_v_namesvarsvnamess        r-   test_loadmat_varnamesr  /  sn   %N 
~8	92>6B89GAI!J wS%sC>K+G'HIws3S%sC5;+>'?@wu5S%sC5;+>'?@wy9S%sG9{+B'CDwz:S%sG9{+B'CDwr2S%s;'78w6VgY'#!Jr/   c                  N   \         P                  ! ^
4      p \        4       pR F~  pVP                  ^ 4       VP	                  ^ 4       \        VRV P                  V4      /4       \        V4      p\        \         P                  ! V4      VR,          P                  4       K  	  R# )r  r,   N)r{  f4i8i4i2i1u8u4u2u1c16c8)
r(   r6  r   r$  r   r   r  r   r   r1   )r,   r-  dtsr
  s       r-   test_round_typesr  H  su    
))B-CYF0A

301vRXXc]DK$5$560r/   c                    a	 R \        \        P                  ! ^
4      4      3R\        R4      3R\        ^
4      33o	 ! V	3R lR4      p \        4       p\	        W! 4       4       \        V4      p\        \        V4      ^4       \        ^4       F@  pW#,          w  rES	V,          w  rg\        WF4       \        V4      p\        W,          V4       KB  	  R# )r,   mystrrf  mynumc                   .   <a  ] tR tRt o V3R ltRtV tR# ) test_varmats_from_mat.<locals>.Ci\  c                   < S# r   ru   self
names_varss   &r-   r   &test_varmats_from_mat.<locals>.C.items]  	    r/   ru   Nr_  r`  ra  rb  r   rc  __classdictcell____classdict__r#  s   @r-   ri  r  \       	 	r/   ri  N)r.   r(   r6  r   r   r#   r   r   ranger   r	   )
ri  r-  varmatsr   r2   
var_streamexp_nameexp_resrr  r#  s
            @r-   test_varmats_from_matr0  U  s    %		"./E*-.E"I&(J
  YFFACv&GWq!1X":&qMT$j!39g. r/   c                      \        \        R 4      p \        V R4      p\        V4      pVP	                  4       pVP                  4        \        VR,          P                  R4       R# )zone_by_zero_char.matrl   r  Nrm  )r   r   r   r"   rF  r   r   rx   )r  r   r  r   s       r-   test_one_by_zeror2  k  sN    N$:;G	gt	B

CAHHJ5&r/   c                  h    \        \        R 4      p \        V 4      p\        VR,          RR..4       R# )ztest_mat4_le_floats.matrE   r  g333333?N)r   r   r   r	   )
mat4_fnamer
  s     r-   test_load_mat4_ler5  u  s/     ~'@AJ:DtCyC:,/r/   c                      \        4       p R R/p\        WRR7       \        V 4      p\        VR ,          VR ,          4       R# )
second_catu   Schrödingerr   r   N)r   r   r   r   )bior  var_backs      r-   test_unicode_mat4r:  }  s:    
)C
(CCS!s|H,'\):;r/   c            	      X   \        \        R 4      p \        V RRR7      pVR,          p\        \	        V4      ;'       d    VP
                  R8H  4       \        VP                  P                  \        P                  4       \        VP                  4       . RO. RO. RO. R	O. R	O.4       R# )
zlogical_sparse.matTFr   
sp_log_5_4cscN)TTTF)FFTF)FFFF)r   r   r   r   r   r   r   r1   rv   r(   r   r	   r   )r   r   log_sps      r-   test_logical_sparser?    s     ^$89H 	4%@A|_FHV77%!78""BHH-v~~'13344	67r/   c                  P   \        4       p ^ RIpVP                  P                  ^ ^ .^ ^ ..4      p\	        V \        VR7      4       V P                  ^ 4       \        V RR7      pVP                  P                  VR,          4      '       d   Q h\        V RR7      pVP                  P                  VR,          4      '       g   Q h\        V 4      pVP                  P                  VR,          4      '       g   Q h\        VR,          P                  VP                  4       \        VR,          P                  4       ^ 4       V P                  ^ 4       \        V 4      pVP                  4        VP                  4        VP                  4       w  rV\!        VP"                  ^4       R# )r   Nr   F)r   ri   T)r   scipy.sparser?   	csr_arrayr   r   r   r   
isspmatrixr	   rx   r   r"   r  r  r  r   nzmax)r   scipyempty_sparserr  r  r  r  s          r-   test_empty_sparserG    s@   
)C<<))Aa5!A-8LC%&HHQK
#
&C||&&s3x0000
#
%C<<""3s8,,,,
#,C<<""3s8,,,,s3x~~|'9'9:s3x'')1- HHQKC F

##%FCAr/   c                  D    \        4       p \        \        \        V 4       R # r   )r   r   r   r   )r   s    r-   test_empty_mat_errorrI    s    
)C,-r/   c                  6   \        \        R 4      p \        V 4      p\        VR,          \        P
                  ! ^
4      R,          4       \        \        R4      p \        \        4      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)zmiuint32_for_miint32.matan_arrayNzbad_miuint32.mat)Nr<   )r   r   r   r   r(   r6  r   r   r   rr  s     r-   test_miuint32_compromiserM    se     ^%?@H
(
CZ"))B-"89^%78H	z	"	" 
#	"	"	"s   1BB	c                     \        \        R 4      p \        V 4      p\        VR,          ^..4       \        \        R4      p \	        \
        4      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)zmiutf8_array_name.mat
array_namezbad_miutf8_array_name.matN)r   r   r   r   r   r   rL  s     r-   !test_miutf8_for_miint8_compromiserP    s[    ^%<=H
(
C\"aSE*^%@AH	z	"	" 
#	"	"	"s   A..A?	c                      \        \        R 4      p \        V 4      p\        VR,          RP	                  RR4      4       R# )zbroken_utf8.mat
bad_strings    am brokenutf8replaceN)r   r   r   r   decoderL  s     r-   test_bad_utf8rV    s8    ^$56H
(
C\""))&)<>r/   c                 ~    \         P                  P                  \        V 4      R 4      pRR^RR//p\	        W4       R# )test.matrE   r)  ru  test_strN)r   pathr   r   r   )r   r   	test_dicts   &  r-   test_save_unicode_fieldr\    s5    ww||CK4Hc!C
+,IH r/   c                      ! R  R4      pV! 4       p\         P                  P                  \        V 4      R4      p\	        VRV/4       \        V4      p\        VR,          \        P                  ! V4      4       R# )c                   *   a  ] tR tRt o RR ltRtV tR# )0test_save_custom_array_type.<locals>.CustomArrayi  Nc                N    \         P                  ! R 4      P                  ^^4      # )g      @)r(   r6  r)   )r"  r1   r<  s   &&&r-   	__array__:test_save_custom_array_type.<locals>.CustomArray.__array__  s    99S>))!Q//r/   ru   )NN)r_  r`  ra  rb  ra  rc  r'  )r)  s   @r-   CustomArrayr_    s     	0 	0r/   rc  rX  rE   N)	r   rZ  r   r   r   r   r	   r(   r   )r   rc  rE   r   outs   &    r-   test_save_custom_array_typere    s[    0 0 	Aww||CK4HHsAh
(
Cs3x!-r/   c                  Z    \        \        \        R 4       \        \        \        R4       R# )zNotExistentFile00.matNotExistentFile00N)r   OSErrorr   ru   r/   r-   test_filenotfoundri    s    '7$;<'7$78r/   c                  N   \        \        R 4      p \        V RR7      p\        V RR7      p\        \	        VR,          \
        4      4       \        \	        VR,          \        P                  4      4       \        VR,          R,          \        P                  ! . RO4      4       R# )ztestsimplecell.matTsimplify_cellsFsmycellN)rE   r)  ru  )
r   r   r   r   r   r   r(   rw   r	   r   )r   res1res2s      r-   test_simplify_cellsrq    sm    ^%9:H8D1D8E2DJtCy$'(JtCy"**-.tCy*BHH_,EFr/   zversion, filt, regexc                 .   \        \        R V R24      p\        V4      pVe,   V Uu. uF  p\        P                  ! W%4      f   K  VNK!  	  pp\        V4      ^ 8  g   Q RV  RV 24       hV F  p\        V4      pV^ ,          V 8X  d   K  Q h	  R# u upi )ztest*z.matNzNo files for version r   )r   r   r   rerY  r   r   )rg   r   regexr   r   filegot_versions   &&&    r-   test_matfile_versionrw    s     ^uTF$%78HNE"'M%$288E+@%Mu:> >
ytf=>>%d+1~(((  Ns   BBc                    \        \        \        R4      4      p \        V R,          \        4      '       g   Q h\        V R,          P                  4       ^,          P                  4       ^,          \        4      '       g   Q hR# )z,Test that we can read a MatlabOpaque object.parabola.matparabolaN)r   r   r   r   r   ry   r   r&   s    r-   test_opaquer|    s_    589Dd:&7777d:&++-a0557:LIIIIr/   c                 z    \        \        \        R4      RR7      p \        V R,          \        4      '       g   Q hR# )zETest that we can read a MatlabOpaque object when simplify_cells=True.ry  Trk  rz  N)r   r   r   r   r   r{  s    r-   test_opaque_simplifyr~    s-    58NDd:&7777r/   c                 <   \        \        4      ;_uu_ 4        \        P                  P                  P
                  P                   RRR4       \        \        4      ;_uu_ 4        ^ RIHp  RRR4       R#   + '       g   i     L8; i  + '       g   i     R# ; i)z4Test that access to previous attributes still works.Nr   )	assert_warnsDeprecationWarningrE  iomatlabmio5_paramsr   scipy.io.matlab.miobaser   r  s    r-   test_deprecationr    sZ     
(	)	)##00 
* 
(	)	)8 
*	)	 
*	) 
*	)	)s   /A7&B
7B	
B	c                 b   \         P                  P                  R 4      pV R,          pVP                  R4      pVP                  R4      pW4.p\        VRV/RRR7       / p\	        VV4       \        VR,          ^ ,          ^ ,          V4       \        VR,          ^ ,          ^,          V4       R# )i90  z	lists.matr&   T)r	  r:  N)r   r   )r  r   )r(   randomdefault_rngr   r   r   )tmp_pathrngoutfile	array_one	array_twolist_of_arraysnew_dicts   &      r-   test_gh_17992r  (  s    
))


&C$G

5!I

5!I+NG^$!!
 HGHV$Q'*I6HV$Q'*I6r/   c                     R \         P                  ! \        R4      \        R4      .RR7      R\         P                  ! RR.4      /pV R,          p\        W!RR7       R	# )

char_arrayr9   r  r0   string_arrayr7   ztmp.matr   r   N)r(   r   r  r   )r  r   r  s   &  r-   test_gh_19659r  :  sO    bhhVd6l;4H(H!56	
A "GGs#r/   c                     \        \        R 4      p \        P                  \        P                  8X  d   RMRp\
        P                  ! \        VR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)zdebigged_m4.matz$Not enough bytes to read matrix 'a';z9Variable 'a' has byte length longer than largest possiblerX  N)	r   r   r(   intpint64ro  r   r   r   )truncated_matrY  s     r-   test_large_m4r  D  sX     .*;<M288# 4H 
 
z	/	/ 
0	/	/	/s   A22B	c                      ^ RI Hp  R# )r   r#   N)scipy.io.matlabr#   r  s    r-   test_gh_19223r  T  s    0r/   c                      R \        \        P                  ! ^
4      4      3R\        R4      33p \        V 4       RR^R^/33p \        V 4       RR^R^/33p \        V 4       R# )_1r  rf  mymaprE   _b1aN)r.   r(   r6  check_mat_write_warning)r#  s    r-   test_invalid_field_name_warningr  X  sq    	uRYYr]#$	%
#$&J J'S!T1-.0JJ'S!T1-.0JJ'r/   c                    a   ! V 3R  lR4      p\        4       p\        P                  ! \        RR7      ;_uu_ 4        \	        W!! 4       4       RRR4       R#   + '       g   i     R# ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )"check_mat_write_warning.<locals>.Cif  c                   < S# r   ru   r!  s   &r-   r   (check_mat_write_warning.<locals>.C.itemsg  r%  r/   ru   Nr&  r(  s   @r-   ri  r  f  r*  r/   ri  rW  rX  N)r   ro  r   r   r   )r#  ri  r-  s   f  r-   r  r  e  sD      YF	o-G	H	H 
I	H	H	Hs   AA)	c            	      z   R FK  p \         P                  ! \        RR7      ;_uu_ 4        \        \	        RV ,          4      4       RRR4       KM  	  \         P                  ! \        RR7      ;_uu_ 4        \        \	        R4      4       RRR4       R#   + '       g   i     K  ; i  + '       g   i     R# ; i)r   z Mat file appears to be truncatedrX      NzMat file appears to be corrupt)r   r   r     s                       )ro  r   r   r   r   ns    r-   test_corrupt_filesr  o  s    ]]<!CE EGGaK()E E  
|=
? 
?%&
? 
?E E E
? 
? 
?s   B6B)B&)B:	)r   r   )r<   r   r   )r   r   r   r   )zone  ztwo  rS   )r   r   r   )rV   rW   rX   y      ?      ?r  )r   r   r  )r   r   )r]   r^   )rc   rd   r*   re   rf   rg   )ztest%(name)s_*.matr5  ))r   z_4*_*N)r   z_5*_*N)r   z_6*_*N)r   _7*_*z^((?!hdf5).)*$)r   r  z.*hdf5.*)r   z8*_*N)r   collectionsr   os.pathr   r   r   r   r  r   rs  tempfiler   r   r   r   numpy.testingr	   r
   r   r   r   ro  r   r   r   r  numpyr(   r   rA  r   r   r   r   scipy.iorE  r  r   r   r   scipy.io.matlab._byteordercodesr  _byteordercodesr  scipy.io.matlab._miobaser   r   r   r   r   scipy.io.matlab._mior   r   r   r    scipy.io.matlab._mio5r!   r"   r#   r$   r%   scipy.io.matlab._mio5_params_mio5_paramsr  __file__r   markthread_unsafe
pytestmarkr.   pir6  r  r)   rD   r   appendcossinr   rA  r  r+  r  r:   Brj   CAr   CAEr  objarr	transposesqrtexp
st_sub_arrr1   r  CNr  st2rE   ODTMOm0r   fp_u_strreadrU  u_strr   r   repeatr~   r   r   r   r   r   parametrizer   r   r   r   r   r   r   r   r  r
  r  r  r  r  r'  r/  r7  r?  rB  rI  rM  rO  rU  rv  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r0  r2  r5  r:  r?  rG  rI  rM  rP  rV  r\  re  ri  rq  rw  r|  r~  r  r  r  r  r  r  r  r  r  s   0r-   <module>r     s   	 # *   	    C C  A   B B  F F - -H H N N  - , wx(&1[[&&
 	a		!%(00155Xx(,&
   Xv&,FGHJ   Y)-BFF5M1A!AB
 HHUOE!AJ!	eAaj	#   Xx(,"
   Xx(,	!-
 HHW #"   _$h/%y|4
   W(C2'5#q)
   Wh'+uRy)
   Y'-u. 
qc
!ugwi	 "(	) *12	 
 GHJ3 VV$*b!#$ 	!H	!H	"I	"I	!H
 
 %WQr]  
%f	%Ahs   \!6*"F+
   [&)/3')*   ]"F+#U&! "   Z*BLLDq,=w!GHJ BGGAJrvvay/0881=
LMLVLMhhue!= >?M 3 $M 3 %0N C    Xx(,$
 XXe6"
(3
((5
'3Qbhh'3qcU"((+3xxV,3!288,3S !288,3S    Z(."%
 	hhu.A.Q[.AB(C((5'6):(;<C %zl 3C W    \!8,"C(
 HHU?1v;?@a#ua#uzl##uzl##u   [(+/1%
 	hh343 !"F34 5 "((5,h7WC5\6
234;C5\6
a9a9a9   Xx(,#
 n&9:DAw'     Y'ug/
   Xx(,	!-
   _$h/%y|4
   Vi(+$%)*, Q   ]"H-#RYYr1%5%=%=a%BCEF (JV8"3-, J/$ 0$
 J/  0  3*cUO+ 2	248:
/		3N	IL"1-,()02+65
< &B9J(6+$ 6F62C*0+"#F;2I=1,:/(2
7/,'0<7*6.	>!.9G / 2 	)	)J897$$ 1
('G' 	N. B @4s   g(8g-
g2
g7