
    Ph`                     f    d dl Z d dlZd dlZd dlmZmZmZmZ d dlm	Z	m
Z
mZmZ d Z G d d      Zy)    N)uint16float16float32float64)assert_assert_equal_OLD_PROMOTIONIS_WASMc                     	  ||i | t        dd| z         y # t        $ r4}t        t        |      j                  |       dk\  d| z         Y d }~y d }~ww xY w)NFz%Did not raise floating point %s errorr   )r   FloatingPointErrorstrfind)strmatchcallableargskwargsexcs        eC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_half.pyassert_raises_fper   	   si    D$!&!
 	7(B	D	  DCh'1,7(B	D 	DDs    	A*AAc                   z   e Zd Zd Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Z	ej                  j                  dg d	      ej                  j                  d
g d	      ej                  j                  de
j                  e
j                  g       e
j                         d                             Zej                  j                  g de
j                  e
j                  dfe
j                  e
j                   dfg      d        Zd Zd Zd Zd Zd Zd Zd Zd Z e
j                         d        Zej                  j7                   ej:                         dk(  d      ej                  j7                  ed      d               Zd Z y )!TestHalfc           	         t        j                  dt              | _        t        | j                  _        t        j                  | j                  t              | _        t        j                  | j                  t              | _
        t        j                  t        j                  dddt              t        j                  dddt              f      | _        t        | j                  _        t        j                  | j                  t              | _        t        j                  | j                  t              | _        | j                  dd | _        | j                  dd | _        | j                  dd | _        y )	Ni   dtype   i  r   i|     )nparanger   all_f16r   r   arrayr   all_f32r   all_f64concatenate	nonan_f16	nonan_f32	nonan_f64
finite_f16
finite_f32
finite_f64)selfs    r   setup_methodzTestHalf.setup_method   s    yy7$xxG<xxG< !#662V!L!#661F!K!MN  '$..@$..@ ..2...2...2.    c                 P   t        j                  | j                  t              }t	        | j
                  j                  t              |j                  t                     t        j                  | j                  t              }t	        | j
                  j                  t              |j                  t                     t        j                  | j                  t         j                        }t        j                  |t              }t	        | j                  j                  t              |j                  t                     t        j                  dd      }t        j                  |t              }t        j                  |t              }t	        ||       y)z[Checks that all 16-bit values survive conversion
           to/from 32-bit and 64-bit floatr   i i  N)r   r!   r"   r   r   r    viewr   r#   r%   
longdoubler   int)r+   ba_ldi_inti_f16js         r   test_half_conversionszTestHalf.test_half_conversions(   s    HHT\\1T\\&&V&4VV&V)	+ HHT\\1T\\&&V&4VV&V)	+ xxbmm<HHT)T^^((v(6VV&V)	+ 		%&g.HHU#&UAr-   	string_dtSUc                 b   t        j                  | d      }t        j                  t         j                  |      |k(  sJ t        j                  |t         j                        |k(  sJ t        j                  dt         j                        j                  |      }|j                  |k(  sJ y )N32   r   )r   r   promote_typesr   onesastype)r+   r8   expected_dtarrs       r   test_half_conversion_to_stringz'TestHalf.test_half_conversion_to_stringF   s     hh)B/0

I6+EEE	2::6+EEEggarzz*11)<yyK'''r-   c                     t        j                  d|      }|j                  t         j                        t        j                  dt         j                        k(  sJ y )Nz3.1416r   gH.!	@)r   r!   r@   r   )r+   r8   strings      r    test_half_conversion_from_stringz)TestHalf.test_half_conversion_from_stringP   s<    ()4}}RZZ(BHHV2::,NNNNr-   offset)Nupdownshiftfloat_tc                 :   t        j                  t        j                  t         j                        j                        j	                  t         j
                        }t        j                  d|dz   t         j
                        }|j	                  t         j                        j                  |      }|dk(  rd|d d |dd  z   dd  z  }n|dk(  rd|d d |dd  z   d d z  }n|dd }|dk(  r+t        j                  | |t         j                              }n0|dk(  r+t        j                  | |t         j                               }|j                  t         j                        j	                  t         j
                        }|dd j                         }|dk(  r|dk7  rd}	n|dk(  r|dk7  rd}	nd}	|1|dd d   j	                  t         j                        d	xx   |	z  cc<   n*|j	                  t         j                        d	xx   |	z  cc<   t        ||       y )
Nr   r   r   rH         ?r   rI      .)r   r   finfomaxr/   r   r   r@   	nextafterinfcopyint16r   )
r+   rK   rJ   rG   max_patternf16s_patterns
f16s_floatres_patternscmp_patternsshift_patterns
             r   test_half_conversion_roundingz&TestHalf.test_half_conversion_roundingU   s    jj"**!5!9!9:??		J 		![]"))D"''

3::7C
 D=
3B*QR. @!"EEJf_
3B*QR. @#2FFJ#Ab)J T>j'"&&/BJvj'266'2BCJ "((499"))D %Qr*//1F?v~Md]v/M M >A##BHH-c2mC2bhh',=,\<0r-   )rK   uint_tbits   4   c                    t        j                  d      j                  t         j                        j	                  |      }|dk(  sJ | |d      z  }|j	                  t         j                        dk(  sJ t        |      D ]T  }|j                  |       |d|z        z  }|j                  |      }|j	                  t         j                        |k(  rTJ  y )Nr         p>rN   r   )r   r   r/   r   r@   range)	r+   rK   r\   r]   smallest_valuerounded_to_zeroilarger_patternlarger_values	            r   (test_half_conversion_denormal_round_evenz1TestHalf.test_half_conversion_denormal_round_even   s     1**2::6==gF''' )71:5%%bjj1Q666 tA,11&9F16NJN)..w7L&&rzz2nDDD	 r-   c                    t        j                  d      5  t        t        j                  | j                        t        j                  | j
                               t        t        j                  | j                        t        j                  | j
                               t        t        j                  | j                        t        j                  | j
                               t        t        j                  | j                        t        j                  | j
                               t        t        j                  t        d            t         j                         t        t         j                        }t        | j                  |k(  j                                 t        || j                  k(  j                                 t        | j                  |k7  j                                t        || j                  k7  j                                t        | j                  |k  j                                 t        || j                  k  j                                 t        | j                  |k  j                                 t        || j                  k  j                                 t        | j                  |kD  j                                 t        || j                  kD  j                                 t        | j                  |k\  j                                 t        || j                  k\  j                                 d d d        y # 1 sw Y   y xY w)Nignoreall  )r   errstater   isnanr    r"   isinfisfinitesignbitspacingr   rR   nanr   anyrl   )r+   rt   s     r   test_nans_infszTestHalf.test_nans_infs   s*   [[X&$,,/$,,1GH$,,/$,,1GHT\\2BKK4MNDLL12::dll3KLGEN3RVV< "&&/C,11334,11334T\\S(--/0SDLL(--/0+00223t||+00223,11334,11334+00223t||+00223,11334,113347 '&&s   L:MM#c                     t        j                  ddddddddd	d
ddddt         j                  t         j                   g      }t        j                  g dt              }t        |_        t        ||       y)z,Confirms a small number of known half values      ?             @g       g     ?     T?rm           ?      ra   g      pr   g       )i <  i   i @  i   if.  iU5  i{  i     i   r   i  r       |  r   r   N)r   r!   rR   r   r   r   r   r+   ar2   s      r   test_half_valueszTestHalf.test_half_values   ss    HHc44%~V + +ffrvvg' ( HH & .45 Qr-   c                    t        j                  g dt              }dddddddt         j                  g}t        j                  d	      5  t        j                  |t
              }d
d
d
       t        |       t        j                  |t              }t        j                  d	      5  t        j                  |t
              }d
d
d
       t        ||       y
# 1 sw Y   wxY w# 1 sw Y   "xY w)z7Checks that rounding when converting to half is correct)g     `>g      `>g      P>g    ?g     ?g     ?i  i  r   ra   g        g     ?rx   rm   rj   )overN)r   r!   r   rR   rn   r   r   r   )r+   r   roundedr2   s       r   test_half_roundingzTestHalf.test_half_rounding   s    HH  $% !66 [[h''*A (Q  HHQg&[[h''*A (Q  (' ('s   C-C*C'*C3c           	         | j                   j                  t              }d|dz  dz	  z  }t        j                  |dz  dz	  t        j
                        dz
  }|dz  dz  }||d	k7  xx   d
z  cc<   d||d	k(  <   ||z  d|z  z  }t        j                  | j                  |k7        d   }t        |      dk7  r?|d   }t        | j                  |d| j                   |   | j                  |   ||   fz         t        j                  | j                  |k7        d   }t        |      dk7  r@|d   }t        | j                  |d| j                   |   | j                  |   ||   fz         yy)z_Take every finite float16, and check the casting functions with
           a manual conversion.r   ry   r      r   
   i  g      P?ir   irz   r   z,First non-equal is half value %x -> %g != %gN)r(   r/   r   r   r!   int32nonzeror)   lenr   r*   )	r+   a_bitsa_sgna_expa_mana_manuala32_fail	bad_indexa64_fails	            r   test_half_correctnesszTestHalf.test_half_correctness   sw   
 %%F%3 &6/b01&6/b0ABF&J.eslq !esl5=3:-::doo9:1=x=A I(?!__Y7!__Y7%i0223 ::doo9:1=x=A I(?!__Y7!__Y7%i0223 r-   c                    | j                   ddd   j                         }t        j                  |t              }|j                          |j                          t        ||       t        |dd |dd k  j                                t        |dd |dd kD  j                                 t        |dd |dd k\  j                                t        |dd |dd k  j                                 t        t        j                  |dd |dd k        d   j                  |j                  dz
         t        t        j                  |dd |dd kD        d   j                  |j                  dz
         y)z'Make sure comparisons are working rightNr   r   r   r   rN   )r%   rS   r   r!   r   sortr   r   rl   ru   r   sizer   s      r   test_half_orderingzTestHalf.test_half_ordering  sG    NN4R4 %%' HHQg& 	
	Q 	3B1QR5%%'(QsVae^((**+12!CR&%%'(QqrUQsV^((**+RZZ#212/277BRZZ!"#2/277Br-   c           
         t        t        j                  dt              t        j                  dt                     t        j
                  dt              }|j                  d       t        |t        j                  dt                     t        j                  g dt              }t        |j                         d   g d       |j                         j                         }t        |j                         d   g d       t        j                  dddt              }t        j                  d	t              }t        t        j                  ||      d
       t        j                  dt        j                   ddddddgt              }t        |j                         d       t        j                  dt        j                   dt        j                  dt        j                  ddgt              }t        |j                         d       t        j                  dt              }t!        d      D ]  }t        |j#                  |      |        y)zTest the various ArrFuncsr   r   )   r   )r   r   r   g#Bǻr   ra   gT>r   )rN   r      rM   )   _   g)@g333333@g @g(@   r   N)r   r   r   r   r   zerosfillr?   r!   r   byteswapnewbyteorderdotrR   argmaxrt   rb   item)r+   r   r2   re   s       r   test_half_funcszTestHalf.test_half_funcs2  s    	RYYr1YYr1	3 HHT)	q	QG45 HH?wOQYY[^	 JJL%%'QYY[^	  IIaS0GGE)RVVAq\	 HHa"&&"c5#sDAQQXXZ	HHa"&&"bffeRVVS$GwWQXXZ	 IIb(rAA& r-   c                    t        j                  dt              }t        j                  t         j                  ft
              }t        j                  t         j                  ft
              }|j                  t
              }t        t        j                  |dd       |dd |dd z
         t        t        j                  |dd |      |dd        t        t        j                  |d   |       |d           t        t        j                  |dd |       |dd        t        t        j                  ||      |d          t        t        j                  | |      |d           t        t        j                  ||      |       t        t        j                  ||       |d          t        t        j                  | |      |d           t        t        j                  | |       |        t        t        j                  ||      |d          t        t        j                  ||      |d          t        t        j                  ||      |       t        t        j                  ||      |       t        t        j                  ||      |       |dz  }t        t        j                  |d         t        j                  |d                t        t        j                  |dd       |dd |dd z
         t        t        j                  |d   |      |d           t        t        j                  |dd |      |dd        t        t        j                  |dd |       |dd        t        t        j                  ||      |d           t        t        j                  | |      |d          t        t        j                  ||      |d          t        t        j                  ||      |d          y)z Test np.spacing and np.nextafterr   r   Nr   r   r   r   )r   r   r   r!   rR   r   rt   r/   r   rs   rQ   )r+   r   hinfhnana_f16s        r   test_spacing_nextafterzTestHalf.test_spacing_nextafterY  s    IIfF+xx	1xx	1W%RZZcr
+U12YuSbz-ABR\\%*d3U12Y?R\\%(TE2U1XI>R\\%)dU3U3BZ@R\\$.b	:R\\4%/%)<R\\$-t4R\\$.b	:R\\4%.r
;R\\4%$/$7R\\%.Q8R\\$.Q8R\\$-t4R\\$-t4R\\$-t4 	
VRZZa)2::eAh+?@RZZab	*E#2JuQRy,@AR\\%(D1E!H9=R\\%)T2E#2J?R\\%*te4eABi@R\\$.r
;R\\4%/r;R\\%.Q8R\\$.Q8r-   c                    t        j                  g dt              }t        j                  g dt              }t        j                  ddt         j                   t         j                  dgt              }t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d	       t        t        j                  ||      g d
       t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                  ||      g d       t        t        j                   ||      g d       t        t        j"                  ||      g d       t        t        j$                  ||      g d       t        t        j&                  |      g d       t        t        j(                  |      g d       t        t        j*                  |      g d       t        t        j,                  |      g d       t        t        j.                  |      g d       t        t        j0                  ||      g d       t        t        j2                  ||      g d       t        j2                  ||      }t5        t        j(                  |d                d|d<   t        |g d       t        t        j6                  ||      g d       t        j6                  ||      }t5        t        j(                  |d                d|d<   t        |ddt         j                   ddg       t        t        j8                  ||      g d       t        t        j8                  ||      g d       t        t        j:                  ||      g d       t        t        j:                  ||      ddt         j                   ddg       t        t        j<                  ||      g d       t        t        j>                  ||      g d       t        t        j@                  ||      g dg df       t        t        jB                  |      g d        t        t        jD                  |      g d!       t        t        jF                  |      g d"       t        t        jH                  |      |       t        t        jJ                  |      g d       t        t        jL                  |      g d#       t        t        jN                  |      |       t        t        jP                  |      g d$       t        t        jR                  |      g d%|f       t        t        jT                  |      g d&g d'f       t        t        jV                  |g d      g d(       y))*zTest the various ufuncs)r   r   rN   r   rN   r   )r   r   r   r   r=   r   r   r   )r   r   r=      r   )rN   r   r   r   )r   r   rN      r   )r        ?rN   r   g     T?)FFFTF)TTTFT)FTFFT)FTFTT)TFTFF)TFTTF)FTTTT)TTTTT)TFFFF)FFTFF)TTFFT)rN   r   r   r   r=   )r   r   rN   r   r=   r=   )r   r   r   r   r   )r   r   r   r   rN   r   )r   r   r   r   r   r   )r   r   rN   r   r   )r   r   r   r   rN   )r      r   r   	   )      r   r   g      ?r{   )r   r   r   r   r   )rN   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   g      ?rM   rM   g      ?)rN   r=   r   r=   rN   )r   r   r   @      N),r   r!   r   rR   rt   r   addsubtractmultiplydivideequal	not_equalless
less_equalgreatergreater_equallogical_and
logical_orlogical_xorlogical_notro   rp   rq   rr   copysignmaximumr   minimumfmaxfminfloor_divide	remainderdivmodsquare
reciprocal	ones_like	conjugateabsolutenegativepositivesignmodffrexpldexp)r+   r   r2   cxs        r   test_half_ufuncszTestHalf.test_half_ufuncs  s    HH_G4HH%W5HHabffWbffa0@RVVAq\#34R[[A&(9:R[[A&(89RYYq!_&NORXXa^%GHR\\!Q')HIRWWQ]$EFR]]1a(*JKRZZ1%'HIR%%a+-MNR^^Aq)+JKR]]1a(*HIR^^Aq)+MNR^^A&(JKRXXa["DERXXa["DER[[^%EFRZZ]$FGR[[A&8RZZ1%7JJq!1!Q(RZZ1%'78JJq!1!QR"&&!Q/0RWWQ]O4RWWQ]O4RWWQ]$45RWWQ]RbffWa$;<R__Q*O<R\\!Q'9RYYq!_&HIRYYq\#45R]]1%'VWR\\!_o6R\\!_a(R[[^_5R[[^%89R[[^Q'RWWQZ!12RWWQZ/1!56RXXa[#@/"RSRXXa13FGr-   c                     t        j                  dt              }t        j                  dt              }t        d      }t        d      }t        j                  |d      j
                  t        k(  sJ t        j                  |d      j
                  t        k(  sJ t        j                  ||      j
                  t        k(  sJ |rt        nt        }t        j                  ||      j
                  |k(  sJ t        j                  ||      j
                  t        k(  sJ t        j                  ||      j
                  t        k(  sJ |rt        nt        }t        j                  |d      j
                  |k(  sJ t        j                  |d      j
                  |k(  sJ t        j                  ||      j
                  sJ t               t        j                  ||      j
                  sJ t               t        j                  ||      j
                  sJ t               t        j                  ||      j
                  sJ t               t        j                  ||      j
                  t        k(  sJ t        j                  ||      j
                  t        k(  sJ |rt        nt        }t        j                  ||      j
                  |k(  sJ t        j                  ||      j
                  t        k(  sJ y)z9Test that half gets coerced properly with the other typesr   r   r   rN   rz   N)r   r!   r   r   powerr   r   )r+   weak_promotiona16a32b16b32rA   s          r   test_half_coercionzTestHalf.test_half_coercion  sA    hht7+hht7+ajajxxQ%%000xxS!''7222xxS!''7222!/gWxxS!'';666xxS!''7222xxS!''7222!/gWxxQ%%444xxS!'';666xxS!''00'xxS!''00'xxS!''00'xxS!''00'xxS!''7222xxS!''7222!/gWxxS!'';666xxS!''7222r-   armv5telzSee gh-413.)reasonz!fp exceptions don't work in wasm.c           	      @   t        j                  d      5  t        j                  dt              }t        j                  dt              }t        d      }t        d      }t	        dd	 ||       t	        dd
 ||       t	        dd ||       t	        dd ||       t	        dd ||       t	        dd ||       t	        dd ||       t	        dd ||       t	        dd t        d      t        d             t	        dd t        d      t        d             t	        dd t        d      t        d             t	        dd t        d      t        d             t	        dd t        d      t        d             t	        dd ||       t	        dd  ||       t	        dd! ||       t	        dd" ||       t	        dd# ||       t	        dd$ ||       t	        dd% ||       t	        dd& ||       t	        dd' t        d(      t        d)             t	        dd* t        d+      t        d)             t	        dt         j
                  t        d(      t        t         j                               t	        dt         j
                  t        d+      t        t         j                                t	        dt         j                  t        d(             t	        d,t         j                  t        t         j                        t        t         j                               t	        d,t         j                  t        t         j                               t	        d,t         j                  t        t         j                               t        d-      t        d.      z    t        d/      t        d      z   t        d      t        d0      z   t        j                  t        d+             t        j
                  t        d(      t        t         j                                t        j
                  t        d+      t        t         j                               t        j
                  t        t         j                        t        d1             t        j
                  t        t         j                         t        d1             t        j
                  t        d1      t        t         j                               t        j
                  t        t         j                        t        d1             t        d      t        d0      z   t        d      t        d0      z   t        d      t        d      z   t        d2      t        d      z   d d d        y # 1 sw Y   y xY w)3Nraiserk   )-C6?r   )     @r   r   	underflowc                     | |z  S N r   r2   s     r   <lambda>z(TestHalf.test_half_fpe.<locals>.<lambda>      qsr-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   r}   i   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   r~   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   g     ?rN   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r   r-   g     c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>   r   r-   g     ?r   overflowc                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>      acr-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>	  r  r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>
  r  r-   c                     | |z  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   c                     | |z   S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   rm      c                     | |z
  S r   r   r   s     r   r   z(TestHalf.test_half_fpe.<locals>.<lambda>  r  r-   r|   invalidi      g       ?r   r   g     )
r   rn   r!   r   r   rQ   rR   rs   r   rt   )r+   sx16bx16sy16by16s        r   test_half_fpezTestHalf.test_half_fpe  s   
 [[W%88G73D88F'2D4=D3<D k?D$Gk?D$Gk?D$Gk?D$Gk?D$Gk?D$Gk?D$Gk?D$Gk?-4W-=wu~Ok?-4X->Pk?-4^-DgajRk?-4_-EwqzSk?-4^-DgajR j/4Fj/4Fj/4Fj/4Fj/4Fj/4Fj/4Fj/4Fj/-4U^WR[Jj/-4V_gbkKj",,PRPVPVXj",,RTRXRXQXIYZj"**genE iGBFFOWRVV_UiWRVV_EiWRVV_E EN72;&FOGAJ&FOGEN*JJwv'LL"&&)9:LL'"&&/:LL'!*5LL"&&)71:6LLWRVV_5LL'!*5FOGEN*GWU^+M"71:-N#GAJ.} &%%s   U4VVc                      G d d      }t        j                  dt              } |       }|j                  |_        t        j                  |      }t        |j                  t        k(         t        ||       y)z5Test that half is compatible with __array_interface__c                       e Zd Zy)1TestHalf.test_half_array_interface.<locals>.DummyN)__name__
__module____qualname__r   r-   r   Dummyr  +  s    r-   r  r   r   N)r   r?   r   __array_interface__r!   r   r   r   )r+   r  r   r2   r   s        r   test_half_array_interfacez"TestHalf.test_half_array_interface)  s[    	 	 GGD(G ! 5 5HHQK7"#Qr-   N)!r  r  r  r,   r7   pytestmarkparametrizerC   rF   r   r   r   _no_nep50_warningr[   uint32uint64rh   rv   r   r   r   r   r   r   r   r   skipifplatformmachiner
   r  r  r   r-   r   r   r      s   /(< [[[3*5( 6( [[[3*5O 6O [[X';<[[W&:;[[YRZZ(@AR31  B < =31j [[:!zz299b9!zz299b9;<E<E(5<*!>"3HC.%'N+9Z>H@ R3 3: [[(((*j8,  .[[B  D?/D.?/B
r-   r   )r&  r  numpyr   r   r   r   r   numpy.testingr   r   r	   r
   r   r   r   r-   r   <module>r*     s,       3 3 H HD` `r-   