o
    ҷh                     @   s  d dl mZ d dlm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
Z
d dlmZ d dlmZ d dlmZmZmZ d dlZd dlmZmZmZmZmZmZmZmZmZmZ d dlm Z! d d	l"m#Z#m$Z$m%Z%m&Z&m'Z' G d
d dZ(G dd dZ)G dd dZ*e
j+,dg ddd Z-e
j+,de!. dd Z/dd Z0dd Z1e
j+,dde	j2e	j3e	j4gdd Z5e
j+,de#i ggdd  e!j6D ei gei ged!d"igd#d$ Z7e
j+,d%ej8ej9gd&d' Z:dS )(    )defaultdict)datetime)StringION)IS64)InvalidIndexError)is_any_real_numeric_dtypeis_numeric_dtypeis_object_dtype)
CategoricalIndex	DataFrameDatetimeIndexIntervalIndexPeriodIndex
RangeIndexSeriesTimedeltaIndex
date_rangeperiod_range)Index
MultiIndex_get_combined_indexensure_indexensure_index_from_sequencesc                   @   s  e Zd ZejdefddZdd Zejj	ddgdd	d
d Z
dd Zejj	ddgdd	dd Zejj	ddgdd	dd Zej	dddgej	deddddddeddddejddddeddddgdd Zej	d eddddd!dfejdddddfedddddfgd"d# Zd$d% Zd&d' Zd(d) Zej	d*eejejfed+ejfgd,d- Zej	d.g d/d0fd1ejd2d3gd4fd5d6d7ejgd8fgd9d: Zej	d;d<d=gej	d>eegd?d@ Zej	d;d<d=gej	d>eegdAdB Z ej	dCg e!g dDdE dFD gej	d>ee"eegdGdH Z#ej	dIe$g ddJe$fe$e!g ddJe$fe$dKdE dFD ddJe$fe%dLdMe%fe&dLdNgdOdPggg g gdQe&fgdRdS Z'ejj	dg dTdd	dUdV Z(ejj	ddej)dWejj*dXdYdZd[d\d]gdd	d^d_ Z+ejj	dg d`dd	dadb Z,dcdd Z-ej	deedfdggeg dhg digdjdk Z.dldm Z/dndo Z0dpdq Z1ejj	ddgdd	drds Z2dtdu Z3ejj	dg dvdd	ej	dwe4ej5gdxdy Z6ejj	dg dvdd	dzd{ Z7d|d} Z8d~d Z9dd Z:ej	d;g ddd Z;dd Z<ej	ddd dd gdd Z=ej	ddd dd gej>ddd Z?ej	de@g dg ddddddgdd ZAdd ZBdd ZCej	dddgdd ZDejj	dg ddgd	dd ZEejj	dg ddgd	dd ZFdd ZGdd ZHej	dg dg digdd ZIej	dddgdd ZJejj	dg ddd	dd ZKejj	dg ddd	ej	dddgddggdd ZLejj	dg ddd	dd ZMdd ZNddĄ ZOej	ddeg dǢfg dȢedLdNgfgddʄ ZPej	d<g dˢg d̢g d͢gej	dddfgdfdggddф ZQej>dddӄ ZRej	d;g dԢddք ZSej	d<g dעh dأgej	deg dڢeTg dۢfeg ejTg eUd܍fgddބ ZVdd ZWdd ZXej	dddgej	deg dڢeg dejd܍gdd ZYdd ZZej	ddddejgdd Z[ej	d]g e@e\d܍eTg gdd Z]ej	d<g dg dg dg deddddgdd Z^ejj	ddgdd	ej	dddgdd Z_dd Z`ejj	dg d dd	dd Zaej	dg ddd Zbej	deecdedede&fd	d
geddd5dgdd Zgej	ddeg diddgdggfdeg diddgdggfde&fdiddejfdejejfgfgdd Zhdd Zidd Zjej	deekddfeecdƃdfgdd Zldd Zmd d! Znd"d# Zod$d% Zpd&d' Zqej	d(ddgej	d)g eTg g d*g d+eTg d*eTg d+ed,dd-jred,dd-s gd.d/ Ztej	d)g eTg ejTg ejud܍gd0d1 Zvej	d2eg ejwfgd3d4 Zxd5d6 Zyd7d8 Zzd9d: Z{d;d< Z|ej	d=e&fd>d?geTddgfe&fd>d@geTddgfgdAdB Z}dCdD Z~ej	de&fg dEeg dFgdGdH ZdIdJ Zej	dKejdLdMgfejdNdOgfgdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zej	d\dLejddddgfdNejejd]d]d]gfdejejejd^d^gfgd_d` Zej	dadg dbfdLg dcfdNg ddfgdedf ZdS (g  	TestIndexreturnc                 C   s   t tdS )Nabcde)r   listself r   Q/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/indexes/test_base.pysimple_index,      zTestIndex.simple_indexc                 C   s"   |}|d }| |du sJ d S )Nr   T)$_can_hold_identifiers_and_holds_name)r   r!   indexkeyr   r   r    test_can_hold_identifiers0   s   z#TestIndex.test_can_hold_identifiersr$   r   T)indirectc                 C   sD   t jtdd |d d d f  W d    d S 1 sw   Y  d S )NMulti-dimensional indexingmatch)pytestraises
ValueErrorr   r$   r   r   r    test_new_axis5   s   "zTestIndex.test_new_axisc                 C   s   t || d S N)tmassert_contains_allr.   r   r   r    test_constructor_regular=   s   z"TestIndex.test_constructor_regularstringc                 C   s.   t |}t|}t|| t|| d S r0   )nparrayr   r1   r2   assert_index_equalr   r$   arr	new_indexr   r   r    test_constructor_casting@   s   
z"TestIndex.test_constructor_castingc                 C   s^   t |}t|ddd}t|tsJ |jdksJ t||j d|d< |d dks-J d S )NTnamecopyr<   SOMEBIGLONGSTRINGr   )r5   r6   r   
isinstancer<   r1   assert_numpy_array_equalvaluesr8   r   r   r    test_constructor_copyH   s   
zTestIndex.test_constructor_copycast_as_objFz2015-01-01 10:00D   z
US/EasternzGreen Eggs & Ham)freqperiodstzr<   )rG   rH   1 daysz
2015-01-01c                 C   s   |r
t |t}nt |}t|| t|trC|j|jks!J |rE|tj	dd7 }t |td}|j
tjks9J t|t|ksGJ d S d S d S )N2   )nanosecondsdtype)r   astypeobjectr1   r7   r@   r   rI   pd	TimedeltarN   r5   object_r   )r   rD   r$   resultr   r   r    "test_constructor_from_index_dtlikeR   s   
z,TestIndex.test_constructor_from_index_dtlikezindex,has_tz)rG   rH   rI   c                 C   s4   t t|}t|| |r|j|jksJ d S d S r0   )r   r   r1   r7   rI   )r   r$   has_tzrT   r   r   r    #test_constructor_from_series_dtlikeu   s   z-TestIndex.test_constructor_from_series_dtlikec                 C   s>   g d}t |dd}tt|}t |dd}t|| d S )Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990MSrG   )r   r   rQ   to_datetimer1   r7   )r   dtsexpectedsrT   r   r   r    !test_constructor_from_series_freq   s
   z+TestIndex.test_constructor_from_series_freqc                 C   s   g d}t |dd}ttjdd}||d< t |d dd}|d jtks*J d|_t	|| t
|dd}t|d | t|d }|dksNJ d S )NrX   rY   rZ      )   rF   dater<   )r   r   r5   randomdefault_rngrN   rP   r<   r1   r7   r   assert_series_equalrQ   
infer_freq)r   r\   r]   dfrT   rG   r   r   r    'test_constructor_from_frame_series_freq   s   z1TestIndex.test_constructor_from_frame_series_freqc                 C   s2   t jg}t|t jd}t|dd}t|| d S )NrM   float)r5   nanr   float64r1   r7   )r   datar]   rT   r   r   r    test_constructor_int_dtype_nan   s   z(TestIndex.test_constructor_int_dtype_nanzklass,dtype,na_valzdatetime64[ns]c                 C   sP   ||g}||}|j |ksJ t|}t|| tt|}t|| d S r0   )rN   r   r1   r7   r5   r6   )r   klassrN   na_valna_listr]   rT   r   r   r    test_index_ctor_infer_nan_nat   s   	z'TestIndex.test_index_ctor_infer_nan_natz
vals,dtype   r`   rF      ra   intg?g@      @rj   ABCobjc                 C   s*   t ||d}||j|}t|| d S )Nrc   )r   _simple_newrB   r1   r7   )r   valsrN   r$   rT   r   r   r    test_constructor_simple_new   s   	z%TestIndex.test_constructor_simple_newattrrB   asi8ro   c           
      C   sR  t ddd}t||}||}|j}|d u}d}|dkr+t||}	t|	| n.|tu rMtj	t
dd |||d W d    n1 sGw   Y  n|||d}	t|	| |dkr|r~tj	t
|d t|| W d    n1 sxw   Y  nt||}	t|	| n|||d	}	t|	| |dkrtt||}	t|	| n0|tu rtj	t
dd |||d W d    n1 sw   Y  n|t||d}	t|	| |dkr|rtj	t
|d tt|| W d    d S 1 sw   Y  d S tt||}	t|	| d S |t||d	}	t|	| d S )
N
2011-01-01ra   rH   z:Cannot use .astype to convert from timezone-naive dtype tor   zunexpected keywordr)   )rI   rM   )r   getattrtz_localizerN   r   r1   r7   r   r+   r,   	TypeErrorrO   r   )
r   tz_naive_fixturer   ro   r$   argrN   errmsgrT   r   r   r     test_constructor_dtypes_datetime   sZ   


$z*TestIndex.test_constructor_dtypes_datetimec                 C   s`   t jddd}|d }|j}t||}|||d}t|| |t||d}t|| d S )NrJ   ra   r   rM   )rQ   timedelta_range
_with_freqrN   r   r1   r7   r   )r   r   ro   r$   rN   rB   rT   r   r   r    !test_constructor_dtypes_timedelta
  s   

z+TestIndex.test_constructor_dtypes_timedeltavaluec                 c       | ]}|V  qd S r0   r   .0_r   r   r    	<genexpr>      zTestIndex.<genexpr>r   c                 C   s&   ||}t ||sJ t|rJ d S r0   r@   len)r   r   ro   emptyr   r   r    test_constructor_empty  s   z TestIndex.test_constructor_emptyzempty,klassrZ   c                 c   r   r0   r   r   r   r   r    r   -  r   rt   )stepr`   bluered)levelscodesc                 C   s   t ||sJ t|rJ d S r0   r   )r   r   ro   r   r   r    test_constructor_empty_special(  s   z(TestIndex.test_constructor_empty_special)r   rl   float32int64int32periodrangerepeats	timedeltatuplesuint64uint32c                 C   s   | d d S )Ni8)viewr.   r   r   r    test_view_with_args6  s   zTestIndex.test_view_with_argscategoricalzgh-25464)reason)marksbool-object
bool-dtyper   c                 C   s   |j tkr&d}tjt|d |d W d    d S 1 sw   Y  d S d}tjt|d |d W d    d S 1 s@w   Y  d S )NzWhen changing to a larger dtyper)   r   z(Cannot change data-type for object array)rN   boolr+   r,   r-   r   r   r   r$   r   r   r   r    'test_view_with_args_object_array_raisesK  s   
""z1TestIndex.test_view_with_args_object_array_raises)r   r   r   c                 C   s6   | d}|d d|_| d}|jdksJ d S )Nr   ra   foobar)rO   get_locr<   )r   r$   castedr   r   r    test_astype`  s
   


zTestIndex.test_astypec                 C   s"   t g dt g dsJ d S Nabcr   equalsr   r   r   r    test_equals_objectp  s   "zTestIndex.test_equals_objectcompr   r   )r   r   dr   c                 C   s   t g d|rJ d S r   r   )r   r   r   r   r    test_not_equals_objectt  s   z TestIndex.test_not_equals_objectc                 C   s   t g d}t g d}||sJ |d}||sJ ||r&J |d}||s2J t g d}t g ddd}||rGJ d S )Nr   foo)r   r   r   r   )r   r   F)tupleize_cols)r   	identicalrenamer   )r   i1i2i3i4r   r   r    test_identicalz  s   

zTestIndex.test_identicalc                 C   s.  t td}||sJ ||    sJ |t tdr'J || r0J ||jddr;J ||d d  rFJ |ttdrRJ || s[J | }d|_||siJ ||spJ |t |jrzJ ttdd}t |dd}t |dd}||rJ d S )N
   F)deepbobrt      r>   )	r   r   is_r   r>   r5   r6   r<   rB   )r   indind2r9   ind1r   r   r    test_is_  s$   zTestIndex.test_is_c                 C   s   t g d}t ddgtd}d}tjt|d ||d  W d    n1 s)w   Y  tjttt	|d || W d    n1 sJw   Y  tjttt	|d || W d    d S 1 slw   Y  d S )Nrt   r`   rF   TFrM   z$Cannot compare dtypes int64 and boolr)   r   )
r   rP   r+   r,   r   asofr   reescapestr)r   leftrightr   r   r   r     test_asof_numeric_vs_bool_raises  s   "z*TestIndex.test_asof_numeric_vs_bool_raisesc                 C   s   t jt|td}d|ddd< || }t|D ]\}}|||ks%J q|t| }t|D ]\}}|||ks=J q0d S )NrM   Fra      r`   )r5   onesr   r   	enumerater   r   )r   r$   
bool_index	sub_indexivalr   r   r    test_booleanindex  s   zTestIndex.test_booleanindexc                 C   s4   |}|g d }|D ]}||| | ksJ q
d S )Nr   )r   )r   r!   r$   slr   r   r   r    
test_fancy  s
   zTestIndex.test_fancy)r4   r   r   r   r   rl   r   rN   c                 C   sH   t jg |d}t|g |jd}|g  |sJ || |s"J d S NrM   )r5   r6   typerN   r   )r   r$   rN   	empty_arrempty_indexr   r   r    test_empty_fancy  s   zTestIndex.test_empty_fancyc                 C   st   t jg t jd}t|g |jd}|g  |sJ d}tjt|d ||  W d    d S 1 s3w   Y  d S )NrM   z=arrays used as indices must be of integer \(or boolean\) typer)   )	r5   r6   rl   r   rN   r   r+   r,   
IndexError)r   r$   
empty_farrr   r   r   r   r    test_empty_fancy_raises  s   
"z!TestIndex.test_empty_fancy_raisesc                 C   s~   |}t ddd}||}||}t||d}t||s#J t||s+J t|| t|| t|| d S )Nz
2019-01-01r   r   O)r   unionr5   appendrO   r1   equalContentsr2   )r   r!   r$   
date_index	first_cat
second_catappendedr   r   r    test_union_dt_as_obj  s   

zTestIndex.test_union_dt_as_objc                 C   sn   t d}t ddd }tdd |D }t || |dd }tdd |D }t || d S )NrF   c                 S   s   | fS r0   r   xr   r   r    <lambda>      z0TestIndex.test_map_with_tuples.<locals>.<lambda>c                 S   s   g | ]}|fqS r   r   r   r   r   r   r    
<listcomp>  s    z2TestIndex.test_map_with_tuples.<locals>.<listcomp>c                 S   s   | | dkfS Nrt   r   r   r   r   r    r         c                 S   s   g | ]}||d kfqS )rt   r   r   r   r   r    r      s    )r1   makeIntIndexmapr   r7   r   from_tuplesr   r$   rT   r]   r   r   r    test_map_with_tuples  s   
zTestIndex.test_map_with_tuplesc                 C   s>   g d}t t|g d}|dd }t|t| d S )Nr   barbazr   c                 S   s   | d S Nr   r   r   r   r   r    r         z3TestIndex.test_map_with_tuples_mi.<locals>.<lambda>)r   r  zipr  r1   r7   r   )r   first_levelmulti_indexreduced_indexr   r   r    test_map_with_tuples_mi  s   z!TestIndex.test_map_with_tuples_mi)makeDateIndexmakePeriodIndexmakeTimedeltaIndexc                 C   s:   t t|d}tdgd }|dd }t|| d S )Nr   rt   c                 S      dS r  r   r   r   r   r    r         zATestIndex.test_map_tseries_indices_return_index.<locals>.<lambda>)r   r1   r   r  r7   )r   r   r$   r]   rT   r   r   r    %test_map_tseries_indices_return_index  s   z/TestIndex.test_map_tseries_indices_return_indexc                 C   sH   t jdddd}|dd }ttjddddd	}t j||d
d d S )N   hhourly)rG   r<   c                 S   s   | j S r0   )hourr   r   r   r    r     r   zGTestIndex.test_map_tseries_indices_accsr_return_index.<locals>.<lambda>r   rM   rc   Texact)r1   r  r  r   r5   aranger7   )r   r   rT   r]   r   r   r    +test_map_tseries_indices_accsr_return_index  s   z5TestIndex.test_map_tseries_indices_accsr_return_indexmapperc                 C      dd t | |D S )Nc                 S      i | ]\}}||qS r   r   r   er   r   r   r    
<dictcomp>      &TestIndex.<lambda>.<locals>.<dictcomp>r  rB   r$   r   r   r    r         zTestIndex.<lambda>c                 C   
   t | |S r0   r   r)  r   r   r    r        
 c                 C   s8   t g d}td}|||j|}t|| d S )Nr  rF   )r   r1   r  r  rB   r7   )r   r   r]   r$   rT   r   r   r    test_map_dictlike_simple  s   	
z"TestIndex.test_map_dictlike_simplec                 C   r!  )Nc                 S   r"  r   r   r#  r   r   r    r%  +  r&  r'  r(  r)  r   r   r    r   +  r*  c                 C   r+  r0   r,  r)  r   r   r    r   ,  r-  z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C   s   t |trtd n|jstd tjt|ddtjd}|j	r't
g }n%t|jr5|j||jd}nt|t
u rH|jtkrHt
||jd}nt
|}||||}t|| d S )NzTested in test_categoricalzCannot map duplicated indexr   rM   )r@   r
   r+   skip	is_uniquer5   r  r   r   r   r   r   rN   _constructorr   rP   r  r1   r7   )r   r$   r   requestrngr]   rT   r   r   r    test_map_dictlike(  s   




zTestIndex.test_map_dictlike)r          @r
  )r   r`   r/  r$   r   r6  r
  c                 C   s2   t dtjdg}t g d|}t|| d S )Nr6  r   )r`   rt   r   r   r5   rk   r  r1   r7   )r   r   r]   rT   r   r   r    )test_map_with_non_function_missing_valuesG  s   z3TestIndex.test_map_with_non_function_missing_valuesc                 C   s@   t dtjdtjdg}|jdd dd}|d }t|| d S )	Ng      ?rF   ra   c                 S   s   | d S )Nr`   r   r   r   r   r    r   U  r  z1TestIndex.test_map_na_exclusion.<locals>.<lambda>ignore)	na_actionr`   r8  r  r   r   r    test_map_na_exclusionR  s   zTestIndex.test_map_na_exclusionc                 C   sF   t g d}tdd }d|d< ||}t g d}t|| d S )Nr   c                   S   r  )Nblankr   r   r   r   r    r   [  r  z0TestIndex.test_map_defaultdict.<locals>.<lambda>stuffrt   )r>  r=  r=  )r   r   r  r1   r7   )r   r$   default_dictrT   r]   r   r   r    test_map_defaultdictY  s   
zTestIndex.test_map_defaultdictzname,expected)r   r   )r	  Nc                 C   sj   t g dd}t g d|d}d}tjt|d ||}W d    n1 s'w   Y  |j|ks3J d S )Nr   rc   r   zDThe behavior of array concatenation with empty entries is deprecatedr)   )r   r1   assert_produces_warningFutureWarningr   r<   )r   r<   r]   r   r   r   rT   r   r   r    test_append_empty_preserve_namea  s   z)TestIndex.test_append_empty_preserve_namezindex, expected))r4   F)r   Fr   Fr   F)r   T)r   T)r   T)r   Tr   F)rl   T)r   Tc                 C      t ||u sJ d S r0   )r   r   r$   r]   r   r   r    test_is_numerick     zTestIndex.test_is_numeric))r4   T)r   TrD  rE  )r   F)r   F)r   F)r   FrF  )rl   F)r   Fc                 C   rG  r0   )r	   rH  r   r   r    test_is_object  rJ  zTestIndex.test_is_objectc                 C   s   |   d S r0   )_summaryr.   r   r   r    test_summary  s   zTestIndex.test_summaryc                 C   sR   t  }t|ds!t|g}| }t|d g}||ks!J tg   d S )N000r   )r   nowr   endswithr   format)r   rO  r$   	formattedr]   r   r   r    test_format_bug  s   
zTestIndex.test_format_bugr}   )rt   y       @      @      @c                 C   s   t |}|| t|td}| }t|trdnt|}t|d t|d t|d |g}||ks6J |d |u s>J d S )NrM   NaNr   rt   r`   rF   )r   r   r   rP   rQ  r@   rj   r   )r   r}   nulls_fixturer$   rR  	null_reprr]   r   r   r    test_format_missing  s   
$zTestIndex.test_format_missingopanyallc                 C   sN   |}t || }|t |j| ksJ t | | }t|t|ks%J d S r0   )r   rB   	to_seriesr   )r   rY  r!   r$   r   r   r   r   r    test_logical_compat  s
   zTestIndex.test_logical_compat)r4   r   r   rl   r   c                 C   sx   t |}|ttdd }||}|ttdttd|  }t|| ||d }|dd  }t|| d S )Nra   r   r   rt   )r   r   r   dropr1   r7   )r   r$   nr^  droppedr]   r   r   r    test_drop_by_str_label  s   
z TestIndex.test_drop_by_str_labelkeysr	  1c                 C   s>   t jtdd || W d    d S 1 sw   Y  d S )N r)   )r+   r,   KeyErrorr^  )r   r$   rb  r   r   r    *test_drop_by_str_label_raises_missing_keys  s   "z4TestIndex.test_drop_by_str_label_raises_missing_keysc                 C   s   t |}|ttdd }| dg }|j|dd}|ttdttd|  }t|| |jddgdd}|tt| }t|| d S )Nra   r   r   r:  errorsr	  )r   r   r   tolistr^  r1   r7   )r   r$   r_  r^  mixedr`  r]   r   r   r    $test_drop_by_str_label_errors_ignore  s   z.TestIndex.test_drop_by_str_label_errors_ignorec                 C   s2   t g d}|d}t ddg}t|| d S )Nr   rt   r`   rF   r   r^  r1   r7   )r   r$   r`  r]   r   r   r    test_drop_by_numeric_label_loc  s   
z(TestIndex.test_drop_by_numeric_label_locc                 C   sN   t g d}tjtdd |ddg W d    d S 1 s w   Y  d S )Nr   rd  r)   rF   ru   )r   r+   r,   re  r^  r.   r   r   r    .test_drop_by_numeric_label_raises_missing_keys  s   "z8TestIndex.test_drop_by_numeric_label_raises_missing_keyszkey,expectedru   r   )rF   ru   ra   c                 C   s*   t g d}|j|dd}t|| d S )Nr   r:  rg  rl  )r   r%   r]   r$   r`  r   r   r    (test_drop_by_numeric_label_errors_ignore  s   z2TestIndex.test_drop_by_numeric_label_errors_ignore)r   r   r   r   )r   rp  r   )rp  r   r   to_droprp  c           	   	   C   s   t |}t dg}||}t|| ||d }|d |d gfD ]}||}t|| q$||d }dt|d   d}|d |d gfD ]}tjt	|d || W d    n1 shw   Y  qOd S )Nr   r   rt   z\"\[z\] not found in axis\"r)   )
r   r^  r1   r7   r   r   __repr__r+   r,   re  )	r   rB   rq  r$   r]   rT   removeddrop_mer   r   r   r    test_drop_tuple  s    


zTestIndex.test_drop_tuplec                 C   sp   t |dkst|trtd t|trtstd | d}|dd  }|	|d }t
|| d S )Nr   z,Test doesn't make sense for empty MultiIndexz=Cannot test IntervalIndex with int64 dtype on 32 bit platformr`   )r   r@   r   r+   r0  r   r   uniquerepeatr^  r1   r7   r   r$   r]   rT   r   r   r    "test_drop_with_duplicates_in_index  s   

z,TestIndex.test_drop_with_duplicates_in_indexis_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingc                 C   s$   t dt dg}t||rJ d S )Nra      )r   r   rO  r   )r   r   r$   r   r   r    test_is_monotonic_incomparable  s   
z(TestIndex.test_is_monotonic_incomparable)r   r	  quux>   r	  r   r  index,expected)quxr
  r   r	  FFTTrM   c                 C   s   | |}t|| d S r0   )isinr1   rA   )r   rB   r$   r]   rT   r   r   r    	test_isin+  s   
	zTestIndex.test_isinc                 C   s   t |tr)t |tr)t|r)t|r)ttd|g|gt	ddg d S ||u rBttd|g|gt	ddg d S ttd|g|gt	ddg d S )Nr   FT)
r@   rj   mathisnanr1   rA   r   r  r5   r6   )r   rV  nulls_fixture2r   r   r    test_isin_nan_common_object7  s*   z%TestIndex.test_isin_nan_common_objectc                 C   s   |}|t ju s|t ju rJdtt|j }tjt|d t	d|g|d W d    n1 s0w   Y  t	dt
jg|d}||g rHJ d S t	d|g|d}|t
jg}t|t
ddg |t jg}t|t
ddg d S )Nz=float\(\) argument must be a string or a (real )?number, not r)         ?rM   FT)rQ   NaTNAreprr   __name__r+   r,   r   r   r5   rk   r  rZ  r1   rA   r6   )r   rV  float_numpy_dtyperN   r   idxresr   r   r    test_isin_nan_common_float64S  s"   z&TestIndex.test_isin_nan_common_float64levelr   r/  )r  r6  rw   rT  c                 C   sZ   |  dd  dg }tg d}t||j||d d|_t||j|dd d S )Nnonexistingr  r  r   )ri  r5   r6   r1   rA   r  r<   )r   r  r$   rB   r]   r   r   r    test_isin_level_kwargl  s
   	zTestIndex.test_isin_level_kwargc              	   C   sZ   d|j |j d  fD ] }tjtdd |jg |d W d    n1 s%w   Y  q
d S )Nr   rt   zToo many levelsr)   r  )nlevelsr+   r,   r   r  )r   r$   r  r   r   r    &test_isin_level_kwarg_bad_level_raises}  s   z0TestIndex.test_isin_level_kwarg_bad_level_raiseslabelr  r   xyzzyc                 C   s   t |tr|ddg|jdd   }d| d}n|d}d| d}tjt|d |jg |d	 W d    d S 1 s?w   Y  d S )
Nr   r	  r`   z'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r)   r  )r@   r   r   namesr+   r,   re  r  )r   r  r$   r   r   r   r    &test_isin_level_kwarg_bad_label_raises  s   

"z0TestIndex.test_isin_level_kwarg_bad_label_raisesc                 C   s4   t ddg}tddg}||}t|| d S )Nr   r   F)r   r5   r6   r  r1   rA   )r   r   r$   r]   rT   r   r   r    test_isin_empty  s   
zTestIndex.test_isin_emptyrt   r`   rF   ru   TTTT)r   r	  r
  r  z
2018-01-01c                 C   s2   t |}||k}tjg dtd}t|| d S )Nr  rM   )r   r5   r6   r   r1   rA   )r   rB   r$   rT   r]   r   r   r    test_boolean_cmp  s   zTestIndex.test_boolean_cmpz
name,levelr  r   c                 C   s,   |  }|r	||_||}t|| d S r0   )r>   r<   get_level_valuesr1   r7   )r   r$   r<   r  r]   rT   r   r   r    test_get_level_values  s
   
zTestIndex.test_get_level_valuesc                 C   s,   t ddgdd}|j|dd  jksJ d S )Nr   r   asdfrc   rt   r   r<   r.   r   r   r    test_slice_keep_name  s   zTestIndex.test_slice_keep_name)r4   r   r   r   r   r   rl   r   c                 C   s   |j ||d}||u sJ d S Nhow)join)r   r$   	join_typejoinedr   r   r    test_join_self  s   zTestIndex.test_join_selfmethod)striprstriplstripc                    sB   t g d}t  fdd|jD }t|j  }t|| d S )N)z jackzjill z jesse frankc                    s   g | ]	}t t |qS r   )r   r   r   r   r  r   r    r     s    z0TestIndex.test_str_attribute.<locals>.<listcomp>)r   rB   r   r   r1   r7   )r   r  r$   r]   rT   r   r  r    test_str_attribute  s   zTestIndex.test_str_attributera   r   )r   rc  )r	  320002010)startendrG   c                 C   s@   t jtdd |jd W d    d S 1 sw   Y  d S )Nzonly use .str accessorr)   r`   )r+   r,   AttributeErrorr   rw  r.   r   r   r    test_str_attribute_raises  s   
"z#TestIndex.test_str_attribute_raiseszexpand,expectedNr   r$  fc                 C   s>   t g d}|d ur|jj|d}n|j }t|| d S )N)za b czd er  )expand)r   r   splitr1   r7   )r   r  r]   r$   rT   r   r   r    test_str_split  s
   
zTestIndex.test_str_splitc                 C   sF   t g d}|jd}tg d}t|| t|tjs!J d S )Na1a2b1b2r   )TTFF)	r   r   
startswithr5   r6   r1   rA   r@   ndarrayr  r   r   r    test_str_bool_return  s
   zTestIndex.test_str_bool_returnc                 C   sR   t g d}ttd|d}||jjd }ttdddgd}t|| d S )Nr  ru   r7  r   r`   r  r  )r   r   r   r$   r   r  r1   rf   )r   r$   r^   rT   r]   r   r   r    test_str_bool_series_indexing  s
   z'TestIndex.test_str_bool_series_indexingabcdc                 C   s   dt |v }||ksJ d S )Nr   )dirrx  r   r   r    test_tab_completion  s   zTestIndex.test_tab_completionc                 C   sX   t g d}|dd t ddgtjdsJ |ddg t ddgtjds*J d S )N)rt   r`   rF   r   r   r   rt   rF   r`   rM   r   )r   r   r5   rS   r.   r   r   r    !test_indexing_doesnt_change_class  s   $(z+TestIndex.test_indexing_doesnt_change_classc                 C   s   t tjdd}td}tt |j	|dd}W d    n1 s'w   Y  tt |
t|
t}W d    n1 sGw   Y  t|| d S )Nr`      r   outerr  )r   r5   rd   re   permutationr1   r  rA  RuntimeWarningr  rO   rP   r   r7   )r   
left_indexright_indexrT   r]   r   r   r    test_outer_join_sort  s   
zTestIndex.test_outer_join_sortc                 C   s   t tddd}|tg d}t tddd}t|| |jtg ddd}t dd	tjgdd}t|| |jtg dd
dd}t g ddd}t|| d S )NABCxxxrc   )rt   r   r/  BACT
fill_valuery   rx   F)
allow_fillr  )ry   rx   rz   )r   r   taker5   r6   r1   r7   rk   r  r   r   r    test_take_fill_value   s   zTestIndex.test_take_fill_valuec                 C   s   t tddd}d}tjt|d |jtg ddd W d    n1 s(w   Y  tjt|d |jtg d	dd W d    d S 1 sLw   Y  d S )
Nr  r  rc   zJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r)   )rt   r   r  Tr  )rt   r   )r   r   r+   r,   r-   r  r5   r6   r   r   r   r     test_take_fill_value_none_raises1  s   "z*TestIndex.test_take_fill_value_none_raisesc                 C   sX   t tddd}tjtdd |tddg W d    d S 1 s%w   Y  d S )Nr  r  rc   zout of boundsr)   rt   r  )r   r   r+   r,   r   r  r5   r6   r.   r   r   r    test_take_bad_bounds_raises=  s   "z%TestIndex.test_take_bad_bounds_raisesr<   labelsrx   ry   rz   )rz   ry   rx   20130101r   c                 C   s.   t g d}||_||d j|ksJ d S )N)r   rt   r`   r   )r   r<   reindex)r   r<   r  r$   r   r   r    8test_reindex_preserves_name_if_target_is_list_or_ndarrayB  s   zBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayc                 C   s,   t td}||d jjtjksJ d S Nabcr   )r   r   r  rN   r   r5   rS   )r   r  r$   r   r   r    <test_reindex_preserves_type_if_target_is_empty_list_or_arrayW  s    zFTestIndex.test_reindex_preserves_type_if_target_is_empty_list_or_arrayzlabels,dtypec                 C   s*   t td}||d jj|ksJ d S r  )r   r   r  rN   r   )r   r  rN   r$   r   r   r    :test_reindex_doesnt_preserve_type_if_target_is_empty_index]  s   zDTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_indexc                 C   s8   |}t td}t g |d}||d j|ksJ d S )Nr  rM   r   )r   r   r  rN   )r   any_real_numpy_dtyperN   r$   r  r   r   r    Btest_reindex_doesnt_preserve_type_if_target_is_empty_index_numerich  s   zLTestIndex.test_reindex_doesnt_preserve_type_if_target_is_empty_index_numericc                 C   sl   t td}|tt g tjt g tjgg g gd }|jd jj	tjks(J |jd jj	tjks4J d S )Nr  r   rt   )
r   r   r  r   r5   r   rl   r   rN   r   )r   r$   rT   r   r   r    -test_reindex_no_type_preserve_target_empty_miq  s    z7TestIndex.test_reindex_no_type_preserve_target_empty_mic                 C   sR   t g ddd}t g ddd}t g ddd}|j|dd\}}t|| d S )Nr   r   rc   r  r  )r   r  r1   r7   )r   r  idx2r]   rT   r   r   r   r    test_reindex_ignoring_levely  s
   z%TestIndex.test_reindex_ignoring_levelc                 C   sJ   t td}|tg d}t ddgt g dd}t|| d S )Nra   )rt   rt   r`   r`   r`   r   rt   )r`   rF   ru   rt   r`   )r   r   groupbyr5   r6   r1   assert_dict_equalr  r   r   r    test_groupby  s   zTestIndex.test_groupbyzmi,expectedr  ru   ra   )ru      c                 C   s0   t jtdddgd}|j|k}t|| d S )Na,b,c
1,2,3
4,5,6r   rt   	index_col)rQ   read_csvr   r$   r1   rA   )r   mir]   rh   rT   r   r   r    test_equals_op_multiindex  s   

z#TestIndex.test_equals_op_multiindexc                 C   s@   t jtdddgd}|j|jk}tddg}t|| d S )Nr  r   rt   r  T)rQ   r  r   r$   r5   r6   r1   rA   )r   rh   rT   r]   r   r   r    "test_equals_op_multiindex_identify  s   z,TestIndex.test_equals_op_multiindex_identifyr  r  )   	   r  c                 C   sT   t jtdddgd}tjtdd |j|k W d    d S 1 s#w   Y  d S )Nr  r   rt   r  zLengths must matchr)   )rQ   r  r   r+   r,   r-   r$   )r   r$   rh   r   r   r    +test_equals_op_mismatched_multiindex_raises  s   "z5TestIndex.test_equals_op_mismatched_multiindex_raisesc                 C   s@   t g d}tg d}||k}tg d}t|| d S )Nr  r  )FFF)r   r  r   r5   r6   r1   rA   )r   r  r$   rT   r]   r   r   r    &test_equals_op_index_vs_mi_same_length  s
   z0TestIndex.test_equals_op_index_vs_mi_same_lengthzdt_conv, arg
2000-01-01
2000-01-02z01:02:03z01:02:04c                 C   s$   t |dd}|j||jksJ d S )Nr  rc   r  )r   dt_convr   r$   r   r   r    !test_dt_conversion_preserves_name  s   	z+TestIndex.test_dt_conversion_preserves_namec                 C   sF   t g d}tjtdd d|_W d    d S 1 sw   Y  d S )Nr   zCan't set attributer)   F)r   r+   r,   r  r1  r.   r   r   r    #test_cached_properties_not_settable  s   "z-TestIndex.test_cached_properties_not_settablec              	   C   s   t jddd ddlm} d}|| tjd dd. |d	 t|j	d
d W d    n1 s4w   Y  W d    d S W d    d S 1 sLw   Y  d S )NIPythonz6.0.0)
minversionr   )provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])F)raise_on_extra_warningsr:  zidx.ru   )
r+   importorskipIPython.core.completerr  run_cellr1   rA  r   	Completercompletions)r   ipr  coder   r   r    test_tab_complete_warning  s   

"z#TestIndex.test_tab_complete_warningc                 C   sh   t |tr|d d S dt|j d}tjt|d |d W d    d S 1 s-w   Y  d S )Nrt   'z$' object has no attribute 'contains'r)   )r@   r   containsr   r  r+   r,   r  r   r   r   r    test_contains_method_removed  s   
"z&TestIndex.test_contains_method_removedc                 C   s>  t g d}tjtdd |jdd W d    n1 sw   Y  tjtdd |jddgd W d    n1 s=w   Y  tjtdd |jdgd W d    n1 s[w   Y  t g d	}|jdgd}t|d
 | t g d	}|jdd}t|d
 | t g d}|jdd}t|d
 | d S )N)ra   ru   rF   r`   rt   z(ascending must be a single bool value orr)   True)	ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuers   r   F)r   r+   r,   	Exception	sortlevelr1   r7   rx  r   r   r    test_sortlevel  s*   zTestIndex.test_sortlevelc                 C   s<   t dtjg}|jddd }t tjdg}t|| d S )Nrt   first)na_positionr   )r   r5   rk   r  r1   r7   r   r  rT   r]   r   r   r    test_sortlevel_na_position  s   z$TestIndex.test_sortlevel_na_positionzperiods, expected_results   r   c                 C   .   t g d}||}t |}t|| d S )N)r   r  r   (   rK   )r   diffr1   r7   )r   rH   expected_resultsr  rT   r]   r   r   r    test_index_diff     

zTestIndex.test_index_diffzdecimals, expected_resultsr  r6  rw   )g333333?gffffff@g      @)gGz?g@gGz@c                 C   r  )N)gX9v?g(\@gS@)r   roundr1   r7   )r   decimalsr"  r  rT   r]   r   r   r    test_index_round  r$  zTestIndex.test_index_round)r  
__module____qualname__r+   fixturer   r!   r&   markparametrizer/   r3   r;   rC   r   rQ   r   r   rU   rW   r_   ri   rn   r5   rl   rk   r   r  rr   r~   r   r   r   iterr
   r   r   r   r   r   r   paramxfailr   r   r   r   r   r   r   r   r   rv   bool_r   r   r   r  r  r  r  r.  filterwarningsr5  r   r9  r<  r@  rC  rI  rK  rM  rS  rX  r]  ra  rf  rk  rm  rn  ro  ru  ry  r  r6   r   r  r  r  r  r  r  rP   r  r  r  r  r  r  r   r1   r  r  r  r  r  r  r   r  r  r  r  r  r  rB   ri  r  r   r  
datetime64r  r  r  r  r  r  r  r  r   r[   to_timedeltar  r  r  r  r  r  r#  r(  r   r   r   r    r   +   s   


	




9 	













	



	




$



	
	






	"  		"&		r   c                   @   sL  e Zd ZejdefddZdd Zdd Zdd	 Z	d
d Z
dd Zdd Zejdddgejddedgejdg dg dfg dg dfddejdgg dfg dg dfdejddgg dfgd d! Zejdddgejd"eg d#eg d#fed$d%d&ejgeg d#feg d'eg d'feejd(d)d*ejgeg d'feg d+d,d-eg d+d,d-feg d.d,d-eg d+d,d-fgd/d0 Zd1d2 Zejd3eejgeejd4ged4d5ejged6d7ejged8ged8d9geg d:ed;d8ggd<d= Zd>d? Zd@dA ZejdBdCdD Z dS )ETestMixedIntIndexr   c                 C   s   t g dS )N)r   r   rt   r   r`   r   r   r   r   r   r    r!      r"   zTestMixedIntIndex.simple_indexc                 C   s@   |}t jtdd |  W d    d S 1 sw   Y  d S Nz'>|<' not supportedr)   )r+   r,   r   argsortr   r!   r$   r   r   r    test_argsort$  s   
"zTestMixedIntIndex.test_argsortc                 C   sB   |}t jtdd t| W d    d S 1 sw   Y  d S r7  )r+   r,   r   r5   r8  r9  r   r   r    test_numpy_argsort)  s   "z$TestMixedIntIndex.test_numpy_argsortc                 C   s   |}t ||ddd}t ||dd}||usJ t|| |jdks&J |jdks-J td|d}td|d d	 d}|| }|jjdksIJ d S )
NTmarior=   Fr   r`   r7  rF   r/  )r   r1   r7   r<   r   r$   )r   r!   r$   r  seconds1s2s3r   r   r    test_copy_name.  s   z TestMixedIntIndex.test_copy_namec                 C   s`   t ddgdd}| }t|| |jdd}tj||dd |jdks'J |jdks.J d S )Nrt   r`   MyNamerc   NewNameF)check_names)r   r>   r1   r7   r<   )r   r$   index1index2r   r   r    test_copy_name2D  s   z!TestMixedIntIndex.test_copy_name2c                 C   sB   t dtjddgdd}t dtjdgdd}| }t|| d S )Nr`   rt   my_indexrc   )r   r5   rk   rv  r1   r7   )r   r  r]   rT   r   r   r    test_unique_naQ  s   z TestMixedIntIndex.test_unique_nac                 C   s4   |}|  |j  ksJ | |j ksJ d S r0   )r[  rB   rZ  r9  r   r   r    r]  W  s   z%TestMixedIntIndex.test_logical_compatr  rZ  r[  rN   Ncategoryzvals,expectedr   r%  r  r6  rw   r  rx   ry   rz   c                 C   s4   t ||d}|j|d}t ||d}t|| d S )NrM   r  )r   dropnar1   r7   )r   r  rN   r}   r]   r$   rT   r   r   r    test_dropna\  s   zTestMixedIntIndex.test_dropnar  )r   
2011-01-02
2011-01-03r   rM  rN  )rJ   2 days3 daysrJ   rO  rP  )2012-022012-042012-05MrZ   )rQ  rR  r  rS  c                 C   s   |j |d}t|| d S r  )rK  r1   r7   )r   r  r$   r]   rT   r   r   r    test_dropna_dt_likeo  s   z%TestMixedIntIndex.test_dropna_dt_likec                 C   sL   d}t jt|d tg djdd W d    d S 1 sw   Y  d S )Nzinvalid how option: xxxr)   r   r  r  )r+   r,   r-   r   rK  )r   r   r   r   r    test_dropna_invalid_how_raises  s   "z0TestMixedIntIndex.test_dropna_invalid_how_raisesr$   rt   r`   r   r   r  r  )r  r  r  z1 dayc                 C   s<   |j du sJ |jdu sJ |jdu sJ |jdu sJ d S NFrz  r.   r   r   r    test_is_monotonic_na  s   z&TestMixedIntIndex.test_is_monotonic_nac                 C   s8   t g ddd}|ttd|d}dt|v sJ d S )Nr   r   rc   rF   r7  0)r   r   r   r  )r   frame_or_seriesr$   rT   r   r   r    test_int_name_format  s   z&TestMixedIntIndex.test_int_name_formatc                 C   sV   t dd tdD }d}tjt|d t| W d    d S 1 s$w   Y  d S )Nc                 S   s   g | ]}t |qS r   )r   r  r   r   r    r     r*  z>TestMixedIntIndex.test_str_to_bytes_raises.<locals>.<listcomp>r   z2^'str' object cannot be interpreted as an integer$r)   )r   r   r+   r,   r   bytesr   r   r   r    test_str_to_bytes_raises  s
   
"z*TestMixedIntIndex.test_str_to_bytes_raisesz2ignore:elementwise comparison failed:FutureWarningc                 C   s2   t g d}|dk}tg d}t|| d S )N)r   )r   r   r   r   r^  )FFT)r   r5   r6   r1   rA   r  r   r   r    test_index_with_tuple_bool  s   z,TestMixedIntIndex.test_index_with_tuple_bool)!r  r)  r*  r+   r+  r   r!   r:  r;  rA  rG  rI  r]  r,  r-  rP   r5   rk   rL  r   rQ   r  r   r   rU  rV  r[   r4  rX  r[  r]  r2  r_  r   r   r   r    r5    s~    










r5  c                   @   s   e Zd Zejdg dgdeg dfg dgdgeg dddfddgddggdedgddggd	d	gd	d
ggfddgddggddgedgddggd	d	gd	d
ggddgdfgdd Zdd Z	dd Z
dd ZdS )TestIndexUtilszdata, names, expectedr   Nr<   rc   r   r   r   r   rt   L1L2)r  c                 C   s   t ||}t|| d S r0   )r   r1   r7   )r   rm   r  r]   rT   r   r   r     test_ensure_index_from_sequences  s   
z/TestIndexUtils.test_ensure_index_from_sequencesc                 C   s`   t jddddt jddddt jddddt jdd	d
dg}t|}t|td}t|| d S )Nr   rt   r   )closedr`   r   rF   neitherru   bothrM   )rQ   Intervalr   r   rP   r1   r7   )r   	intervalsrT   r]   r   r   r    (test_ensure_index_mixed_closed_intervals  s   z7TestIndexUtils.test_ensure_index_mixed_closed_intervalsc                 C   sF   dt t jjg}t|}t||ksJ t|dd}t|| d S )Nr   r   rM   )	r5   iinfor   maxr   r   r   r1   r7   )r   rB   rT   r]   r   r   r    test_ensure_index_uint64  s
   z'TestIndexUtils.test_ensure_index_uint64c                 C   s    t g }tg }t|| d S r0   )r   r   r1   r7   )r   rT   r]   r   r   r    test_get_combined_index  s   z&TestIndexUtils.test_get_combined_index)r  r)  r*  r+   r,  r-  r   r   rc  ri  rl  rm  r   r   r   r    r`    s&    &
r`  opname)eqneleltgegtaddraddsubrsubmulrmultruedivrtruedivfloordiv	rfloordivpowrpowmoddivmodc                 C   s(   d|  d} t || }|j| ksJ d S )N__)r   r  )rn  r$   r  r   r   r    test_generated_op_names  s   
r  index_makerc                 C   s>   t jtdd | dd W d    d S 1 sw   Y  d S )Nzunexpected keyword argumentr)   r	  )r   )r+   r,   r   )r  r   r   r    ,test_index_subclass_constructor_wrong_kwargs  s   "r  c                  C   s  d} t jt| d ttjddgtdddd W d    n1 s"w   Y  t jt| d ttjg d	d
dddd W d    n1 sGw   Y  t jt| d tdddddd W d    n1 sgw   Y  t jt| d tg dddd W d    d S 1 sw   Y  d S )Nz[Uu]nexpected keyword argumentr)   r   r   rM   testT)r<   fastpathr   r   r   ra   r`   r   )	r+   r,   r   r   r5   r6   rP   r   r
   )r   r   r   r    test_deprecated_fastpath  s   "r  c                  C   sP   t g d} tjtdd | d d d f  W d    d S 1 s!w   Y  d S )N)r   rt   r`   rF   r(   r)   )r   r+   r,   r-   )r  r   r   r    test_shape_of_invalid_index)  s   "r  rN   c                 C   s   d}t dddd}tjt|d t|| d W d    n1 s$w   Y  t|dd}tjt|d t|| d W d    n1 sIw   Y  tdt	d}tjt|d t j
ddggd | d|_W d    d S 1 suw   Y  d S )	Nz Index data must be 1-dimensionalr  r`   r)   rM   ru   r   rF   )r5   r  reshaper+   r,   r-   r   r   r   r   r6   r$   )rN   r   r9   rh   serr   r   r    test_validate_1d_input5  s   "r  zklass, extra_kwargsc                    s   g | ]
  fd di gqS )c                    s   t |  dS r   r6  r   dtypr   r    r   L  r  z<listcomp>.<lambda>r   )r   r   r  r    r   L  s    r   rG   Yc                 C   sJ   | t tddfi |}| ttddfi |}tj||dd d S )Ni  i  Tr  )
memoryviewr5   r  r   r   r1   r7   )ro   extra_kwargsrT   r]   r   r   r    test_construct_from_memoryviewH  s   r  rY  c                 C   sL   t tjg}tdg}| ||}t|| | || }t|| d S rW  )r   r5   rk   r6   r1   rA   r>   )rY  r  r]   rT   r   r   r    test_nan_comparison_same_objectY  s   
r  );collectionsr   r   ior   r  operatorr   numpyr5   r+   pandas.compatr   pandas.errorsr   pandas.core.dtypes.commonr   r   r	   pandasrQ   r
   r   r   r   r   r   r   r   r   r   pandas._testing_testingr1   pandas.core.indexes.apir   r   r   r   r   r   r5  r`  r,  r-  r  index_subclass_makers_generatorr  r  r  r   r   rl   r  ALL_REAL_NUMPY_DTYPESr  rr  rt  r  r   r   r   r    <module>   sn    0	         z %4





