
    hzV                         S SK r S SKJr  S SKrS SKrS SKrS SKJrJr  S\	S\4S jr
S\	S\4S jrS\	S\4S jr " S	 S
\ R                  5      r\S:X  a  \ R                   " 5         gg)    N)Any)helpernumpy_helperivalreturnc                     U S:X  a$  [         R                  " [         R                  5      $ U S-	  nXS-  -
  nUS-  nUS-  n[        US-  S-   5      SUS-
  -  -  nU(       a  U* n[         R                  " U5      $ )	Ni                 ?          @   )npfloat32nanfloat)r   expoprecsignpowefvals         U/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/numpy_helper_test.pybfloat16_to_float32r      s~    v~zz"&&!!19D19D#:D#:D	!A%&)<<Du::d    c                    U S:  d  U S:  a  [        U  S35      eU S:X  a%  [        R                  " [        R                  * 5      $ U S:X  a$  [        R                  " [        R                  5      $ U S-  S:X  a  [        R                  " S5      $ U S-  nU S-  n U S-	  nU S-  nUS-  nUS:X  a  US	-  nSnOUS-  nS
n[	        US-  U-   5      SU-  -  nU(       a  U* n[        R                  " U5      $ )Nr   r    is not a float8.r         r	         r      r   )
ValueErrorr   r   r   r   r   r   r   mantr   fractionr   s          r   float8e4m3_to_float32r'      s    ax4#:D6!2344s{zz266'""s{zz"&&!!tzz!}$;DDLD19D$;D$;Dqy		H$%T	1Du::dr   c                    U S:  d  U S:  a  [        U  S35      eU S;   a%  [        R                  " [        R                  * 5      $ U S;   a$  [        R                  " [        R                  5      $ U S:X  a%  [        R                  " [        R                  5      * $ U S:X  a$  [        R                  " [        R                  5      $ U S-  S:X  a  [        R                  " S5      $ U S	-  nU S-  n U S
-	  nU S-  nUS-  nUS:X  a  US-  nSnOUS-  nSn[        US-  U-   5      SU-  -  nU(       a  U* n[        R                  " U5      $ )Nr   r   r   )r         )r   ~   }      |   r   r      r         r    r      r   )r#   r   r   r   infr   r$   s          r   float8e5m2_to_float32r4   8   s0   ax4#:D6!2344zz266'""zz"&&!!s{

266"""s{zz"&&!!tzz!}$;DDLD19D$;D$;Dqy

H$%T	1Du::dr   c                   (   \ rS rSrS\R
                  SS4S jrS\R
                  SS4S jrS3S jrS3S jr	S3S	 jr
S3S
 jrS3S jrS3S jrS3S jrS3S jrS3S jrS3S jrS3S jrS3S jr\R(                  R+                  SSSS\R,                  4\R.                  4/5      S 5       rS r\R(                  R+                  / SQ5      S 5       rS rS rS rS rS rS  r S! r!S" r"S# r#S$ r$S% r%S& r&S' r'S( r(S) r)S* r*S+ r+S, r,S- r-S. r.S/ r/S0 r0S1 r1S2r2g)4TestNumpyHelperW   dtyper   Nc                 2   [         R                  R                  SS5      R                  U5      n[        R
                  " US5      nU R                  UR                  S5        [        R                  " U5      n[         R                  R                  X$5        g )N   %   test)r   randomrandastyper   
from_arrayassertEqualnameto_arraytestingassert_equalselfr8   a
tensor_def	a_recovers        r   _test_numpy_helper_float_type-TestNumpyHelper._test_numpy_helper_float_typeX   si    IINN2r"))%0!,,Q7
&1 ))*5	


-r   c                    [         R                  R                  [         R                  " U5      R                  [         R                  " U5      R
                  USS9n[        R                  " US5      nU R                  UR                  S5        [        R                  " U5      n[         R                  R                  X$5        g )Nr:   r;   )r8   sizer<   )r   r=   randintiinfominmaxr   r@   rA   rB   rC   rD   rE   rF   s        r   _test_numpy_helper_int_type+TestNumpyHelper._test_numpy_helper_int_type_   s    IIHHUO%!4!4E  
 ",,Q7
&1 ))*5	


-r   c                 B    U R                  [        R                  5        g NrK   r   r   rG   s    r   
test_floatTestNumpyHelper.test_floath       **2::6r   c                 B    U R                  [        R                  5        g rW   )rT   r   uint8rY   s    r   
test_uint8TestNumpyHelper.test_uint8k       ((2r   c                 B    U R                  [        R                  5        g rW   )rT   r   int8rY   s    r   	test_int8TestNumpyHelper.test_int8n   s    ((1r   c                 B    U R                  [        R                  5        g rW   )rT   r   uint16rY   s    r   test_uint16TestNumpyHelper.test_uint16q   s    ((3r   c                 B    U R                  [        R                  5        g rW   )rT   r   int16rY   s    r   
test_int16TestNumpyHelper.test_int16t   ra   r   c                 B    U R                  [        R                  5        g rW   )rT   r   int32rY   s    r   
test_int32TestNumpyHelper.test_int32w   ra   r   c                 B    U R                  [        R                  5        g rW   )rT   r   int64rY   s    r   
test_int64TestNumpyHelper.test_int64z   ra   r   c                 *   [         R                  " / SQ5      R                  [        5      n[        R
                  " US5      nU R                  UR                  S5        [        R                  " U5      n[         R                  R                  X5        g )N)AmyBillyCindyDavidr<   )r   arrayr?   objectr   r@   rA   rB   rC   rD   rE   rG   rH   rI   rJ   s       r   test_stringTestNumpyHelper.test_string}   sd    HH78??G!,,Q7
&1 ))*5	


-r   c                 6   [         R                  R                  SSS9R                  [        5      n[
        R                  " US5      nU R                  UR                  S5        [
        R                  " U5      n[         R                  R                  X5        g )Nr/   rN   )rO   r<   )r   r=   rP   r?   boolr   r@   rA   rB   rC   rD   rE   r}   s       r   	test_boolTestNumpyHelper.test_bool   sn    IIah/66t<!,,Q7
&1 ))*5	


-r   c                 B    U R                  [        R                  5        g rW   rX   rY   s    r   test_float16TestNumpyHelper.test_float16   r\   r   c                 B    U R                  [        R                  5        g rW   )rK   r   	complex64rY   s    r   test_complex64TestNumpyHelper.test_complex64   s    **2<<8r   c                 B    U R                  [        R                  5        g rW   )rK   r   
complex128rY   s    r   test_complex128TestNumpyHelper.test_complex128   s    **2==9r   )r   )gA?)i  )gq @>c                    [         R                  " U5      n[        R                  " U5      n[	        U[
        5      (       d   e[        R                  " [         R                  " U/5      5      S   n[        U5      n[         R                  " U5      (       a;  [         R                  " U5      (       d   e[         R                  " U5      (       d   eg U R                  X$5        U R                  X%5        g )Nr   )r   r   r   float32_to_bfloat16
isinstanceintr   r   r{   isnanrA   )rG   ff32bf16f32_1f32_2s         r   test_bfloat16_to_float32(TestNumpyHelper.test_bfloat16_to_float32   s     jjm))#.$$$$$004&1AB1E#D)88C==88E??"?88E??"?S(S(r   c                    U R                  [        R                  " [        SS5      5      S5        U R                  [        R                  " [        SS5      5      S5        U R                  [        R                  " [        SS5      5      S5        U R                  [        R                  " [        SS5      5      S	5        S
SSSSSSSSSSSSSS	[        R
                  4 GH  nU R                  US9   [        R                  " U5      n[        R                  " U5      n[        U[        5      (       d   e[        R                  " [        R                  " U/5      5      S
   n[        U5      n[        R                  " U5      (       a;  [        R                  " U5      (       d   e[        R                  " U5      (       d   eO"U R                  X$5        U R                  X%5        S S S 5        GM     g ! , (       d  f       GM&  = f)N1111110r/     1000g      ?1      `?111g      ?r   r   g      ?g      g      ?g      r   r   )rA   r   r'   r   r   r   subTestr   r   float32_to_float8e4m3r   r{   r   rG   r   r   f8r   r   s         r   test_float8e4m3_to_float32*TestNumpyHelper.test_float8e4m3_to_float32   s   ;;C	1<MNPST;;CNKYW;;CQKH)T..s5!}=?P	
 FF!
A$ "jjm11#6!"c****$::288RD>J1M-b188C==88E??*?88E??*?$$S0$$S0 #"%
$ #"s   4C5G77
H	))g      r?      p?)      x?r   )gSt$w?r   )g333333s?r   )r   r   )g      h?r   )gX`?r   )g333333c?r   )g      ?r   )g333333S?r   )gVb?g      ?c                 ~    [         R                  " U5      n[        R                  " U5      nU R	                  XB5        g rW   )r   r   r   r'   rA   )rG   valexpectedr   r   s        r    test_float8e4m3_to_float32_round0TestNumpyHelper.test_float8e4m3_to_float32_round   s2      ))#.004'r   c           
         U R                  [        R                  " [        SS5      5      S5        U R                  [        R                  " [        SS5      5      S5        U R                  [        R                  " [        SS5      5      S5        U R                  [        R                  " [        SS5      5      S	5        U R	                  [
        R                  " [        R                  " [        S
S5      5      5      5        U R	                  [
        R                  " [        R                  " [        SS5      5      5      5        U R	                  [
        R                  " [        R                  " [        SS5      5      5      5        U R	                  [
        R                  " [        R                  " [        SS5      5      5      5        U R	                  [
        R                  " [        R                  " [        SS5      5      5      5        U R	                  [
        R                  " [        R                  " [        SS5      5      5      5        U R                  [        R                  " [        SS5      5      [
        R                  5        U R                  [        R                  " [        SS5      5      [
        R                  * 5        SSSSS[
        R                  4 GH  nU R                  US9   [
        R                  " U5      n[        R                  " U5      n[        U[        5      (       d   e[        R                  " [
        R                  " U/5      5      S   n[        U5      n[
        R                  " U5      (       a;  [
        R                  " U5      (       d   e[
        R                  " U5      (       d   eO"U R                  X$5        U R                  X%5        S S S 5        GM     g ! , (       d  f       GM&  = f)N1111011r/      100g      ?11g      ?r   g      >1111101r   1111111111111011111111011111111111110011111100r   g7  \?i P  r1   i r   )rA   r   r4   r   
assertTruer   r   r3   r   r   r   r   float32_to_float8e5m2r   r{   r   s         r   test_float8e5m2_to_float32*TestNumpyHelper.test_float8e5m2_to_float32   s   ;;C	1<MNPUV;;CqMJJW..s4|<>O	
 	;;CQKH*U!C!CC	STDU!VWX!C!CC	STDU!VWX!C!CC	STDU!VWXHH\77J8JKL	
 	HH\77J8JKL	
 	HH\77J8JKL	
 	;;C	1<MNPRPVPVW..s:q/ABRVVG	
 FF
A "jjm11#6!"c****$::288RD>J1M-b188C==88E??*?88E??*?$$S0$$S0 #"
 #"s   9C5O<<
P	c                    [         R                  " [         R                  5      n[        R                  " U5      n[
        R                  " U5      nU R                  US5        [         R                  " [         R                  5      n[        R                  " USS9n[
        R                  " U5      nU R                  [         R                  " U5      5        [         R                  " [         R                  * 5      n[        R                  " U5      nU R                  US-  S5        [
        R                  " U5      nU R                  US5        [         R                  " [         R                  * 5      n[        R                  " USS9nU R                  US-  S5        [
        R                  " U5      nU R                  [         R                  " U5      5        g )Nr   Fsaturater   @
r   r   r3   r   r   r   r'   rA   r   r   rG   xtobacks       r   test_float8_e4m3fn_inf&TestNumpyHelper.test_float8_e4m3fn_inf  sB   JJrvv))!,11"5s#JJrvv))!e<11"5'JJw))!,dD)11"5t$JJw))!e<dD)11"5'r   c                 X   [         R                  " [         R                  5      n[        R                  " USS9n[
        R                  " USS9nU R                  US5        [         R                  " [         R                  5      n[        R                  " USSS9n[
        R                  " USS9nU R                  [         R                  " U5      5        [         R                  " [         R                  * 5      n[        R                  " USS9n[
        R                  " USS9nU R                  US5        [         R                  " [         R                  * 5      n[        R                  " USSS9n[
        R                  " USS9nU R                  [         R                  " U5      5        g )NTuz   Fr   r   r   r   s       r   test_float8_e4m3fnuz_inf(TestNumpyHelper.test_float8_e4m3fnuz_inf(  s*   JJrvv))!511">s#JJrvv))!uE11">'JJw))!511">t$JJw))!uE11">'r   c                    [         R                  " [         R                  5      n[        R                  " U5      n[
        R                  " U5      nU R                  US5        [         R                  " [         R                  5      n[        R                  " USS9n[
        R                  " U5      nU R                  [         R                  " U5      5        [         R                  " [         R                  * 5      n[        R                  " U5      nU R                  US-  S5        [
        R                  " U5      nU R                  US5        [         R                  " [         R                  * 5      n[        R                  " USS9nU R                  US-  S5        [
        R                  " U5      nU R                  [         R                  " U5      5        U R                  US5        g )Nr   Fr   r     r   )r   r   r3   r   r   r   r4   rA   r   isinf
assertLessr   s       r   test_float8_e5m2_inf$TestNumpyHelper.test_float8_e5m2_inf=  sP   JJrvv))!,11"5u%JJrvv))!e<11"5'JJw))!,dD)11"5v&JJw))!e<dD)11"5'a r   c                 h   [         R                  " [         R                  5      n[        R                  " USSS9n[
        R                  " USSS9nU R                  US5        [         R                  " [         R                  5      n[        R                  " USSSS9n[
        R                  " USSS9nU R                  [         R                  " U5      5        [         R                  " [         R                  * 5      n[        R                  " USSS9n[
        R                  " USSS9nU R                  US5        [         R                  " [         R                  * 5      n[        R                  " USSSS9n[
        R                  " USSS9nU R                  [         R                  " U5      5        g )NTfnr   r   Fr   r   r   r   )
r   r   r3   r   r   r   r4   rA   r   r   r   s       r   test_float8_e5m2fnuz_inf(TestNumpyHelper.test_float8_e5m2fnuz_infU  s:   JJrvv))!>11"$Gu%JJrvv))!N11"$G'JJw))!>11"$Gv&JJw))!N11"$G'r   c                    [         R                  " S5      n[        R                  " U5      n[        R
                  " U5      nU R                  US5        [         R                  " S5      n[        R                  " USS9n[        R
                  " U5      nU R                  [         R                  " U5      5        [         R                  " S5      n[        R                  " U5      n[        R
                  " U5      nU R                  US5        [         R                  " S5      n[        R                  " USS9n[        R
                  " U5      nU R                  [         R                  " U5      5        g )N@B r   Fr   r   	r   r   r   r   r   r'   rA   r   r   r   s       r   test_float8_e4m3fn_out_of_range/TestNumpyHelper.test_float8_e4m3fn_out_of_rangej  s   JJw))!,11"5s#JJw))!e<11"5'JJx ))!,11"5t$JJx ))!e<11"5'r   c                    [         R                  " S5      n[        R                  " USS9n[        R
                  " USS9nU R                  US5        [         R                  " S5      n[        R                  " USSS9n[        R
                  " USS9nU R                  [         R                  " U5      5        [         R                  " S5      n[        R                  " USS9n[        R
                  " USS9nU R                  US5        [         R                  " S5      n[        R                  " USSS9n[        R
                  " USS9nU R                  [         R                  " U5      5        g )	Nr   Tr   r   Fr   r   r   r   r   s       r   !test_float8_e4m3fnuz_out_of_range1TestNumpyHelper.test_float8_e4m3fnuz_out_of_range  s   JJw))!511">s#JJw))!uE11">'JJx ))!511">t$JJx ))!uE11">'r   c                    [         R                  " S5      n[        R                  " U5      n[        R
                  " U5      nU R                  US5        [         R                  " S5      n[        R                  " USS9n[        R
                  " U5      nU R                  [         R                  " U5      5        [         R                  " S5      n[        R                  " U5      n[        R
                  " U5      nU R                  US5        [         R                  " S5      n[        R                  " USS9n[        R
                  " U5      nU R                  [         R                  " U5      5        g )Nr   r   Fr   r   r   )	r   r   r   r   r   r4   rA   r   r   r   s       r   test_float8_e5m2_out_of_range-TestNumpyHelper.test_float8_e5m2_out_of_range  s   JJw))!,11"5u%JJw))!e<11"5'JJx ))!,11"5v&JJx ))!e<11"5'r   c                    [         R                  " S5      n[        R                  " USSS9n[        R
                  " USSS9nU R                  US5        [         R                  " S5      n[        R                  " USSSS9n[        R
                  " USSS9nU R                  [         R                  " U5      5        [         R                  " S5      n[        R                  " USSS9n[        R
                  " USSS9nU R                  US5        [         R                  " S5      n[        R                  " USSSS9n[        R
                  " USSS9nU R                  [         R                  " U5      5        g )	Nr   Tr   r   Fr   r   r   )	r   r   r   r   r   r4   rA   r   r   r   s       r   !test_float8_e5m2fnuz_out_of_range1TestNumpyHelper.test_float8_e5m2fnuz_out_of_range  s&   JJw))!>11"$Gu%JJw))!N11"$G'JJx ))!>11"$Gv&JJx ))!N11"$G'r   c                    [         R                  " S5      n[        R                  " U5      nU R	                  US5        [         R
                  " U5      nU R	                  US5        [         R                  " S5      n[        R                  " USS9nU R	                  US5        [         R
                  " U5      nU R	                  US5        g Nr   r   Fr   r   r4   r   r   rA   r'   r   s       r    test_float8_e4m3fn_negative_zero0TestNumpyHelper.test_float8_e4m3fn_negative_zero      ..t4))!,T"11"5q!..t4))!e<T"11"5q!r   c                    [         R                  " S5      n[        R                  " USS9nU R	                  US5        [         R
                  " USS9nU R	                  US5        [         R                  " S5      n[        R                  " USSS9n[         R
                  " USS9nU R	                  US5        U R	                  US5        g )Nr   Tr   r   Fr   r   r   s       r   "test_float8_e4m3fnuz_negative_zero2TestNumpyHelper.test_float8_e4m3fnuz_negative_zero  s    ..t4))!5Q11">q!..t4))!uE11">q!Qr   c                    [         R                  " S5      n[        R                  " U5      nU R	                  US5        [         R
                  " U5      nU R	                  US5        [         R                  " S5      n[        R                  " USS9nU R	                  US5        [         R
                  " U5      nU R	                  US5        g r   r   r4   r   r   rA   r'   r   s       r   test_float8_e5m2_negative_zero.TestNumpyHelper.test_float8_e5m2_negative_zero  r   r   c                    [         R                  " S5      n[        R                  " USSS9nU R	                  US5        [         R
                  " USSS9nU R	                  US5        [         R                  " S5      n[        R                  " USSSS9nU R	                  US5        [         R
                  " USSS9nU R	                  US5        g )Nr   Tr   r   Fr   r   r   s       r   "test_float8_e5m2fnuz_negative_zero2TestNumpyHelper.test_float8_e5m2fnuz_negative_zero  s    ..t4))!>Q11"$Gq!..t4))!NQ11"$Gq!r   c                    [         R                  " S5      n[        R                  " U5      nU R	                  US5        [         R
                  " U5      nU R                  [        R                  " U5      5        [         R                  " S5      n[        R                  " USS9nU R	                  US5        [         R
                  " U5      nU R                  [        R                  " U5      5        g Nr   Fr   	r   r4   r   r   rA   r'   r   r   r   r   s       r   test_float8_e4m3fn_negative_nan/TestNumpyHelper.test_float8_e4m3fn_negative_nan      ..s3))!,S!11"5'..s3))!e<S!11"5'r   c                    [         R                  " S5      n[        R                  " USS9nU R	                  US5        [         R
                  " USS9nU R                  [        R                  " U5      5        [         R                  " S5      n[        R                  " USSS9nU R	                  US5        [         R
                  " USS9nU R                  [        R                  " U5      5        g )Nr   Tr   r   Fr   r  r   s       r   !test_float8_e4m3fnuz_negative_nan1TestNumpyHelper.test_float8_e4m3fnuz_negative_nan  s    ..s3))!5T"11">'..s3))!uET"11">'r   c                    [         R                  " S5      n[        R                  " U5      nU R	                  US5        [         R
                  " U5      nU R                  [        R                  " U5      5        [         R                  " S5      n[        R                  " USS9nU R	                  US5        [         R
                  " U5      nU R                  [        R                  " U5      5        g r  	r   r4   r   r   rA   r'   r   r   r   r   s       r   test_float8_e5m2_negative_nan-TestNumpyHelper.test_float8_e5m2_negative_nan  r  r   c                    [         R                  " S5      n[        R                  " USSS9nU R	                  US5        [         R
                  " USSS9nU R                  [        R                  " U5      5        [         R                  " S5      n[        R                  " USSSS9nU R	                  US5        [         R
                  " USSS9nU R                  [        R                  " U5      5        g )Nr   Tr   r   Fr   r  r   s       r   !test_float8_e5m2fnuz_negative_nan1TestNumpyHelper.test_float8_e5m2fnuz_negative_nan  s    ..s3))!>T"11"$G'..s3))!NT"11"$G'r   c                 
   [         R                  " [        R                  " S5      [        R                  " S5      S.5      nU R	                  U[
        R                  5        U R                  [         R                  " UR                  R                  S   5      [        R                  " S5      5        U R                  [         R                  " UR                  R                  S   5      [        R                  " S5      5        g )N皙??r   r   r   r   r   	from_dictr   r{   assertIsInstanceonnxMapProtorA   rC   valuestensor_valuesrG   	map_protos     r   ,test_from_dict_values_are_np_arrays_of_float<TestNumpyHelper.test_from_dict_values_are_np_arrays_of_float&  s     **rxx}#+OP	i7!!)"2"2"@"@"CDbhhsm	
 	!!)"2"2"@"@"CDbhhsm	
r   c                 
   [         R                  " [        R                  " S5      [        R                  " S5      S.5      nU R	                  U[
        R                  5        U R                  [         R                  " UR                  R                  S   5      [        R                  " S5      5        U R                  [         R                  " UR                  R                  S   5      [        R                  " S5      5        g )Nr   	   r  r   r  r  s     r   *test_from_dict_values_are_np_arrays_of_int:TestNumpyHelper.test_from_dict_values_are_np_arrays_of_int0  s     **rxx{rxx{+KL	i7!!)"2"2"@"@"CDbhhqk	
 	!!)"2"2"@"@"CDbhhqk	
r   c                 H   [         R                  " SS/5      n[         R                  " SS/5      n[        R                  " XS.5      nU R	                  U[
        R                  5        [        R                  " UR                  R                  S   5      nU R                  US   US   5        U R                  US   US   5        [        R                  " UR                  R                  S   5      nU R                  US   US   5        U R                  US   US   5        g )Nr   r/   r!  
   r  r   )r   r{   r   r  r  r  r  rC   r  r  rA   )rG   
zero_array	one_arrayr  
out_tensors        r   +test_from_dict_values_are_np_arrays_of_ints;TestNumpyHelper.test_from_dict_values_are_np_arrays_of_ints:  s    XXq!f%
HHaW%	 **z+HI	i7!**9+;+;+I+I!+LM
A
16A
16!**9+;+;+I+I!+LM
A	!5A	!5r   c                     U R                  [        5         [        R                  " SSS.5        S S S 5        g ! , (       d  f       g = f)Nr  r  r  )assertRaises	TypeErrorr   r  rY   s    r   >test_from_dict_raises_type_error_when_values_are_not_np_arraysNTestNumpyHelper.test_from_dict_raises_type_error_when_values_are_not_np_arraysH  s/    y)""ss#34 *))s	   9
Ac                     U R                  [        5         [        R                  " [        R
                  " S5      [        R
                  " S5      S.5        S S S 5        g ! , (       d  f       g = f)Nr  r  )r   g?r,  r-  r   r  r   r{   rY   s    r   "test_from_dict_differing_key_types2TestNumpyHelper.test_from_dict_differing_key_typesM  s?    y)""rxx}288C=#IJ *))   AA!!
A/c                     U R                  [        5         [        R                  " [        R
                  " S5      [        R
                  " S5      S.5        S S S 5        g ! , (       d  f       g = f)Nr   r  r  r1  rY   s    r   $test_from_dict_differing_value_types4TestNumpyHelper.test_from_dict_differing_value_typesR  s?    y)""rxx{rxx}#EF *))r4   )r   N)3__name__
__module____qualname____firstlineno__r   numberrK   rT   rZ   r_   rd   rh   rl   rp   rt   r~   r   r   r   r   parameterizedexpandr   r3   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r"  r)  r.  r2  r6  __static_attributes__r8  r   r   r6   r6   W   sZ   .299 . .. .t .7324333..79:   ''VVIVVI	
	)	)$1L   ''	
((
*1X(.(*!0(*(*(*(*(*" ""((((

65
K
Gr   r6   __main__)unittesttypingr   numpyr   r>  r  r   r   r   r   r'   r4   TestCaser6   r9  mainr8  r   r   <module>rG     s   
      %c c   6  >~Gh'' ~GB zMMO r   