
    bIg]_                        d dl mZ d dlZd dlmZ d dlZd dlZd dlZd dl	Zd dlm
Z
mZ ddZddZddZ G d d	ej                        Zed
k(  r ej$                  d       yy)    )annotationsN)Any)helpernumpy_helperc                    | dk(  r#t        j                  t         j                        S | dz	  }| |dz  z
  }|dz  }|dz  }t        |dz  dz         d|dz
  z  z  }|r| }t        j                  |      S )	Ni                 ?          @   )npfloat32nanfloat)ivalexpoprecsignpowefvals         X/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/test/numpy_helper_test.pybfloat16_to_float32r      s    v~zz"&&!!19D419D#:D#:D	!A%&)<<Du::d    c                   | dk  s| dkD  rt        |  d      | dk(  r$t        j                  t        j                         S | dk(  r#t        j                  t        j                        S | dz  dk(  rt        j                  d      S | dz  }| dz  } | dz	  }| dz  }|dz  }|dk(  r|d	z  }d}n|dz  }d
}t	        |dz  |z         d|z  z  }|r| }t        j                  |      S )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                h   | dk  s| dkD  rt        |  d      | dv r$t        j                  t        j                         S | dv r#t        j                  t        j                        S | dk(  r$t        j                  t        j                         S | dk(  r#t        j                  t        j                        S | dz  dk(  rt        j                  d      S | d	z  }| dz  } | d
z	  }| dz  }|dz  }|dk(  r|dz  }d}n|dz  }d}t        |dz  |z         d|z  z  }|r| }t        j                  |      S )Nr   r
   r   )r
         )r   ~   }      |   r   r      r         r    r      r   )r#   r   r   r   infr   r$   s          r   float8e5m2_to_float32r4   :   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   e Zd Zd3dZd3dZd4dZd4dZd4dZd4dZd4dZ	d4dZ
d4d	Zd4d
Zd4dZd4dZd4dZd4dZej"                  j%                  ddddej(                  fej*                  fg      d        Zd Zej"                  j%                  g d      d        Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d5d6d.Z0ej"                  j%                   e1e2jf                        D  cg c]  }|f c}}       d/        Z4d0 Z5d1 Z6y2c c}} w )7TestNumpyHelperc                0   t         j                  j                  dd      j                  |      }t	        j
                  |d      }| j                  |j                  d       t	        j                  |      }t         j                  j                  ||       y )N   %   test)r   randomrandastyper   
from_arrayassertEqualnameto_arraytestingassert_equalselfdtypea
tensor_def	a_recovers        r   _test_numpy_helper_float_typez-TestNumpyHelper._test_numpy_helper_float_typeZ   sk    IINN2r"))%0!,,Q7
&1 ))*5	


9-r   c                   t         j                  j                  t        j                  |      j                  t        j                  |      j
                  |d      }t        j                  |d      }| j                  |j                  d       t        j                  |      }t         j                  j                  ||       y )Nr8   r9   )rF   sizer:   )r   r;   randintiinfominmaxr   r>   r?   r@   rA   rB   rC   rD   s        r   _test_numpy_helper_int_typez+TestNumpyHelper._test_numpy_helper_int_typea   s    IIHHUO%!4!4E  
 ",,Q7
&1 ))*5	


9-r   c                B    | j                  t        j                         y NrJ   r   r   rE   s    r   
test_floatzTestNumpyHelper.test_floatj       **2::6r   c                B    | j                  t        j                         y rT   )rR   r   uint8rV   s    r   
test_uint8zTestNumpyHelper.test_uint8m       ((2r   c                B    | j                  t        j                         y rT   )rR   r   int8rV   s    r   	test_int8zTestNumpyHelper.test_int8p   s    ((1r   c                B    | j                  t        j                         y rT   )rR   r   uint16rV   s    r   test_uint16zTestNumpyHelper.test_uint16s   s    ((3r   c                B    | j                  t        j                         y rT   )rR   r   int16rV   s    r   
test_int16zTestNumpyHelper.test_int16v   r\   r   c                B    | j                  t        j                         y rT   )rR   r   int32rV   s    r   
test_int32zTestNumpyHelper.test_int32y   r\   r   c                B    | j                  t        j                         y rT   )rR   r   int64rV   s    r   
test_int64zTestNumpyHelper.test_int64|   r\   r   c                &   t        j                  g d      j                  t              }t	        j
                  |d      }| j                  |j                  d       t	        j                  |      }t         j                  j                  ||       y )N)AmyBillyCindyDavidr:   )r   arrayr=   objectr   r>   r?   r@   rA   rB   rC   rE   rG   rH   rI   s       r   test_stringzTestNumpyHelper.test_string   sf    HH78??G!,,Q7
&1 ))*5	


9-r   c                :   t         j                  j                  dd      j                  t              }t        j                  |d      }| j                  |j                  d       t        j                  |      }t         j                  j                  ||       y )Nr/   rL   )rM   r:   )r   r;   rN   r=   boolr   r>   r?   r@   rA   rB   rC   rs   s       r   	test_boolzTestNumpyHelper.test_bool   sp    IIah/66t<!,,Q7
&1 ))*5	


9-r   c                B    | j                  t        j                         y rT   rU   rV   s    r   test_float16zTestNumpyHelper.test_float16   rX   r   c                B    | j                  t        j                         y rT   )rJ   r   	complex64rV   s    r   test_complex64zTestNumpyHelper.test_complex64   s    **2<<8r   c                B    | j                  t        j                         y rT   )rJ   r   
complex128rV   s    r   test_complex128zTestNumpyHelper.test_complex128   s    **2==9r   )r   )gA?)i  )gq @>c                   t        j                  |      }t        j                  |      }t	        |t
              sJ t        j                  t        j                  |g            d   }t        |      }t        j                  |      r/t        j                  |      sJ t        j                  |      sJ y | j                  ||       | j                  ||       y )Nr   )r   r   r   float32_to_bfloat16
isinstanceintr   r   rq   isnanr?   )rE   ff32bf16f32_1f32_2s         r   test_bfloat16_to_float32z(TestNumpyHelper.test_bfloat16_to_float32   s     jjm))#.$$$$004&1AB1E#D)88C=88E?"?88E?"?S%(S%(r   c                   | j                  t        j                  t        dd            d       | j                  t        j                  t        dd            d       | j                  t        j                  t        dd            d       | j                  t        j                  t        dd            d	       d
dddddddddddddd	t        j
                  fD ]  }| j                  |      5  t	        j                  |      }t        j                  |      }t        |t              sJ t        j                  t	        j                  |g            d
   }t        |      }t	        j                  |      r.t	        j                  |      sJ t	        j                  |      s&J | j                  ||       | j                  ||       d d d         y # 1 sw Y   xY w)N1111110r/     1000g      ?1      `?111g      ?r   r   g      ?g      g      ?g      r   r   )r?   r   r'   r   r   r   subTestr   r   float32_to_float8e4m3r   rq   r   rE   r   r   f8r   r   s         r   test_float8e4m3_to_float32z*TestNumpyHelper.test_float8e4m3_to_float32   s   ;;C	1<MNPST;;CNKYW;;CQKH)T..s5!}=?P	
 FF!
 	1A$ " 1jjm11#6!"c***$::288RD>J1M-b188C=88E?*?88E?*?$$S%0$$S%01 1%	1$1 1s   2CGG"	))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                |    t        j                  |      }t        j                  |      }| j	                  ||       y rT   )r   r   r   r'   r?   )rE   valexpectedr   r   s        r    test_float8e4m3_to_float32_roundz0TestNumpyHelper.test_float8e4m3_to_float32_round   s4      ))#.004h'r   c           
        | j                  t        j                  t        dd            d       | j                  t        j                  t        dd            d       | j                  t        j                  t        dd            d       | j                  t        j                  t        dd            d	       | j	                  t        j                  t        j                  t        d
d                         | j	                  t        j                  t        j                  t        dd                         | j	                  t        j                  t        j                  t        dd                         | j	                  t        j                  t        j                  t        dd                         | j	                  t        j                  t        j                  t        dd                         | j	                  t        j                  t        j                  t        dd                         | j                  t        j                  t        dd            t
        j                         | j                  t        j                  t        dd            t
        j                          dddddt
        j                  fD ]  }| j                  |      5  t        j                  |      }t        j                  |      }t        |t              sJ t        j                  t        j                  |g            d   }t        |      }t        j                  |      r.t        j                  |      sJ t        j                  |      s&J | j                  ||       | j                  ||       d d d         y # 1 sw Y   xY w)N1111011r/      100g      ?11g      ?r   g      >1111101r   1111111111111011111111011111111111110011111100r   g7  \?i P  r1   i r   )r?   r   r4   r   
assertTruer   r   r3   r   r   r   r   float32_to_float8e5m2r   rq   r   s         r   test_float8e5m2_to_float32z*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
 	1A " 1jjm11#6!"c***$::288RD>J1M-b188C=88E?*?88E?*?$$S%0$$S%01 1	11 1s   )COO	c                   t        j                  t         j                        }t        j                  |      }t        j                  |      }| j                  |d       t        j                  t         j                        }t        j                  |d      }t        j                  |      }| j                  t        j                  |             t        j                  t         j                         }t        j                  |      }| j                  |dz  d       t        j                  |      }| j                  |d       t        j                  t         j                         }t        j                  |d      }| j                  |dz  d       t        j                  |      }| j                  t        j                  |             y )Nr   Fsaturater   @
r   r   r3   r   r   r   r'   r?   r   r   rE   xtobacks       r   test_float8_e4m3fn_infz&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                l   t        j                  t         j                        }t        j                  |d      }t        j                  |d      }| j                  |d       t        j                  t         j                        }t        j                  |dd      }t        j                  |d      }| j                  t        j                  |             t        j                  t         j                         }t        j                  |d      }t        j                  |d      }| j                  |d       t        j                  t         j                         }t        j                  |dd      }t        j                  |d      }| j                  t        j                  |             y )NTuz   Fr   r   r   r   s       r   test_float8_e4m3fnuz_infz(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                   t        j                  t         j                        }t        j                  |      }t        j                  |      }| j                  |d       t        j                  t         j                        }t        j                  |d      }t        j                  |      }| j                  t        j                  |             t        j                  t         j                         }t        j                  |      }| j                  |dz  d       t        j                  |      }| j                  |d       t        j                  t         j                         }t        j                  |d      }| j                  |dz  d       t        j                  |      }| j                  t        j                  |             | j                  |d       y )Nr   Fr   r     r   )r   r   r3   r   r   r   r4   r?   r   isinf
assertLessr   s       r   test_float8_e5m2_infz$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                |   t        j                  t         j                        }t        j                  |dd      }t        j                  |dd      }| j                  |d       t        j                  t         j                        }t        j                  |ddd      }t        j                  |dd      }| j                  t        j                  |             t        j                  t         j                         }t        j                  |dd      }t        j                  |dd      }| j                  |d       t        j                  t         j                         }t        j                  |ddd      }t        j                  |dd      }| j                  t        j                  |             y )NTfnr   r   Fr   r   r   r   )
r   r   r3   r   r   r   r4   r?   r   r   r   s       r   test_float8_e5m2fnuz_infz(TestNumpyHelper.test_float8_e5m2fnuz_infW  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                   t        j                  d      }t        j                  |      }t	        j
                  |      }| j                  |d       t        j                  d      }t        j                  |d      }t	        j
                  |      }| j                  t        j                  |             t        j                  d      }t        j                  |      }t	        j
                  |      }| j                  |d       t        j                  d      }t        j                  |d      }t	        j
                  |      }| j                  t        j                  |             y )N@B r   Fr   r   	r   r   r   r   r   r'   r?   r   r   r   s       r   test_float8_e4m3fn_out_of_rangez/TestNumpyHelper.test_float8_e4m3fn_out_of_rangel  s   JJw))!,11"5s#JJw))!e<11"5'JJx ))!,11"5t$JJx ))!e<11"5'r   c                   t        j                  d      }t        j                  |d      }t	        j
                  |d      }| j                  |d       t        j                  d      }t        j                  |dd      }t	        j
                  |d      }| j                  t        j                  |             t        j                  d      }t        j                  |d      }t	        j
                  |d      }| j                  |d       t        j                  d      }t        j                  |dd      }t	        j
                  |d      }| j                  t        j                  |             y )	Nr   Tr   r   Fr   r   r   r   r   s       r   !test_float8_e4m3fnuz_out_of_rangez1TestNumpyHelper.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                   t        j                  d      }t        j                  |      }t	        j
                  |      }| j                  |d       t        j                  d      }t        j                  |d      }t	        j
                  |      }| j                  t        j                  |             t        j                  d      }t        j                  |      }t	        j
                  |      }| j                  |d       t        j                  d      }t        j                  |d      }t	        j
                  |      }| j                  t        j                  |             y )Nr   r   Fr   r   r   )	r   r   r   r   r   r4   r?   r   r   r   s       r   test_float8_e5m2_out_of_rangez-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                   t        j                  d      }t        j                  |dd      }t	        j
                  |dd      }| j                  |d       t        j                  d      }t        j                  |ddd      }t	        j
                  |dd      }| j                  t        j                  |             t        j                  d      }t        j                  |dd      }t	        j
                  |dd      }| j                  |d       t        j                  d      }t        j                  |ddd      }t	        j
                  |dd      }| j                  t        j                  |             y )	Nr   Tr   r   Fr   r   r   )	r   r   r   r   r   r4   r?   r   r   r   s       r   !test_float8_e5m2fnuz_out_of_rangez1TestNumpyHelper.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                   t        j                  d      }t        j                  |      }| j	                  |d       t        j
                  |      }| j	                  |d       t        j                  d      }t        j                  |d      }| j	                  |d       t        j
                  |      }| j	                  |d       y Nr   r   Fr   r   r4   r   r   r?   r'   r   s       r    test_float8_e4m3fn_negative_zeroz0TestNumpyHelper.test_float8_e4m3fn_negative_zero      ..t4))!,T"11"5q!..t4))!e<T"11"5q!r   c                   t        j                  d      }t        j                  |d      }| j	                  |d       t        j
                  |d      }| j	                  |d       t        j                  d      }t        j                  |dd      }t        j
                  |d      }| j	                  |d       | j	                  |d       y )Nr   Tr   r   Fr   r   r   s       r   "test_float8_e4m3fnuz_negative_zeroz2TestNumpyHelper.test_float8_e4m3fnuz_negative_zero  s    ..t4))!5Q11">q!..t4))!uE11">q!Qr   c                   t        j                  d      }t        j                  |      }| j	                  |d       t        j
                  |      }| j	                  |d       t        j                  d      }t        j                  |d      }| j	                  |d       t        j
                  |      }| j	                  |d       y r   r   r4   r   r   r?   r'   r   s       r   test_float8_e5m2_negative_zeroz.TestNumpyHelper.test_float8_e5m2_negative_zero  r   r   c                   t        j                  d      }t        j                  |dd      }| j	                  |d       t        j
                  |dd      }| j	                  |d       t        j                  d      }t        j                  |ddd      }| j	                  |d       t        j
                  |dd      }| j	                  |d       y )Nr   Tr   r   Fr   r   r   s       r   "test_float8_e5m2fnuz_negative_zeroz2TestNumpyHelper.test_float8_e5m2fnuz_negative_zero  s    ..t4))!>Q11"$Gq!..t4))!NQ11"$Gq!r   c                   t        j                  d      }t        j                  |      }| j	                  |d       t        j
                  |      }| j                  t        j                  |             t        j                  d      }t        j                  |d      }| j	                  |d       t        j
                  |      }| j                  t        j                  |             y Nr
   Fr   	r   r4   r   r   r?   r'   r   r   r   r   s       r   test_float8_e4m3fn_negative_nanz/TestNumpyHelper.test_float8_e4m3fn_negative_nan      ..s3))!,S!11"5'..s3))!e<S!11"5'r   c                   t        j                  d      }t        j                  |d      }| j	                  |d       t        j
                  |d      }| j                  t        j                  |             t        j                  d      }t        j                  |dd      }| j	                  |d       t        j
                  |d      }| j                  t        j                  |             y )Nr
   Tr   r   Fr   r   r   s       r   !test_float8_e4m3fnuz_negative_nanz1TestNumpyHelper.test_float8_e4m3fnuz_negative_nan  s    ..s3))!5T"11">'..s3))!uET"11">'r   c                   t        j                  d      }t        j                  |      }| j	                  |d       t        j
                  |      }| j                  t        j                  |             t        j                  d      }t        j                  |d      }| j	                  |d       t        j
                  |      }| j                  t        j                  |             y r   	r   r4   r   r   r?   r'   r   r   r   r   s       r   test_float8_e5m2_negative_nanz-TestNumpyHelper.test_float8_e5m2_negative_nan  r   r   c                   t        j                  d      }t        j                  |dd      }| j	                  |d       t        j
                  |dd      }| j                  t        j                  |             t        j                  d      }t        j                  |ddd      }| j	                  |d       t        j
                  |dd      }| j                  t        j                  |             y )Nr
   Tr   r   Fr   r   r   s       r   !test_float8_e5m2fnuz_negative_nanz1TestNumpyHelper.test_float8_e5m2fnuz_negative_nan  s    ..s3))!>T"11"$G'..s3))!NT"11"$G'r   c                   t        j                  t        j                  d      t        j                  d      d      }| j	                  |t
        j                         | j                  t        j                  |j                  j                  d         t        j                  d             | j                  t        j                  |j                  j                  d         t        j                  d             y )N皙??r   r   r   r   r   	from_dictr   rq   assertIsInstanceonnxMapProtor?   rA   valuestensor_valuesrE   	map_protos     r   ,test_from_dict_values_are_np_arrays_of_floatz<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                   t        j                  t        j                  d      t        j                  d      d      }| j	                  |t
        j                         | j                  t        j                  |j                  j                  d         t        j                  d             | j                  t        j                  |j                  j                  d         t        j                  d             y )Nr   	   r   r   r   r   s     r   *test_from_dict_values_are_np_arrays_of_intz:TestNumpyHelper.test_from_dict_values_are_np_arrays_of_int2  s     **rxx{rxx{+KL	i7!!)"2"2"@"@"CDbhhqk	
 	!!)"2"2"@"@"CDbhhqk	
r   c                @   t        j                  ddg      }t        j                  ddg      }t        j                  ||d      }| j	                  |t
        j                         t        j                  |j                  j                  d         }| j                  |d   |d          | j                  |d   |d          t        j                  |j                  j                  d         }| j                  |d   |d          | j                  |d   |d          y )Nr   r/   r   
   r   r   )r   rq   r   r   r   r   r   rA   r   r   r?   )rE   
zero_array	one_arrayr   
out_tensors        r   +test_from_dict_values_are_np_arrays_of_intsz;TestNumpyHelper.test_from_dict_values_are_np_arrays_of_ints<  s    XXq!f%
HHaW%	 **zi+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                    | j                  t              5  t        j                  ddd       d d d        y # 1 sw Y   y xY w)Nr   r   r   )assertRaises	TypeErrorr   r   rV   s    r   >test_from_dict_raises_type_error_when_values_are_not_np_arrayszNTestNumpyHelper.test_from_dict_raises_type_error_when_values_are_not_np_arraysJ  s8    y) 	5""ss#34	5 	5 	5s	   8Ac                    | j                  t              5  t        j                  t	        j
                  d      t	        j
                  d      d       d d d        y # 1 sw Y   y xY w)Nr   r   )r   g?r  r  r   r   r   rq   rV   s    r   "test_from_dict_differing_key_typesz2TestNumpyHelper.test_from_dict_differing_key_typesO  sL    y) 	K""rxx}288C=#IJ	K 	K 	K   ?AA'c                    | j                  t              5  t        j                  t	        j
                  d      t	        j
                  d      d       d d d        y # 1 sw Y   y xY w)Nr   r   r   r
  rV   s    r   $test_from_dict_differing_value_typesz4TestNumpyHelper.test_from_dict_differing_value_typesT  sL    y) 	G""rxx{rxx}#EF	G 	G 	Gr  c                8   t        j                  t        j                  t        j                  ddgdg|      gdt        j                  dt
        j                  j                  dg      gt        j                  d|dg      g            }t
        j                  j                  |      }|j                  d dt        j                  g dt        j                        i      }t        j                  |d	   d
      }| j!                  |j"                  |       t        j$                  |      }| j!                  |d	   j&                  |j&                         |r)| j!                  |d	   j(                  |j(                         t        j                  |d
      }| j!                  |j"                  |j"                         | j!                  |j*                  |j*                         | j!                  t-        |j.                        t-        |j.                               | j!                  t1        |j.                        t1        |j.                               | j!                  |j.                  |j.                         | j!                  t3        |j4                        t3        |j4                               | j!                  |j7                         |j7                                | j!                  |j"                  t        j8                  |j(                               y )NCastXY)r   r:   r2   )r   r   r   r   )rF   r   check)r@   )r   
make_model
make_graph	make_nodemake_tensor_value_infor   TensorProtoFLOAT	referenceReferenceEvaluatorrunr   rq   r   r   r>   r?   	data_typerA   shaperF   r@   lenraw_datalisttupledimsSerializeToStringnp_dtype_to_tensor_dtype)	rE   valuecheck_dtype
onnx_modelrefstarttpr   agains	            r   _to_array_from_arrayz$TestNumpyHelper._to_array_from_arrayY  s+   &&!!&3%#5AB..sD4D4D4J4JQCPQ..sEA3?@	

 nn//
;sBHH]"**$MNO$$U1XG<u-$$R(q4U1X^^TZZ8''7;u7%**-R[[)3u~~+>?bkk*D,@Aenn5rwwuzz):;--/1H1H1JKv'F'Ftzz'RSr   c                    |dv ry |d   dk  s|d   dkD  ry t        t        j                  |      }t        |t              sy | j                  |       y )N>   INT4UINT4STRINGDEFAULT	UNDEFINEDNAME_FIELD_NUMBERr   AZ)getattrr   r  r   r   r-  )rE   attr&  s      r   test_to_array_from_arrayz(TestNumpyHelper.test_to_array_from_arrayt  sY     
 
 q6C<3q6C<((#.%%!!%(r   c                    | j                  t        j                  j                         | j                  t        j                  j                         y rT   )r-  r   r  r/  r0  rV   s    r    test_to_array_from_array_subtypez0TestNumpyHelper.test_to_array_from_array_subtype  s6    !!$"2"2"7"78!!$"2"2"8"89r   c                X    | j                  t        j                  j                  d       y )NF)r-  r   r  r1  rV   s    r   test_to_array_from_array_stringz/TestNumpyHelper.test_to_array_from_array_string  s    !!$"2"2"9"95Ar   N)rF   z	np.numberreturnNone)r>  r?  )T)r&  r   r'  rv   )7__name__
__module____qualname__rJ   rR   rW   r[   r_   rb   re   rh   rk   rt   rw   ry   r|   r   parameterizedexpandr   r   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  r  r  r-  dirr   r  r9  r;  r=  ).0r8  s   00r   r6   r6   Y   s   ..7324333..79:   ''VVIVVI	
	)	)$1L   ''	
((
*1X(.(*!0(*(*(*(*(*" ""((((

65
K
G
T6   ''3t?O?O;P(QC#(QR) S)$:B/ )Rs   
D3
r6   __main__r/   )	verbosity)r   r   r>  r   )
__future__r   unittesttypingr   numpyr   rC  r   onnx.referencer   r   r   r'   r4   TestCaser6   r@  main r   r   <module>rQ     sb    #       %6>sBh'' sBl zHMMA r   