+
    LV-jR  ã                   ó  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIt	^RI
HtHtHtHtHtHtHt ^RIHtHt ^ RIHt . R'Ot]P0                  R8H  t^ t^t^t^t^t^t]R]R]R]R]R]RR. R(ORR/t R]R]R]R]R]R]R]R]R]R]R]/t!^ t"^t#^t$^ R^R^R^R^R/t%]"R]#R]$R /t&]PN                  ! ]PP                  4      PR                  t* ! R! R4      t+ ! R" R	4      t, ! R# R]4      t-R)R$ lt. ! R% R
4      t/ ! R& R4      t0R# )*z0Classes for read / write of matlab (TM) 4 files
N)Úmul)ÚMatFileReaderÚ	docfillerÚmatdimsÚ
read_dtypeÚconvert_dtypesÚarr_to_charsÚarr_dtype_number)Úsqueeze_elementÚchars_to_strings)ÚreduceÚMatFile4ReaderÚMatFile4WriterÚ
VarHeader4Ú
VarReader4Ú
VarWriter4ÚlittleÚf8Úf4Úi4Úi2Úu2Úu1ÚheaderÚU1Úc32Úc24Úc16Úc8ÚS1Ú<Ú>zVAX D-floatzVAX G-floatÚCrayÚdoubleÚcharÚsparsec                   ó.   a € ] tR t^Yt o RtRtR tRtV tR# )r   Fc                óB   € Wn         W n        W0n        W@n        WPn        R # ©N)ÚnameÚdtypeÚmclassÚdimsÚ
is_complex)Úselfr)   r*   r+   r,   r-   s   &&&&&&Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/io/matlab/_mio4.pyÚ__init__ÚVarHeader4.__init__^   s   € ð Œ	ØŒ
ØŒØŒ	Ø$Žó    )r,   r*   r-   r+   r)   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
is_logicalÚ	is_globalr0   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r/   r   r   Y   s   ø‡ € à€JØ€I÷
%ð 
%r2   c                   ó\   a € ] tR t^kt o RtR tR tRR ltRR ltR t	R t
R tR	 tR
tV tR# )r   z!Class to read matlab 4 variables c                óš   € Wn         VP                  V n        VP                  V n        VP                  V n        VP                  V n        R # r(   )Úfile_readerÚ
mat_streamÚdtypesÚchars_as_stringsÚ
squeeze_me)r.   r?   s   &&r/   r0   ÚVarReader4.__init__n   s=   € Ø&ÔØ%×0Ñ0ˆŒØ!×(Ñ(ˆŒØ +× <Ñ <ˆÔØ%×0Ñ0ˆŽr2   c                ó‚  € \        V P                  V P                  R,          4      pV P                  P                  \	        VR,          4      4      P                  R4      pVR,          ^ 8  g   VR,          R8”  d   \        R4      h\        VR,          R4      w  r4VR9  d-   \        P                  ! R\        V,           R	2\        ^R
7       \        V^d4      w  rTV^ 8w  d   \        R4      h\        V^
4      w  rdTpVR,          VR,          3pVR,          ^8H  p	V P                  V,          p
\        VV
VVV	4      # )z$Read and return header for variable r   Únamlenó    Úmoptéˆ  z.Mat 4 mopt wrong format, byteswapping problem?éè  z!We do not support byte ordering 'z'; returned data may be corrupt)Ú
stacklevelz,O in MOPT integer should be 0, wrong format?ÚmrowsÚncolsÚimagf)é    é   )r   r@   rA   ÚreadÚintÚstripÚ
ValueErrorÚdivmodÚwarningsÚwarnÚorder_codesÚUserWarningr   )r.   Údatar)   ÚMÚrestÚOÚPÚTr,   r-   r*   s   &          r/   Úread_headerÚVarReader4.read_headeru   s&  € ä˜$Ÿ/™/¨4¯;©;°xÕ+@ÓAˆØ�‰×#Ñ#¤C¨¨X­Ó$7Ó8×>Ñ>¸wÓGˆØ��<˜!Ô˜t F�|¨dÔ2ÜÐMÓNÐNÜ˜˜f� tÓ,‰ˆØ�FŒ?Ü�MŠMÐ=¼kÈ!½nÐ=Mð N:ð :ä%°!õ5ô ˜˜sÓ#‰ˆØ�Œ6ÜÐKÓLÐLÜ˜˜rÓ"‰ˆØˆØ�W•˜t G�}Ð-ˆØ˜'•] aÑ'ˆ
Ø—‘˜A•ˆÜØØØØØóð 	r2   c                óz  € VP                   pV\        8X  d   V P                  V4      pMlV\        8X  d8   V P	                  V4      pV'       d   V P
                  '       d   \        V4      pM*V\        8X  d   V P                  V4      # \        R V 24      hV'       d   V P                  '       d   \        V4      # V# )úNo reader for class code )r+   ÚmxFULL_CLASSÚread_full_arrayÚmxCHAR_CLASSÚread_char_arrayrB   r   ÚmxSPARSE_CLASSÚread_sparse_arrayÚ	TypeErrorrC   r
   )r.   ÚhdrÚprocessr+   Úarrs   &&&  r/   Úarray_from_headerÚVarReader4.array_from_header�   s›   € Ø—‘ˆØ”\Ô!Ø×&Ñ& sÓ+‰CØ”|Ô#Ø×&Ñ& sÓ+ˆCß˜4×0×0Ð0Ü& sÓ+�øØ”~Ô%à×)Ñ)¨#Ó.Ð.äÐ7¸°xÐ@ÓAÐAß�t——�Ü" 3Ó'Ð'Øˆ
r2   c                ó  € VP                   p\        \        VP                  \        P
                  ! VP                  4      4      pV\        8”  d)   \        RVP                  P                  R4       R24      hV P                  P                  V4      p\        V4      V8w  d)   \        RVP                  P                  R4       R24      h\        P                  ! VP                  VVRR7      pV'       d   VP                  4       pV# )aƒ  Mat4 read using header `hdr` dtype and dims

Parameters
----------
hdr : object
   object with attributes ``dtype``, ``dims``. dtype is assumed to be
   the correct endianness
copy : bool, optional
   copies array before return if True (default True)
   (buffer is usually read only)

Returns
-------
arr : ndarray
    of dtype given by `hdr` ``dtype`` and shape given by `hdr` ``dims``
z
Variable 'Úlatin1zL' has byte length longer than largest possible NumPy array on this platform.z!Not enough bytes to read matrix 'zŒ'; is this a badly-formed file? Consider listing matrices with `whosmat` and loading named matrices with `variable_names` kwarg to `loadmat`ÚF)Úshaper*   ÚbufferÚorder)r*   r   r   r,   ÚnpÚint64ÚitemsizeÚ	_MAX_INTPrT   r)   Údecoder@   rQ   ÚlenÚndarrayÚcopy)r.   rk   r}   ÚdtÚ	num_bytesrt   rm   s   &&&    r/   Úread_sub_arrayÚVarReader4.read_sub_array    sí   € ð" �Y‰Yˆäœ3 §¡¬"¯(ª(°2·;±;Ó*?Ó@ˆ	Ø”yÔ ÜØ˜SŸX™XŸ_™_¨XÓ6Ð7ð 8Mð NóOð Oð —‘×%Ñ% iÓ0ˆÜˆv‹;˜)Ô#ÜðØ—H‘H—O‘O HÓ-Ð.ð /DðEóFð Fô
 �jŠj˜sŸx™xØ!Ø &Ø"ô$ˆ÷ Ø—(‘(“*ˆCØˆ
r2   c                ó²   € VP                   '       d6   V P                  VRR7      pV P                  VRR7      pW#R,          ,           # V P                  V4      # )züFull (rather than sparse) matrix getter

Read matrix (array) can be real or complex

Parameters
----------
hdr : ``VarHeader4`` instance

Returns
-------
arr : ndarray
    complex array if ``hdr.is_complex`` is True, otherwise a real
    numeric array
F)r}   y              ð?)r-   r€   )r.   rk   ÚresÚres_js   &&  r/   re   ÚVarReader4.read_full_arrayÇ   sU   € ð �>�>ˆ>à×%Ñ% c°Ð%Ó6ˆCØ×'Ñ'¨°%Ð'Ó8ˆEØ "�*Õ%Ð%Ø×"Ñ" 3Ó'Ð'r2   c                óN  € V P                  V4      P                  \        P                  4      pVP	                  4       P                  R4      p\        P                  ! VP                  \        P                  ! R4      \        P                  ! V4      R7      P                  4       # )z°latin-1 text matrix (char matrix) reader

Parameters
----------
hdr : ``VarHeader4`` instance

Returns
-------
arr : ndarray
    with dtype 'U1', shape given by `hdr` ``dims``
úlatin-1r   ©rs   r*   rt   )r€   Úastyperv   Úuint8Útobytesrz   r|   r,   r*   Úarrayr}   )r.   rk   rm   ÚSs   &&  r/   rg   ÚVarReader4.read_char_arrayÝ   sm   € ð ×!Ñ! #Ó&×-Ñ-¬b¯h©hÓ7ˆØ�K‰K‹M× Ñ  Ó+ˆÜ�zŠz §¡Ü "§¢¨£Ü!#§¢¨!£ô.ç.2©d«fð	5r2   c                ó6  € V P                  V4      pVRR1R3,          p\        VR,          4      \        VR	,          4      3p\        P                  ! VR
,          RR7      p\        P                  ! VR,          RR7      pV^,          pV^,          pVP                  ^,          ^8X  d!   \        P                  ! VR,          RR7      pM-\        P                  ! VR,          RR7      pVR,          Vn        \        P                  P                  WuV33V4      # )aû  Read and return sparse matrix type

Parameters
----------
hdr : ``VarHeader4`` instance

Returns
-------
arr : coo_array
    with dtype ``float`` and shape read from the sparse array data

Notes
-----
MATLAB 4 real sparse arrays are saved in a N+1 by 3 array format, where
N is the number of non-zero values. Column 1 values [0:N] are the
(1-based) row indices of the each non-zero value, column 2 [0:N] are the
column indices, column 3 [0:N] are the (real) values. The last values
[-1,0:2] of the rows, column indices are shape[0] and shape[1]
respectively of the output matrix. The last value for the values column
is a padding 0. mrows and ncols values from the header give the shape of
the stored matrix, here [N+1, 3]. Complex data are saved as a 4 column
matrix, where the fourth column contains the imaginary component; the
last value is again 0. Complex sparse data do *not* have the header
``imagf`` field set to True; the fact that the data are complex is only
detectable because there are 4 storage columns.
NºNNNÚintc©r*   ÚfloatÚcomplexéÿÿÿÿ)r•   rO   )r•   rP   )r�   rO   )r�   rP   )r�   é   )r�   é   )	r€   rR   rv   Úascontiguousarrayrs   ÚimagÚscipyr%   Ú	coo_array)r.   rk   rƒ   Útmpr,   ÚIÚJÚVs   &&      r/   ri   ÚVarReader4.read_sparse_arrayï   sá   € ð6 ×!Ñ! #Ó&ˆØ�#�2�#�a�%�jˆä�C˜•I“¤ C¨¥I£Ð/ˆÜ× Ò   S¥°Ô7ˆÜ× Ò   S¥°Ô7ˆØ	ˆQ�ˆØ	ˆQ�ˆØ�9‰9�Q�<˜1ÔÜ×$Ò$ S¨¥X°GÔ<‰Aä×$Ò$ S¨¥X°IÔ>ˆAØ˜•XˆAŒFÜ�|‰|×%Ñ% q¨A¨ i°Ó6Ð6r2   c                óJ  € VP                   pV\        8X  d&   \        \        \        VP
                  4      4      pEM¬V\        8X  d=   \        \        \        VP
                  4      4      pV P                  '       d   VRR pEMeV\        8X  EdL   VP                  pVP
                  p\        V4      ^8X  d   V^ ,          ^8¼  d   V^,          ^8¼  g   R# V P                  P                  VP                  V^ ,          ^,
          ,          ^4       \        P                  ! RVV P                  P!                  VP                  4      R7      pV P                  P                  VP                  V^ ,          ^,
          ,          ^4       \        P                  ! RVV P                  P!                  VP                  4      R7      p\	        V4      \	        V4      3pM\#        RV 24      hV P$                  '       d$   \        V Uu. uF  qˆ^8w  g   K  VNK  	  up4      pV# u upi )zgRead the shape of the array described by the header.
The file position after this call is unspecified.
Nrˆ   rc   r•   © )r+   rd   ÚtupleÚmaprR   r,   rf   rB   rh   r*   r{   r@   Úseekrx   rv   r|   rQ   rj   rC   )	r.   rk   r+   rs   r~   r,   ÚrowsÚcolsÚxs	   &&       r/   Úshape_from_headerÚVarReader4.shape_from_header  s”  € ð —‘ˆØ”\Ô!Üœ#œc 3§8¡8Ó,Ó-ŠEØ”|Ô#Üœ#œc 3§8¡8Ó,Ó-ˆEØ×$×$Ð$Ø˜c˜r˜
�ùØ”~Õ%Ø—‘ˆBØ—8‘8ˆDä˜“I ”N t¨A¥w°!¤|¸¸Q½À1¼Ø�	ð �O‰O× Ñ  §¡°°Qµ¸!µÕ!<¸aÔ@Ü—:’: B¨bØ%)§_¡_×%9Ñ%9¸"¿+¹+Ó%FôHˆDà�O‰O× Ñ  §¡°°Qµ¸!µÕ!<¸aÔ@Ü—:’: B¨bØ%)§_¡_×%9Ñ%9¸"¿+¹+Ó%FôHˆDô ˜“Y¤ D£	Ð*‰EäÐ7¸°xÐ@ÓAÐAà�?�?ˆ?Ü¡eÓ6¡e °A©vŸ1˜1¡eÑ6Ó7ˆEØˆùò 7s   ÈH ÈH )rB   rA   r?   r@   rC   N©T)r3   r4   r5   r6   Ú__doc__r0   r`   rn   r€   re   rg   ri   r©   r9   r:   r;   s   @r/   r   r   k   s7   ø‡ € Ù,ò1òô4ô"%òN(ò,5ò$(7÷T ð  r2   c                   ól   a a€ ] tR tRt oRt]V 3R l4       tR tR tR t	RR lt
RR ltR	 tR
tVtV ;t# )r   i<  zReader for Mat4 files c                ó>   <€ \         SV `  ! V.VO5/ VB  RV n        R# )zEInitialize matlab 4 file reader

%(matstream_arg)s
%(load_args)s
    N)Úsuperr0   Ú_matrix_reader)r.   r@   ÚargsÚkwargsÚ	__class__s   &&*,€r/   r0   ÚMatFile4Reader.__init__>  s$   ø€ ô 	‰Ò˜Ð5 dÒ5¨fÒ5Ø"ˆÖr2   c                óX  € V P                   P                  ^ 4       \        V P                   \        P                  ! R4      4      pV P                   P                  ^ 4       V^ 8X  d   R# V^ 8  g   VR8”  d   \
        ;'       d    R;'       g    R# \
        ;'       d    R;'       g    R# )rO   r   r    rI   r!   )r@   r¥   r   rv   r*   ÚSYS_LITTLE_ENDIAN)r.   rH   s   & r/   Úguess_byte_orderÚMatFile4Reader.guess_byte_orderH  s�   € Ø�‰×Ñ˜QÔÜ˜$Ÿ/™/¬2¯8ª8°D«>Ó:ˆØ�‰×Ñ˜QÔØ�1Œ9ÙØ�!Œ8�t˜d”{ä$×,Ð,¨×3Ð3°Ð3ä ×(Ð( S×/Ð/¨CÐ/r2   c                ód   € \        \        V P                  4      V n        \	        V 4      V n        R# )zPRun when beginning read of variables

Sets up readers from parameters in `self`
N)r   Úmdtypes_templateÚ
byte_orderrA   r   r°   )r.   s   &r/   Úinitialize_readÚMatFile4Reader.initialize_readT  s$   € ô
 %Ô%5°t·±ÓGˆŒÜ(¨Ó.ˆÖr2   c                ód  € V P                   P                  4       p\        \        VP                  \
        P                  ! VP                  P                  4      4      pVP                  '       d   VP                  \        8X  g
   V^,          pV P                  P                  4       V,           pW3# )a	  Read and return header, next position

Parameters
----------
None

Returns
-------
header : object
   object that can be passed to self.read_var_array, and that
   has attributes ``name`` and ``is_global``
next_position : int
   position in stream of next variable
)r°   r`   r   r   r,   rv   rw   r*   rx   r-   r+   rh   r@   Útell)r.   rk   Úremaining_bytesÚnext_positions   &   r/   Úread_var_headerÚMatFile4Reader.read_var_header\  s{   € ð ×!Ñ!×-Ñ-Ó/ˆä ¤ c§h¡h´·²¸¿¹×9KÑ9KÓ0LÓMˆØ�>�>ˆ> #§*¡*´Ô">Ø˜qÕ ˆOØŸ™×,Ñ,Ó.°Õ@ˆØÐ!Ð!r2   c                ó8   € V P                   P                  W4      # )aD  Read array, given `header`

Parameters
----------
header : header object
   object with fields defining variable header
process : {True, False}, optional
   If True, apply recursive post-processing during loading of array.

Returns
-------
arr : array
   array with post-processing applied or not according to
   `process`.
)r°   rn   )r.   r   rl   s   &&&r/   Úread_var_arrayÚMatFile4Reader.read_var_arrays  s   € ð  ×"Ñ"×4Ñ4°VÓEÐEr2   c                óZ  € \        V\        4      '       d   V.pMVe   \        V4      pV P                  P	                  ^ 4       V P                  4        / pV P                  4       '       g¿   V P                  4       w  r4VP                  f   RMVP                  P                  R4      pVe$   WQ9  d   V P                  P	                  V4       Kz  V P                  V4      W%&   V P                  P	                  V4       Vf   K®  VP                  V4       \        V4      ^ 8X  g   KÑ   V# V# )zûget variables from stream as dictionary

Parameters
----------
variable_names : None or str or sequence of str, optional
    variable name, or sequence of variable names to get from Mat file /
    file stream. If None, then get all variables in file.
ÚNonerq   )Ú
isinstanceÚstrÚlistr@   r¥   r¼   Úend_of_streamrÂ   r)   rz   rÅ   Úremover{   )r.   Úvariable_namesÚmdictrk   rÁ   r)   s   &&    r/   Úget_variablesÚMatFile4Reader.get_variables…  sú   € ô �n¤c×*Ò*Ø,Ð-‰NØÒ'Ü! .Ó1ˆNØ�‰×Ñ˜QÔà×ÑÔØˆØ×$Ñ$×&Ò&Ø!%×!5Ñ!5Ó!7ÑˆCØ ŸX™XÒ-‘6°3·8±8·?±?À8Ó3LˆDØÒ)¨dÔ.HØ—‘×$Ñ$ ]Ô3ÙØ×-Ñ-¨cÓ2ˆE‰KØ�O‰O× Ñ  Ô/ØÔ)Ø×%Ñ% dÔ+Ü�~Ó&¨!Ö+ØØˆˆuˆr2   c                óÜ  € V P                   P                  ^ 4       V P                  4        . pV P                  4       '       g©   V P	                  4       w  r#VP
                  f   RMVP
                  P                  R4      pV P                  P                  V4      p\        P                  VP                  R4      pVP                  WEV34       V P                   P                  V4       K¾  V# )zlist variables from stream rÈ   rq   Úunknown)r@   r¥   r¼   rÌ   rÂ   r)   rz   r°   r©   Úmclass_infoÚgetr+   Úappend)r.   Úvarsrk   rÁ   r)   rs   Úinfos   &      r/   Úlist_variablesÚMatFile4Reader.list_variables¤  s´   € à�‰×Ñ˜QÔà×ÑÔØˆØ×$Ñ$×&Ò&Ø!%×!5Ñ!5Ó!7ÑˆCØ ŸX™XÒ-‘6°3·8±8·?±?À8Ó3LˆDØ×'Ñ'×9Ñ9¸#Ó>ˆEÜ—?‘? 3§:¡:¨yÓ9ˆDØ�K‰K˜ dÐ+Ô,à�O‰O× Ñ  Ö/Øˆr2   )r°   rA   r«   r(   )r3   r4   r5   r6   r¬   r   r0   r·   r¼   rÂ   rÅ   rÐ   rÙ   r9   r:   Ú__classcell__)r³   r<   s   @@r/   r   r   <  s>   ù‡ € Ù!Øô#ó ð#ò
0ò/ò"ô.Fô$÷>ò r2   c                óp   € \        W4      p\        V4      ^8”  d   \        R4      hV P                  V4      # )a[  Make ``arr`` exactly two dimensional

If `arr` has more than 2 dimensions, raise a ValueError

Parameters
----------
arr : array
oned_as : {'row', 'column'}, optional
   Whether to reshape 1-D vectors as row vectors or column vectors.
   See documentation for ``matdims`` for more detail

Returns
-------
arr2d : array
   2-D version of the array
z=Matlab 4 files cannot save arrays with more than 2 dimensions)r   r{   rT   Úreshape)rm   Úoned_asr,   s   && r/   Ú	arr_to_2drß   µ  s:   € ô" �3Ó €DÜ
ˆ4ƒy�1„}Üð (ó )ð 	)à�;‰;�tÓÐr2   c                   óZ   a € ] tR tRt o R tR tR t]]^ 3R lt	R t
R tR tR	 tR
tV tR# )r   iÍ  c                óJ   € VP                   V n         VP                  V n        R # r(   ©Úfile_streamrÞ   )r.   Úfile_writers   &&r/   r0   ÚVarWriter4.__init__Î  s   € Ø&×2Ñ2ˆÔØ"×*Ñ*ˆŽr2   c                ó\   € V P                   P                  VP                  R R7      4       R# )rr   )ru   N)rã   Úwriter‹   )r.   rm   s   &&r/   Úwrite_bytesÚVarWriter4.write_bytesÒ  s!   € Ø×Ñ×Ñ˜sŸ{™{°˜{Ó5Ö6r2   c                ó<   € V P                   P                  V4       R # r(   )rã   rç   )r.   Úss   &&r/   Úwrite_stringÚVarWriter4.write_stringÕ  s   € Ø×Ñ×Ñ˜qÖ!r2   c                ó˜  € \         P                  ! R\        R,          4      p\        '       * p^ pVR,          V^d,          ,           V^
,          ,           V,           VR&   V^ ,          VR&   V^,          VR&   WVR&   \	        V4      ^,           VR&   V P                  V4       VR,           p	V P                  V	P                  R	4      4       R
# )a°  Write header for given data options

Parameters
----------
name : str
    name of variable
shape : sequence
    Shape of array as it will be read in matlab
P : int, optional
    code for mat4 data type, one of ``miDOUBLE, miSINGLE, miINT32,
    miINT16, miUINT16, miUINT8``
T : int, optional
    code for mat4 matrix class, one of ``mxFULL_CLASS, mxCHAR_CLASS,
    mxSPARSE_CLASS``
imagf : int, optional
    flag indicating complex
r   rJ   rH   rL   rM   rN   rF   Ú rq   Nr¢   )rv   Úemptyrº   r¶   r{   rè   rì   Úencode)
r.   r)   rs   r^   r_   rN   r   r[   r]   rZ   s
   &&&&&&    r/   Úwrite_headerÚVarWriter4.write_headerØ  s¹   € ô$ —’˜"Ô.¨xÕ8Ó9ˆÜ!Ô!ˆØˆØ˜d�(Ø˜c�'õ"à˜b�&õ!ð õˆˆv‰ð   �(ˆˆw‰Ø �(ˆˆw‰Øˆw‰Ü˜t›9 q�=ˆˆxÑØ×Ñ˜Ô Ø�d�{ˆØ×Ñ˜$Ÿ+™+ hÓ/Ö0r2   c                óD  € \         P                  P                  V4      '       d   V P                  W4       R# \        P
                  ! V4      pVP                  pVP                  '       g!   VP                  VP                  R4      4      pVP                  pV\        P                  J d   \        R4      hV\        P                  J d   \        R4      hV\        P                  \        P                  39   d   V P!                  W4       R# V P#                  W4       R# )z†Write matrix `arr`, with name `name`

Parameters
----------
arr : array_like
   array to write
name : str
   name in matlab workspace
NÚ=z!Cannot save object arrays in Mat4zCannot save void type arrays)rš   r%   ÚissparseÚwrite_sparserv   Úasarrayr*   Úisnativer‰   ÚnewbyteorderÚtypeÚobject_rj   ÚvoidÚstr_Úbytes_Ú
write_charÚwrite_numeric)r.   rm   r)   r~   Údtts   &&&  r/   rç   ÚVarWriter4.writeù  sÊ   € ô �<‰<× Ñ  ×%Ò%Ø×Ñ˜cÔ(ÙÜ�jŠj˜‹oˆØ�Y‰YˆØ�{�{ˆ{Ø—*‘*˜RŸ_™_¨SÓ1Ó2ˆCØ�g‰gˆØ”"—*‘*ÓÜÐ?Ó@Ð@Ø”B—G‘G‹^ÜÐ:Ó;Ð;Ø”R—W‘WœbŸi™iÐ(Ô(Ø�O‰O˜CÔ&ÙØ×Ñ˜3Ö%r2   c                ó"  € \        WP                  4      pVP                  P                  R 8H  p \        VP                  P
                  R,          ,          pV P                  VVP                  V\        VR7       V'       d9   V P                  VP                  4       V P                  VP                  4       R# V P                  V4       R#   \         d5    T'       d   TP                  R4      pMTP                  R4      p\        p Lµi ; i)Úc:rP   NNÚc128r   )r^   r_   rN   N)rß   rÞ   r*   ÚkindÚnp_to_mtypesrÊ   ÚKeyErrorr‰   ÚmiDOUBLErò   rs   rd   rè   Úrealr™   )r.   rm   r)   rN   r^   s   &&&  r/   r  ÚVarWriter4.write_numeric  sÑ   € Ü˜Ÿ\™\Ó*ˆØ—	‘	—‘ #Ñ%ˆð	Ü˜SŸY™YŸ]™]¨2Õ.Õ/ˆAð 	×Ñ˜$ØŸ)™)ØÜ(Ø %ð	 	ô 	'÷
 Ø×Ñ˜SŸX™XÔ&Ø×Ñ˜SŸX™XÖ&à×Ñ˜SÖ!øô ô 	ßØ—j‘j Ó(‘à—j‘j Ó&�ÜŠAð	ús   °(C ÃDÃ")DÄDc                ó”  € VP                   P                  \        P                  8X  dE   VP                   P                  \        P                   ! R 4      P                  8w  d   \        V4      p\        WP                  4      pVP                  pV P                  VV\        \        R7       VP                   P                  R8X  dq   \        P                  ! V4      p\        P                  ! R\!        W4      VR7      pVP#                  4       P%                  R4      p\        P                  ! VRVR7      pV P'                  V4       R# )r   ©r^   r_   ÚUrˆ   r‡   r   Nr¢   )r*   rû   rv   rþ   rx   r   rß   rÞ   rs   rò   ÚmiUINT8rf   r  ÚmathÚprodr|   r	   Úitemrñ   rè   )r.   rm   r)   r,   Ún_charsÚst_arrÚsts   &&&    r/   r   ÚVarWriter4.write_char,  sç   € Ø�9‰9�>‰>œRŸW™WÔ$¨¯©×);Ñ);¼r¿xºxÈ»~×?VÑ?VÔ)VÜ˜sÓ#ˆCÜ˜Ÿ\™\Ó*ˆØ�y‰yˆØ×ÑØØÜÜð	 	ô 	ð
 �9‰9�>‰>˜SÔ ä—i’i “oˆGÜ—Z’Z bÜ&6°sÓ&DØ'*ô,ˆFð —‘“×%Ñ% iÓ0ˆBÜ—*’* 4¨t¸BÔ?ˆCØ×Ñ˜Ör2   c                ót  € VP                  4       pVP                  P                  R8H  p\        P                  ! VP
                  ^,           ^V,           3RR7      pVP                  VRR1^ 3&   VP                  VRR1^3&   VRR1R3;;,          ^,          uu&   V'       d<   VP                  P                  VRR1^3&   VP                  P                  VRR1^3&   MVP                  VRR1^3&   VP                  VR&   V P                  VVP                  \        \        R7       V P                  V4       R# )	zHSparse matrices are 2-D

See docstring for VarReader4.read_sparse_array
r  r   r’   NºrO   r–   Nr  r•   )r•   r  )Útocoor*   r  rv   ÚzerosÚnnzÚrowÚcolrZ   r  r™   rs   rò   r
  rh   rè   )r.   rm   r)   ÚArN   Úijvs   &&&   r/   r÷   ÚVarWriter4.write_sparse@  s  € ð
 �I‰I‹KˆØ—‘—‘ Ñ#ˆÜ�hŠh˜Ÿ™ �	 1 U¥7Ð+°4Ô8ˆØ—U‘UˆˆCˆRˆC�ˆE‰
Ø—U‘UˆˆCˆRˆC�ˆE‰
ØˆCˆRˆC�ˆG�˜Õ‹ßØŸ™Ÿ™ˆC����A�‰JØŸ™Ÿ™ˆC����A�ŠJàŸ™ˆC����A�‰JØ—g‘gˆˆF‰Ø×ÑØØ�I‰IÜÜð	 	ô 	ð
 	×Ñ˜Ör2   râ   N)r3   r4   r5   r6   r0   rè   rì   r
  rd   rò   rç   r  r   r÷   r9   r:   r;   s   @r/   r   r   Í  s<   ø‡ € ò+ò7ò"ð +3°lÈ!ô 1òB&ò:"ò,÷(ð r2   c                   ó8   a € ] tR tRt o RtRR ltRR ltRtV tR# )r   iY  z(Class for writing matlab 4 format files Nc                ó8   € Wn         Vf   RpW n        R V n        R # )Nr  )rã   rÞ   Ú_matrix_writer)r.   rã   rÞ   s   &&&r/   r0   ÚMatFile4Writer.__init__[  s   € Ø&ÔØŠ?ØˆGØŒØ"ˆÖr2   c                óŽ   € \        V 4      V n        VP                  4        F   w  r4V P                  P                  WC4       K"  	  R# )av  Write variables in `mdict` to stream

Parameters
----------
mdict : mapping
   mapping with method ``items`` return name, contents pairs
   where ``name`` which will appeak in the matlab workspace in
   file load, and ``contents`` is something writeable to a
   matlab file, such as a NumPy array.
write_header : {None, True, False}
   If True, then write the matlab file header before writing the
   variables. If None (the default) then write the file header
   if we are at position 0 in the stream. By setting False
   here, and setting the stream position to the end of the file,
   you can append variables to a matlab file
N)r   r$  Úitemsrç   )r.   rÏ   rò   r)   Úvars   &&&  r/   Úput_variablesÚMatFile4Writer.put_variablesb  s7   € ô( )¨Ó.ˆÔØŸ™ž‰IˆDØ×Ñ×%Ñ% cÖ0ó 'r2   )r$  rã   rÞ   r(   )	r3   r4   r5   r6   r¬   r0   r)  r9   r:   r;   s   @r/   r   r   Y  s   ø‡ € Ù3ô#÷1ò 1r2   )r   r   r¶   r   r   r   rß   rÔ   rº   r
  ÚmiINT16ÚmiINT32ÚmiSINGLEÚmiUINT16r  rf   rd   rh   r  rX   ))rH   r   )rL   r   )rM   r   )rN   r   )rF   r   )r  )1r¬   ÚsysrV   r  Úoperatorr   Únumpyrv   Úscipy.sparserš   Ú_miobaser   r   r   r   r   r   r	   Ú
_mio_utilsr
   r   Ú	functoolsr   Ú__all__Ú	byteorderr¶   r
  r-  r,  r+  r.  r  rº   r  rd   rf   rh   rX   rÔ   ÚiinfoÚintpÚmaxry   r   r   r   rß   r   r   r¢   r2   r/   Ú<module>r;     sŠ  ðñã 
Û Û Ý ã ã ÷F÷ Fñ F÷ :Ý ò€ð —M‘M XÑ-Ð à€Ø€Ø
€Ø
€Ø€Ø
€ð ˆdØˆdØˆTØˆTØˆdØˆTØò !ð
 	ˆ$ðÐ ð  	ˆ(Ø	ˆ8Ø	ˆ8Ø	ˆ8Øˆ(Øˆ(Øˆ'Øˆ'Øˆ(Øˆ'Øˆ'ð€ð €Ø€Ø€ð €sØ€sØ€}Ø€}Ø€vð€ð �(Ø�&Ø�Hð€ð �HŠH�R—W‘WÓ×!Ñ!€	÷%ñ %÷$Nñ Nôbv�]ô vôr÷0Iñ I÷X1ó 1r2   