+
    /i3P                        ^ RI Ht ^ RIt^ RIt^ RIHtHtHt ^ RI	t	^ RI
Ht ^ RI
Ht ]P                  ! ]P                  ! ]4      R4      tR tR t]P&                  ! ]4      t ! R	 R
4      t ! R R4      t ! R R]4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      tR tR t R t!R# )    )pathN)assert_equalassert_array_equalassert_)readsav)_idldatac                @   \        W4       \        V\        4      '       d!   \        \        V 4      \        V4      4       R# \        \        P
                  ! V 4      P                  P                  \        P
                  ! V4      P                  P                  4       R# )z*Assert whether value AND type are the sameN)r   
isinstancestrtypenpasarraydtypeabs   &&U/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/io/tests/test_idl.pyassert_identicalr      s[    !ST!Wd1g&RZZ]((--rzz!}/B/B/G/GH    c                    \        W4       \        V P                  P                  VP                  P                  4       R# )z+Assert whether values AND type are the sameN)r   r   r   r   r   s   &&r   assert_array_identicalr      s$    qqww||,r   c                   &   a  ] tR t^"t o R tRtV tR# )	TestIdictc                |   R \         P                  ! R4      /p\        V4      p\        \        P
                  ! \        R4      VRR7      p\        V\        V4      4       \        R V9   4       \        VR ,          \         P                  ! R4      4       \        VR,          \         P                  ! ^4      4       R# )r   i  scalar_byte.savF)idictverbosei8uN)r   int16idr   r   join	DATA_PATHr   r   r   uint8)selfcustom_dictoriginal_idss   &   r   
test_idictTestIdict.test_idict$   s    BHHSM*oDIIi):;%u6["Q%(q3#/5288C=1r    N)__name__
__module____qualname____firstlineno__r)   __static_attributes____classdictcell____classdict__s   @r   r   r   "   s     2 2r   r   c                   z   a  ] tR t^/t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tRtV tR# )TestScalarsc                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! ^4      4       R# )r   Fr   Nr   r   r"   r#   r   r   r   r$   r%   r(   s   & r   	test_byteTestScalars.test_byte2   s0    DIIi):;UK.r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_int16.savFr7   Ni`)r   r   r"   r#   r   i16sr   r    r9   s   & r   
test_int16TestScalars.test_int166   s1    DIIi);<eL&!12r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_int32.savFr7   Ni.i)r   r   r"   r#   r   i32sr   int32r9   s   & r   
test_int32TestScalars.test_int32:   s1    DIIi);<eL+!67r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_float32.savFr7   N)r   r   r"   r#   r   f32r   float32r9   s   & r   test_float32TestScalars.test_float32>   s1    DIIi)=>N

> :;r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_float64.savFr7   NgCmC)r   r   r"   r#   r   f64r   float64r9   s   & r   test_float64TestScalars.test_float64B   s2    DIIi)=>N

+C DEr   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_complex32.savFr7   Ny  )jB̕h~=r)r   r   r"   r#   r   c32r   	complex64r9   s   & r   test_complex32TestScalars.test_complex32F   s2    DIIi)?@%P-E FGr   c                    \        \        P                  ! \        R 4      RR7      pRp\	        VP
                  \        P                  ! V4      4       R# )zscalar_string.savFr7   z.The quick brown fox jumps over the lazy pythonN)r   r   r"   r#   r   r(   r   bytes_)r%   r(   msgs   &  r   
test_bytesTestScalars.test_bytesJ   s5    DIIi)<=uM>biin-r   c                    R # Nr+   r%   s   &r   test_structureTestScalars.test_structureO       r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_complex64.savFr7   N*3Wo)r   r   r"   r#   r   c64r   
complex128r9   s   & r   test_complex64TestScalars.test_complex64R   s6    DIIi)?@%PEEMMJK	
r   c                    R # r[   r+   r\   s   &r   test_heap_pointerTestScalars.test_heap_pointerY   r_   r   c                    R # r[   r+   r\   s   &r   test_object_reference!TestScalars.test_object_reference\   r_   r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_uint16.savFr7   i  N)r   r   r"   r#   r   i16ur   uint16r9   s   & r   test_uint16TestScalars.test_uint16_   s1    DIIi)<=uM5!12r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_uint32.savFr7   l    N)r   r   r"   r#   r   i32ur   uint32r9   s   & r   test_uint32TestScalars.test_uint32c   s1    DIIi)<=uM:!67r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_int64.savFr7   Nl'{ )r   r   r"   r#   r   i64sr   int64r9   s   & r   
test_int64TestScalars.test_int64g   s2    DIIi);<eL*>!?@r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_uint64.savFr7   l   ( N)r   r   r"   r#   r   i64ur   uint64r9   s   & r   test_uint64TestScalars.test_uint64k   s2    DIIi)<=uM+?!@Ar   r+   N)r,   r-   r.   r/   r:   r>   rC   rI   rN   rS   rX   r]   rd   rg   rj   ro   rt   ry   r~   r0   r1   r2   s   @r   r5   r5   /   sZ     /38<FH.

38AB Br   r5   c                   &   a  ] tR t^pt o R tRtV tR# )TestCompressedc           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! ^4      4       \	        VP                  \        P                  ! R4      4       \	        VP                  \        P                  ! R4      4       \        VP                  P                  R4       \	        VP                  P                   ^ ,          \        P"                  ! . RO\        P$                  R7      4       \	        VP                  P&                  ^ ,          \        P"                  ! . R	O\        P                  R7      4       \	        VP                  P(                  ^ ,          \        P"                  ! \        P*                  ! R
4      \        P*                  ! R4      .4      4       \	        VP                  P,                  ^ ,          \        P"                  ! . RO\.        R7      4       R# )zvarious_compressed.savFr7   r   NrF   ra         r               r         @g      @g      @g      @      ?       @      @       @s   cheeses   bacon   spam)r   r   r"   r#   r   r   r   r$   rG   rH   rb   rc   r   array5dshapearraysr   arrayr    r   crR   dobjectr9   s   & r   test_compressedTestCompressed.test_compresseds   s"   DIIi)ABER.

> :;EEMMJK	
 	QYY__o6A"(((KLA1A(TUA2<<#5r||D7I"JK	MA"@O	Qr   r+   N)r,   r-   r.   r/   r   r0   r1   r2   s   @r   r   r   p   s     Q Qr   r   c                   P   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestArrayDimensionsc                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_1d.savFr7   N{   )r   r   r"   r#   r   array1dr   r9   s   & r   test_1dTestArrayDimensions.test_1d   s,    DIIi)?@%PQYY__g.r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_2d.savFr7   N      )r   r   r"   r#   r   array2dr   r9   s   & r   test_2dTestArrayDimensions.test_2d   s,    DIIi)?@%PQYY__h/r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_3d.savFr7   N   r   r   )r   r   r"   r#   r   array3dr   r9   s   & r   test_3dTestArrayDimensions.test_3d   ,    DIIi)?@%PQYY__l3r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_4d.savFr7   Nr   r         )r   r   r"   r#   r   array4dr   r9   s   & r   test_4dTestArrayDimensions.test_4d   r   r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_5d.savFr7   Nr   )r   r   r"   r#   r   r   r   r9   s   & r   test_5dTestArrayDimensions.test_5d   s,    DIIi)?@%PQYY__o6r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_6d.savFr7   Nr   r   r   r   r   r   )r   r   r"   r#   r   array6dr   r9   s   & r   test_6dTestArrayDimensions.test_6d   s-    DIIi)?@%PQYY__&89r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_7d.savFr7   Nr   r   r   r   r   r   r   )r   r   r"   r#   r   array7dr   r9   s   & r   test_7dTestArrayDimensions.test_7d   s-    DIIi)?@%PQYY__&;<r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_8d.savFr7   Nr   r   r   r   r   r   r   r   )r   r   r"   r#   r   array8dr   r9   s   & r   test_8dTestArrayDimensions.test_8d   s-    DIIi)?@%PQYY__&>?r   r+   Nr,   r-   r.   r/   r   r   r   r   r   r   r   r   r0   r1   r2   s   @r   r   r      s4     /0447:=@ @r   r   c                   P   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestStructuresc                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! ^4      4      4       \	        VP
                  P                  \        P                  ! \        P                  ! ^4      4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      4      4       \	        VP
                  P                   \        P                  ! R.\"        R7      4       \	        VP
                  P$                  \        P                  ! \        P&                  ! R4      4      4       R# )	zstruct_scalars.savFr7         @r   r   r   N            @)r   r   r"   r#   r   scalarsr   r   r   r    r   rB   r   rH   r   rM   er   frR   r9   s   & r   test_scalarsTestStructures.test_scalars   s    DIIi)=>Nbhhrxx{&;<bhhrxx{&;<bhhrzz"~&>?bhhrzz"~&>?bhhy&GHbhhr||F/C&DEr   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      4       \	        VP
                  P                   \        P                  ! R^4      P#                  \$        4      4       \	        VP
                  P&                  \        P                  ! \        P(                  ! R4      ^4      4       R# )zstruct_scalars_replicated.savFr7   r   r   r   Nr   )r   r   r"   r#   r   scalars_repr   r   repeatr    r   rB   r   rH   r   rM   r   astyper   r   rR   r9   s   & r   test_scalars_replicated&TestStructures.test_scalars_replicated   s    DIIi)HI!#"))BHHQK*CD"))BHHQK*CD"))BJJrNA*FG"))BJJrNA*FG"))GQ*?*F*Fv*NO"))BLL4H!*LMr   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      P                  ^^^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      P                  ^^^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      P                  ^^^4      4       \	        VP
                  P                  \        P                  ! \        P                   ! R4      ^4      P                  ^^^4      4       \	        VP
                  P"                  \        P                  ! R^4      P                  ^^^4      P%                  \&        4      4       \	        VP
                  P(                  \        P                  ! \        P*                  ! R4      ^4      P                  ^^^4      4       R# )z struct_scalars_replicated_3d.savFr7   r   r   r   Nr   )r   r   r"   r#   r   r   r   r   r   r    reshaper   rB   r   rH   r   rM   r   r   r   r   rR   r9   s   & r   test_scalars_replicated_3d)TestStructures.test_scalars_replicated_3d   sm   DIIi)KL!#"))BHHQK*D*L*LQPQST*UV"))BHHQK*D*L*LQPQST*UV2::b>26>>q!QG	I2::b>26>>q!QG	I7B/771a@GGO	Q2<<#7<DDQ1M	Or   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  ^ ,          \        P                  ! . RO\        P                  R7      4       \	        VP
                  P                  ^ ,          \        P                  ! . RO\        P                  R7      4       \	        VP
                  P                  ^ ,          \        P                  ! \        P                  ! R4      \        P                  ! R4      .4      4       \	        VP
                  P                  ^ ,          \        P                  ! . R	O\        R7      4       R# )
zstruct_arrays.savFr7   r   Nr   r   r   r   r   )r   r   r"   r#   r   r   r   r   r   r    r   rH   r   rR   r   r   r9   s   & r   test_arraysTestStructures.test_arrays   s    DIIi)<=uMqxxzz!}bhhy.QRqxxzz!}!xx(8

K	Mqxxzz!}!xxd);R\\$=O(PQ	Sqxxzz!}!xx(FfU	Wr   c           
     f   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \!        ^4       EFF  p\#        VP
                  P                  V,          \        P$                  ! . RO\        P&                  R7      4       \#        VP
                  P                  V,          \        P$                  ! . RO\        P(                  R7      4       \#        VP
                  P                  V,          \        P$                  ! \        P*                  ! R4      \        P*                  ! R	4      .4      4       \#        VP
                  P                  V,          \        P$                  ! . R
O\,        R7      4       EKI  	  R# )zstruct_arrays_replicated.savFr7   r   Nr   r   r   r   r   r   r   r   r"   r#   r   
arrays_repr   r   r   r   object_r   r   r   r   r   ranger   r   r    rH   rR   r   r%   r(   is   &  r   test_arrays_replicated%TestStructures.test_arrays_replicated   s   DIIi)GHRWX 	$$))RZZ78$$))RZZ78$$))RZZ78$$))RZZ78 	Q\\^^))51Q\\^^))51Q\\^^))51Q\\^^))51 qA"1<<>>!#4#%88IRXX#FH"1<<>>!#4#%88,<BJJ#OQ"1<<>>!#4#%88R\\$-?-/\\$-?-A $BC #1<<>>!#4#%88,J28$:; r   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \!        ^4       EFv  p\!        ^4       EFb  p\!        ^4       EFN  p\#        VP
                  P                  W#V3,          \        P$                  ! . RO\        P&                  R7      4       \#        VP
                  P                  W#V3,          \        P$                  ! . RO\        P(                  R7      4       \#        VP
                  P                  W#V3,          \        P$                  ! \        P*                  ! R4      \        P*                  ! R	4      .4      4       \#        VP
                  P                  W#V3,          \        P$                  ! . R
O\,        R7      4       EKQ  	  EKe  	  EKy  	  R# )zstruct_arrays_replicated_3d.savFr7   r   Nr   r   r   r   r   r   r   r   r   )r%   r(   r   jks   &    r   test_arrays_replicated_3d(TestStructures.test_arrays_replicated_3d   s   DIIi)JK!# 	$$))RZZ78$$))RZZ78$$))RZZ78$$))RZZ78 	Q\\^^))95Q\\^^))95Q\\^^))95Q\\^^))95 qA1XqA*1<<>>!'+B+-88IRXX+NP*1<<>>!'+B+-884D:<**,FG +1<<>>!'+B+-88R\\$5G57\\$5G5I ,JK +1<<>>!'+B+-884R:@,BC "  r   c                z   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! ^ .\        P                  R7      4       \	        VP
                  P                  \        P                  ! ^ .\        P                  R7      4       \	        VP
                  P                  \        P                  ! ^ .\        P                  R7      4       \	        VP
                  P                  \        P                  ! ^.\        P                  R7      4       R# )zstruct_inherit.savFr7   r   N)r   r   r"   r#   r   fcxr   r   r    yrr   r9   s   & r   test_inheritanceTestStructures.test_inheritance  s    DIIi)=>N1#RXX!>?1#RXX!>?1#RXX!>?1#RXX!>?r   c                   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \	        \
        P                  ! \        R4      RR7      pRRR4       \        XP                  P                  ^ ,          \        P                  ! ^7^B.\        P                  R7      4       R#   + '       g   i     L_; i)ignorez.Not able to verify number of bytes from headerzstruct_arrays_byte_idl80.savFr7   Nr   )warningscatch_warningsfilterwarningsUserWarningr   r   r"   r#   r   r   r   r   r   r$   r9   s   & r   test_arrays_corrupt_idl80(TestStructures.test_arrays_corrupt_idl80  s|    $$&&##JKY		),JK %'A ' 	q288RG288#DE '&s   AB88C	r+   N)r,   r-   r.   r/   r   r   r   r   r   r   r   r   r0   r1   r2   s   @r   r   r      s;     FNOW;8C@@F Fr   r   c                   &   a  ] tR tRt o R tRtV tR# )TestPointersi$  c                <   \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       \	        VP                  \        P                  ! R4      4       \        VP
                  VP                  J 4       R# )zscalar_heap_pointer.savFr7   Nra   )
r   r   r"   r#   r   c64_pointer1r   rc   c64_pointer2r   r9   s   & r   test_pointersTestPointers.test_pointers'  sk    DIIi)BCUSNNMMJK	
 	NNMMJK	
 	!..01r   r+   N)r,   r-   r.   r/   r  r0   r1   r2   s   @r   r  r  $  s     
2 
2r   r  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestPointerArrayi4  c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  ^ ,          4      8H  4      4       R# )zarray_float32_pointer_1d.savFr7   r   Nr   )r   r   r"   r#   r   r   r   r   r   allrH   vect_idr!   r9   s   & r   r   TestPointerArray.test_1d7  s{    DIIi)GHRWXQYY__g.qyyBJJrN234wqyy)R		!-==>?r   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_2d.savFr7   r   Nr   )r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_2d=  s{    DIIi)GHRWXQYY__h/qyyBJJrN234wqyy)R		#-??@Ar   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_3d.savFr7   r   Nr   r   r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_3dC  s|    DIIi)GHRWXQYY__l3qyyBJJrN234wqyy)R		%0@-AABCr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_4d.savFr7   r   Nr   )r   r   r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_4dI  s|    DIIi)GHRWXQYY__l3qyyBJJrN234wqyy)R		'0B-CCDEr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_5d.savFr7   r   Nr   )r   r   r   r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_5dO  s|    DIIi)GHRWXQYY__o6qyyBJJrN234wqyy)R		)0D-EEFGr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_6d.savFr7   r   Nr   )r   r   r   r   r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_6dU  s}    DIIi)GHRWXQYY__&89qyyBJJrN234wqyy)R		+0F-GGHIr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_7d.savFr7   r   Nr   )r   r   r   r   r   r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_7d[  s}    DIIi)GHRWXQYY__&;<qyyBJJrN234wqyy)R		-0H-IIJKr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_8d.savFr7   r   Nr   )r   r   r   r   r   r   r   r   )r   r   r"   r#   r   r   r   r   r   r  rH   r  r!   r9   s   & r   r   TestPointerArray.test_8da  s}    DIIi)GHRWXQYY__&>?qyyBJJrN234wqyy)R		/0J-KKLMr   r+   Nr   r2   s   @r   r	  r	  4  s;     @BDFHJLN Nr   r	  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestPointerStructuresih  c                ^   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! R4      \        P                  R7      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      \        P                  R7      4       \        \        VP
                  P                  ^ ,          4      \        VP
                  P                  ^ ,          4      8H  4       R# )zstruct_pointers.savFr7   r   r   N)r   r   r"   r#   r   pointersgr   r   rH   r   hr   r!   r9   s   & r   r   "TestPointerStructures.test_scalarsk  s    DIIi)>?Orxx

2bjj'QRrxx

2bjj'QR1::<<?#r!**,,q/'::;r   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \        \        P                  ! \        VP
                  P                  4      \        VP
                  P                  4      8H  4      4       R# )zstruct_pointers_replicated.savFr7   r   N)r   r   r"   r#   r   pointers_repr!  r   r   rH   r   r   r"  r   r  r  r9   s   & r   test_pointers_replicated.TestPointerStructures.test_pointers_replicatedq  s    DIIi)IJ!#))2::b>15<<RZZH	J))2::b>15<<RZZH	Jwq~~//0GANN<L<L4MMNOr   c                <   \        \        P                  ! \        R 4      RR7      p\        P
                  ! \        P                  ! R4      ^4      P                  ^^^4      P                  \        P                  4      p\        VP                  P                  V4       \        VP                  P                  V4       \        \        P                  ! \!        VP                  P                  4      \!        VP                  P                  4      8H  4      4       R# )z!struct_pointers_replicated_3d.savFr7   r   N)r   r   r"   r#   r   r   rH   r   r   r   r   r%  r!  r"  r   r  r  )r%   r(   s_expects   &  r   test_pointers_replicated_3d1TestPointerStructures.test_pointers_replicated_3dz  s    DIIi)LM!#99RZZ^R088AqAHHT))84))84wq~~//0GANN<L<L4MMNOr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  ^ ,          \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \	        VP
                  P                  ^ ,          \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \        \        P                  ! \        VP
                  P                  ^ ,          4      \!        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       \        \        P                  ! \        VP
                  P                  ^ ,          4      \!        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       \        \!        VP
                  P                  ^ ,          ^ ,          4      \!        VP
                  P                  ^ ,          ^ ,          4      8H  4       R# )zstruct_pointer_arrays.savFr7   r   N)r   r   r"   r#   r   r   r!  r   r   rH   r   r   r"  r   r  r  r!   r9   s   & r   r   !TestPointerStructures.test_arrays  sE   DIIi)DEuUqxxzz!}!yyB;BB2::N	Pqxxzz!}!yyB;BB2::N	Pwqxxzz!}-AHHJJqM!4D1EEFGwqxxzz!}-AHHJJqM!4D1EEFG188::a=#$188::a=+;(<<=r   c           
        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        ^4       EF  p\        VP
                  P                  V,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \        VP
                  P                  V,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \	        \        P&                  ! \)        VP
                  P                  V,          4      \+        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       \	        \        P&                  ! \)        VP
                  P                  V,          4      \+        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       EK  	  R# )z$struct_pointer_arrays_replicated.savFr7   r   Nr   )r   r   r"   r#   r   r   r!  r   r   r   r   r"  r   r   r   r   r   rH   r   r  r  r!   r   s   &  r   r   ,TestPointerStructures.test_arrays_replicated  s   DIIi)OP!# 	$$))RZZ78$$))RZZ78 	Q\\^^))51Q\\^^))51 qA"1<<>>!#4#%99RZZ^Q#?#F#Frzz#RT"1<<>>!#4#%99RZZ^Q#?#F#Frzz#RTBFF71<<>>!#45ALLNN1<Ma<P9QQRSBFF71<<>>!#45ALLNN1<Ma<P9QQRS r   c                   \         P                  ! \        R 4      p\        VRR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        ^4       EF  p\        ^4       EF  p\        ^4       EF  p\        VP
                  P                  W4V3,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \        VP
                  P                  W4V3,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \'        VP
                  P                  W4V3,          4      p\)        VP
                  P                  R,          ^ ,          4      p\        P*                  ! Wg8H  4      '       g   Q h\'        VP
                  P                  W4V3,          4      p\)        VP
                  P                  R,          ^ ,          4      p	\        P*                  ! W8H  4      '       d   EK  Q h	  EK  	  EK  	  R# )z'struct_pointer_arrays_replicated_3d.savFr7   r   Nr   r  )r   r"   r#   r   r   r   r!  r   r   r   r   r"  r   r   r   r   r   rH   r   r  r!   r  )
r%   pthr(   r   r   r   g0g1h0h1s
   &         r   r   /TestPointerStructures.test_arrays_replicated_3d  s   ii	#LMC' 	$$))RZZ78$$))RZZ78 	Q\\^^))95Q\\^^))95 qA1XqA*1<<>>!'+BIIbjjna8??

KM*1<<>>!'+BIIbjjna8??

KM a!89BALLNN73A67B66"(++++ a!89BALLNN73A67B66"(++++ "  r   r+   N)r,   r-   r.   r/   r   r&  r*  r   r   r   r0   r1   r2   s   @r   r  r  h  s+     <PP>T*, ,r   r  c                   *   a  ] tR tRt o RtR tRtV tR# )TestTagsi  z4Test that sav files with description tag read at allc                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! ^4      4       R# )zscalar_byte_descr.savFr7   Nr8   r9   s   & r   test_descriptionTestTags.test_description  s0    DIIi)@A5Q.r   r+   N)r,   r-   r.   r/   __doc__r:  r0   r1   r2   s   @r   r8  r8    s     >/ /r   r8  c                      \        \        P                  ! \        R 4      RR7      p \	        V P
                  R4       \	        V P                  \        P                  ! ^4      4       R# )znull_pointer.savFr7   N)	r   r   r"   r#   r   pointcheckr   r    )r(   s    r   test_null_pointerr@    s>    		)%78%HAQWWd#QWWbhhqk*r   c                     \         P                  ! R R7      ;_uu_ 4       p \         P                  ! R4       \        \        P
                  ! \        R4      RR7      pRRR4       \        \        X 4      ^8H  4       \        \        V ^ ,          P                  4      R8H  4       \        XR,          \        P                  ! RR.4      4       R#   + '       g   i     Lz; i)	T)recordalwayszinvalid_pointer.savFr7   NzNVariable referenced by pointer not found in heap: variable will be set to Noner   )r   r   simplefilterr   r   r"   r#   r   lenr   messager   r   r   )wr(   s     r   test_invalid_pointerrH    s     
	 	 	-	-h'DIIi)>?O 
. CFaKC! #G H IQsVRXXtTl34 
.	-s   =CC	c                     \         P                  ! R ^/4      p V R ,          ^8X  g   Q hV P                  ^8X  g   Q h\        P                  ! \
        4      ;_uu_ 4        V R,           RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                   RRR4       R#   + '       g   i     LK; i  + '       g   i     R# ; i)onetwoNzhas no attribute)match)r   AttrDictrJ  pytestraisesKeyErrorAttributeErrorrK  )r   s    r   test_attrdictrR    s    uaj!AU8q==55A::	x	 	 	% 
!	~-?	@	@	 
A	@ 
!	 	@	@	@s   
B+B>+B;	>C	)"osr   r   numpyr   numpy.testingr   r   r   rN  scipy.ior   r   r"   dirname__file__r#   r   r   	vectorizer!   r  r   r5   r   r   r   r  r	  r  r8  r@  rH  rR  r+   r   r   <module>rZ     s      $ $   IIdll8,f5	I- ,,r

2 
2>B >BBQ[ Q*!@ !@HxF xFv2 2 1N 1NhR, R,f/ /+5"r   