https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/numpy/lib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/numpy/lib/tests/__pycache__/test_histograms.cpython-310.pyc
o

6��a���@s�ddlZddlmZmZmZddlmZmZm	Z	m
Z
mZmZm
Z
mZmZmZddlZGdd�d�ZGdd�d�ZGdd	�d	�ZdS)
�N)�	histogram�histogramdd�histogram_bin_edges)
�assert_�assert_equal�assert_array_equal�assert_almost_equal�assert_array_almost_equal�
assert_raises�assert_allclose�assert_array_max_ulp�assert_raises_regex�suppress_warningsc@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAS)B�
TestHistogramcC�dS�N���selfrr�A/usr/lib/python3/dist-packages/numpy/lib/tests/test_histograms.py�setup�zTestHistogram.setupcCrrrrrrr�teardownrzTestHistogram.teardowncCsTd}tj�|�}t|�\}}ttj|dd�|�tt�ddd��\}}t|d�dS)N�dr��axis�
)�np�random�randrr�sum�linspacer)r�n�v�a�brrr�test_simpleszTestHistogram.test_simplecCs�tgd�ddg�\}}t|dg�t|ddg�tttddgdd�tddgdd�\}}t|t�dg��t|t�ddg��dS)N�����r(r)r��bins��?�@)rrr
�
ValueErrorrr�arrayr)r�hist�edges�h�errr�test_one_binszTestHistogram.test_one_binc	Cst�}|�5|�tjd�}d}tj�|�}t|dd�\}}t�|t�|��}t	|d�t
t|�d�Wd�n1s=wYt�}|�8|�tjd�}t�d�}gd�}t||dd�\}}t�|t�|��}t	|d�t
t|�d�Wd�dS1s�wYdS)Nz
.*normed.*rT��normedr(r)rr(��	r)
r�recordr�VisibleDeprecationWarningrrrr �diffrr�len�arange)	r�sup�recr"r#r$r%�arear-rrr�test_normed)s(
�


"�zTestHistogram.test_normedc	Csd}tj�|�}t|dd�\}}t�|t�|��}t|d�t�d�}gd�}t||dd�\}}t|d�t	t�|t�|��d�t||dd�\}}t|gd	��t�d�}d
dddtj
g}t||dd�\}}t|gd
��tjgd	�ddtj
gdd�\}}t	|dd
g�dS)NrT��densityr(r�rr(r*�r皙�����?Fr'rr*rG)rHrHrH���?��?��?)rrrrr r=rr?rr�inf)	rr"r#r$r%rBr-�counts�dmyrrr�test_densityAs(




�zTestHistogram.test_densitycCs�t�d�d}t|ddgd�\}}t|��d�t|ddgd�\}}t|��d�t|ddgdd�\}}t|t�|���dd	d
�t�d�d}t|ddg|dd�\}}t|t�|���d�t|dddg|d
�\}}t||dd��dS)NrrJrr:��ranger(T�rRrE���decimal�rR�weightsrE��r-rRrX���)rr?rrr rr=)rr$r4r%�wrrr�
test_outliersaszTestHistogram.test_outlierscCsdt�d�d}t�d�d}ttd��t|ddg|dd�\}}Wd�dS1s+wYdS)	NrrJ�z
same shape asr(r:TrW)rr?r
r0r)rr$r\r4r%rrr�test_arr_weights_mismatchys
"�z'TestHistogram.test_arr_weights_mismatchcCs�t�d�d}t|�\}}tt�|jtj��t|dd�\}}tt�|jtj��t|t�dt	�d�\}}tt�|jtj��t|t�dt
�d�\}}tt�|jtj��dS)NrrJTrD�rX)rr?rr�
issubdtype�dtype�integer�floating�ones�int�float)rr$r4r%rrr�	test_type�szTestHistogram.test_typecCsPtjgd�tjd�}tjgd�tjd�}tj||dd�\}}}t|��d�dS)N)g2V��Eq@g��x>fQ�g-��VT5@�rb)g!����@g���S��@g���^z�@rr,�@)rr1�float32�histogram2drr )r�x�y�counts_hist�xedges�yedgesrrr�test_f32_rounding�szTestHistogram.test_f32_roundingcCs�tjgd�tjd�}t�|�\}}t��)}|�td�}t�gd��\}}tt|�d�t	||�t	||�Wd�dS1s@wYdS)N)r(r(rrizConverting input from .*)TTFr()
rr1�uint8rrr;�RuntimeWarningrr>r)rr$�int_hist�	int_edgesr@rAr2r3rrr�test_bool_conversion�s
"�z"TestHistogram.test_bool_conversioncCsRtj�d�}t�d�d}t|�\}}t|dd�\}}t||d�\}}t||dd�\}	}
t|d|�t||	�t�ddd�}t�t�d�t�d�f�}t|t�	d	�|d
�\}}t||�tgd�dgd
�d
�\}}t
|gd��tgd�dgd
�dd�\}}t|t�gd��ddd�tt�	d�gd�gd�dd�\}}t|gd��dS)Nrr9TrDr`�rXrErrr^�r-rX)r(r)r)r+r+)r+r*r)r()r+r9rr()r-rXrEg$@rjr:rF)	r)r(r(r(r(r(r(r(r()g�������?rHrHg333333�?)
rrrrerr	r!�concatenate�zerosr?rr1r)rr#r\r$r%�na�nb�wa�wb�nwa�nwbrrr�test_weights�s.


� 
�zTestHistogram.test_weightscCs<t�gd��}t�gd��dt�gd��}t|gd�|d�\}}t|t�ddg�dt�dd	g��t|ddd	g|d
�\}}t|t�ddg�dt�dd	g��ddlm}t�gd��}t�|d�|d�|d	�g�}t|gd�|d�\}}t||d�|d
�g�t|ddd	g|d
�\}}t||d�|d
�g�dS)N�g�������?�@gffffff@)r(r[r)y�?)r)r(r))rr)r*ryr(r)r*rZr)�Decimalr9)rr1rr	rVr�)r�valuesrXr~rr�rrr�test_exotic_weights�s &&z!TestHistogram.test_exotic_weightscCs4t�gd��}tj|ddgdd�t|gd��dS)Nr����rr)rRr-)rr1rr	)rr�rrr�test_no_side_effects�sz"TestHistogram.test_no_side_effectscCs>tgddgd�\}}t|t�dg��t|t�ddg��dS)Nrr(r,�rrrr1�rr$r%rrr�
test_empty�szTestHistogram.test_emptycCs,tjdddd�}t|d�ttt|d�dS)NrIr.r��numr9g333333@)rr!rr
�	TypeError�r�valsrrr�test_error_binnum_type�s
z$TestHistogram.test_error_binnum_typecCsPtjdddd�}t|ddgd�ttt|tjdgd�ttt|dtjgd�dS)NrIr.rr�rL��?rQ)rr!rr
r0�nanrMr�rrr�test_finite_range�szTestHistogram.test_finite_rangecCsRtjdddd�}ttd��tj|ddgd�Wd�dS1s"wYdS)	NrIr.rr�zmax must be larger thanrHg{�G�z�?rQ)rr!r
r0rr�rrr�test_invalid_range�s"�z TestHistogram.test_invalid_rangec
Cs~t�gd��}tj|ddd�\}}|dk}|dd�|}|dd�|}t|||�D]\}}}	t||k�t||	k�q+dS)N)iQi�i�i&i�ii�ih )r)i��r-rRrr[r()rr1r�zipr)
r�arrr2r3�mask�
left_edges�right_edgesrm�left�rightrrr�test_bin_edge_casess�z!TestHistogram.test_bin_edge_casescCs4t�gd��}tj|ddd�\}}t|dd�dS)N�	rIrIrIr.r/rjrjg@g@����r9r�r[r()rr1rr)rr�r2r3rrr�test_last_bin_inclusive_rangesz+TestHistogram.test_last_bin_inclusive_rangecCsdtjdddd�}t�ddgddgg�}ttd��tj||d	�Wd�dS1s+wYdS)
NrIr.rr�rrJg333333�?z
must be 1dr,)rr!r1r
r0r)rr�r-rrr�test_bin_array_dimss
"�z!TestHistogram.test_bin_array_dimscCs^t�dg�}tjgd�dd�}tt��tj||d�\}}Wd�dS1s(wYdS)Nr))r(r*r(�uint64rir,)rr1r
r0r)rr�r-r2r3rrr� test_unsigned_monotonicity_checks

"�z.TestHistogram.test_unsigned_monotonicity_checkcCs�tttdd�td�D�tjg�tttdd�td�D�tjg�t�dd�td�D�dg�t�dd�td�D�dg�dS)	NcS�g|]}t�d��qS�g�������?�rr1��.0�irrr�
<listcomp>#�z9TestHistogram.test_object_array_of_0d.<locals>.<listcomp>rcSr�r�r�r�rrrr�%r�cSr��rJr�r�rrrr�(r�g	�?cSr�r�r�r�rrrr�)r�rJ)r
r0rrRrrMrrrr�test_object_array_of_0d s��"z%TestHistogram.test_object_array_of_0dcCst�ddtjg�}t�tjtjg�}t�}|�t�|�[ttt|dd�ttt|dd�t|ddd�\}}t	|�
�d�t|ddd�\}}t	|�
�d�t|ddgd�\}}t	|�
�d�t|ddgd�\}}t	|�
�d�Wd�dS1szwYdS)Nrr(�autor,�rr(r�r))rr1r�r�filterrtr
r0rrr )r�one_nan�all_nanr@r4r%rrr�test_some_nan_values+s 
"�z"TestHistogram.test_some_nan_valuesc
Cs�t�dd�}t�gd��}t�gd��}||}||}t�d�}t||d�\}}t|�|�|�|�d�\}	}
t||d�\}}t||�t|	|�t||�t�|�t|
�t�|�t|j|j�t|
j|�dS)Nz
2000-01-01�D)	rrr(r(r)r*r9r�)rr)�r�ztimedelta64[D]r,)r�
datetime64r1rbr�astyperrf)
r�begin�offsetsr-�dates�	date_bins�td�d_count�d_edge�t_count�t_edge�i_count�i_edgerrr�
test_datetimeDs


zTestHistogram.test_datetimecCs|dt�|�jd}tjd|dd|dg|d�}t|dd�\}}t|d|ddd|dg�t|ddg�dS)NrYr(r)r+rir,r)rrb�itemsizer1rr)rrb�exponentr�r2r5rrr�do_signed_overflow_bounds]s
$"z'TestHistogram.do_signed_overflow_boundscCs@|�tj�|�tj�|�tj�|�tj�|�tj�dSr)r�r�byte�short�intc�int_�longlongrrrr�test_signed_overflow_boundsds
z)TestHistogram.test_signed_overflow_boundscCstt�|�j}t�dg|�}t�d|dg|�}|�|�ddkr"dStj|d|d�\}}t|dg�t|j|�dS)Nr.r/rr(r��r�finfo�epsr1r�rrrb�r�float_small�float_larger�r�rR�count�x_locrrr�do_precision_lower_boundk�z&TestHistogram.do_precision_lower_boundcCstt�|�j}t�dg|�}t�dd|g|�}|�|�ddkr"dStj|d|d�\}}t|dg�t|j|�dS)Nr.rIr[r(r�r�r�rrr�do_precision_upper_bound|r�z&TestHistogram.do_precision_upper_boundcCs|�||�|�||�dSr)r�r�)rr�r�rrr�do_precision�szTestHistogram.do_precisioncCsd|�tjtj�|�tjtj�|�tjtj�|�tjtj�|�tjtj�|�tjtj�dSr)r�r�half�single�double�
longdoublerrrr�test_precision�szTestHistogram.test_precisioncCs�tgd�ddg�\}}tgd�ddg�}t||�t�gd��}t|ddd�\}}t|ddd�}t||�t|dd	d�\}}t|dd	d�}t||�dS)
Nr'r(r)r�r�r�r�r�r�)rrrrr1)rr2r5r3r�rrr�test_histogram_bin_edges�s

z&TestHistogram.test_histogram_bin_edgesN)#�__name__�
__module__�__qualname__rrr&r6rCrPr]r_rhrrrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrsB
 	rc@szeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Ze
j�dgd��dd��Zdd�ZdS)�TestHistogramOptimBinNumsz]
    Provide test coverage when using provided estimators for optimal number of
    bins
    cCsLgd�}|D]}tg|d�\}}t|t�dg��t|t�ddg��qdS)N��fd�scott�rice�sturges�doane�sqrtr��stoner,rr(r�)r�estimator_list�	estimatorr$r%rrrr��s�z$TestHistogramOptimBinNums.test_emptycCs�ddddddddd�dddddd	dd
d�dddd
ddddd�d�}|��D]?\}}t�dd|dd�}t�dd|dd�}t�||f�}|��D]\}}t�||�\}	}
tt|	�|d�||�d�qJq%dS)z�
        Straightforward testing with a mixture of linspace data (for
        consistency). All test values have been precomputed and the values
        shouldn't change
        r+rYr�r)r��r��r:��#��Gr���2i�i�r�r[r9r(r*�*For the {0} estimator with datasize of {1}��err_msgN)�itemsrr!rzrrr>�format)r�
basic_test�testlen�expectedResults�x1�x2rmr��numbinsr$r%rrrr&�s*�������z%TestHistogramOptimBinNums.test_simplec	
Cs�dddddddd�dddddddd�dddddddd�d�}|��D]'\}}t�|�}|��D]\}}t�||�\}}tt|�|d�||�d�q/q"dS)	z�
        Smaller datasets have the potential to cause issues with the data
        adaptive methods, especially the FD method. All bin numbers have been
        precalculated.
        r()r�r�r�r�r�r�r�r)r*�r(r)r*r�r�N)r�rr?rrr>r�)	r�	small_datrr�testdatr��expbinsr$r%rrr�
test_small�s&����
���z$TestHistogramOptimBinNums.test_smallcCs(gd�}|D]}tttgd�|�qdS)zS
        Check a Value Error is thrown when an unknown string is passed in
        )�mad�freeman�
histograms�IQRrN)r
r0r)r�
check_listr�rrr�test_incorrect_methods�s�z0TestHistogramOptimBinNums.test_incorrect_methodsc	Cs^t�d�}ddddddddd�}|��D]\}}t�||�\}}tt|�|d�|�d�qdS)z�
        Check that methods handle no variance in data
        Primarily for Scott and FD as the SD and IQR are both 0 in this case
        rr(r�z{0} estimator, No Variance testr�N)rrer�rrr>r�)r�
novar_dataset�novar_resultdictr�rr$r%rrr�test_novariance�s
���z)TestHistogramOptimBinNums.test_novariancecCs�t�d�}d|dd�<d|dd�<t|d�}t|t�ddd��t|d	�}t|t�ddg��t|d
�}t|t�ddd��dS)zu
        Check when IQR is 0, but variance exists, we return the sturges value
        and not the fd value.
        i�rNr*r���r�r�r�r�)rrerrr!r1)r�lim_var_data�
edges_auto�edges_fd�
edges_sturgesrrr�test_limited_variance�s



z/TestHistogramOptimBinNums.test_limited_variancecCsht�ddd�}t�t�ddd�|f�}dddd	d
�}|��D]\}}t�||�\}}tt|�|�qdS)a�
        Check the FD, Scott and Doane with outliers.

        The FD estimates a smaller binwidth since it's less affected by
        outliers. Since the range is so (artificially) large, this means more
        bins, most of which will be empty, but the data of interest usually is
        unaffected. The Scott estimator is more affected and returns fewer bins,
        despite most of the variance being in one area of the data. The Doane
        estimator lies somewhere between the other two.
        r�rr�i�������r9�r^rG)r�r�r�r�N)rr!�hstackr�rrr>)r�xcenter�outlier_dataset�outlier_resultdictr�rr$r%rrr�test_outliers�z&TestHistogramOptimBinNums.test_outliercsJdd���fdd�td�D�}ttj|dd�d�}t|gd	�d
d�dS)
zQVerify that Scott's rule and Stone's rule converges for normally distributed datacSsRtj�|�}|jdd|d�}tt�|d�d�tt�|d�d�}}|||S)Nrr))�loc�scale�sizer�r�)rr�RandomState�normalr>r)�seedr#�rngrmr$r%rrr�nbins_ratio%s*zBTestHistogramOptimBinNums.test_scott_vs_stone.<locals>.nbins_ratiocs6g|]���fdd�tjdddd����t�D��qS)csg|]}��|��qSrr)r�r#)r(r&rrr�+r�zLTestHistogramOptimBinNums.test_scott_vs_stone.<locals>.<listcomp>.<listcomp>rrr+)�start�stopr�)r�	geomspace�roundr�rf)r��r()r&rr�+s.�zATestHistogramOptimBinNums.test_scott_vs_stone.<locals>.<listcomp>rrrrJ)g333333�?g
ףp=
�?g{�G�z�?g���Q��?r)rUN)rR�absr�meanr)r�ll�avgrr-r�test_scott_vs_stone"s
�z-TestHistogramOptimBinNums.test_scott_vs_stonec
	Cs�ddddddd�ddddddd�d	d	d
dd	dd�d�}|��D]Q\}}t�d
d|dd�}t�dd|dd�}t�dd|�}t�|||f�}|��D]#\}}	tj||dd�\}
}d�|�}|d�|�7}tt|
�|	|d�qLqdS)z�
        Straightforward testing with a mixture of linspace data (for
        consistency). Adding in a 3rd mixture that will then be
        completely ignored. All test values have been precomputed and
        the shouldn't change.
        rYrTr�)r�r�r�r�r�r�r�� r��P�!�E�r�r�r[r9r)r(rr*ri���)i��r�rQzFor the {0} estimatorz with datasize of {0}r�N)r�rr!rrr�rr>)
rrrrrr�x3rmr�rr$r%�msgrrr�test_simple_range2s,
����	
��z+TestHistogramOptimBinNums.test_simple_ranger-)r�r�r�r�r�r�r�cCsXtjgd�tjd�}tj||d�\}}tj|�tj�|d�\}}t||�t||�dS)N)���r�rir,)rr1�int8rr��int32r)rr-r$r2r3�hist32�edges32rrr�test_signed_integer_dataQs

z2TestHistogramOptimBinNums.test_signed_integer_datacCs0gd�}|D]}tttgd�|gd�d�qdS)z=
        Check that weighted data raises a TypeError
        )r�r�r�r�r�rr`N)r
r�r)rr�r�rrr�test_simple_weighted[s��z.TestHistogramOptimBinNums.test_simple_weightedN)r�r�r��__doc__r�r&r
rrrr r2r:�pytest�mark�parametrizerArBrrrrr��s	
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#S)$�TestHistogramddc	Cs:t�gd�gd�gd�gd�gd�gd�g�}t|ddd	gd
dgd
dggd�\}}t�gd
�gd�gd�ggd
�gd�gd�gg�}t||�gd�gd�gd�g}t||dd�\}}tt�||dk��t|ddd	gd
dgd
dggdd�\}}t�gd�gd�gd�ggd�gd�gd�gg�}t||dd�dd�tj|dd	d�D�}t|dd d!gd
dgd
d!ggd"�\}}t�d
d
gd
d
gd
d
ggd
d	gd
d
gd	d
ggd
d	gd
d
gd
d
ggd
d
gd
d
gd
d
ggg�}t||�t�d#�}d$|t	t
d%��t	t
d%��t	t
d%��f<tt�d%�t�d%�t�d%�gd%�\}}t||�dS)&N)r�rJrK)r�rKr�)r�r�rJ)rJrJrK)rJrKr�)rJr�r�)r)r*r*r[r(rr*rQ)rr(r)rrr()r(rr)r;rr))rr(r)r*T�r-rEg(@)r)r*r+r+rS)rr(rr)rrr(r)r(rrrg@cSsg|]}t�|��qSr)r�squeeze)r�rnrrrr�~r�z/TestHistogramdd.test_simple.<locals>.<listcomp>r)r+r*r)r;r)r�)r9r9r9r.r9)rr1rrr�allr	�splitr{�listrRr?)rrm�Hr3�answer�ed�z�Zrrrr&gsF�
��

��
��

&&zTestHistogramdd.test_simplecC�<d}tj�dd�}|D]}t||�\}}t|j|k�qdS)N))r9r+rG)rGr+r9)r9rGr+)r+rGr9)rGr9r+)r+r9rGrr*�rrrrr�shape�rr-�rr%rMr3rrr�
test_shape_3d�s�zTestHistogramdd.test_shape_3dcCrR)N))r�r+r9rG)r+r9r�rG)r9rGr+r�)r�rGr9r+)r9r�rGr+)r+rGr�r9)rGr9r�r+)r�r9r+rG)r�r+rGr9)rGr+r�r9)rGr�r9r+)r+rGr9r�)r+r�r9rG)r9r+rGr�)r9r�r+rG)rGr�r+r9)rGr9r+r�)r+r�rGr9)r+r9rGr�)r�rGr+r9)r9r+r�rG)r9rGr�r+)rGr+r9r�)r�r9rGr+rr+rSrUrrr�
test_shape_4d�s�zTestHistogramdd.test_shape_4dcCs�tj�dd�}t|�\}}t|dd�\}}t|t�d�d�\}}t||�t|t�d�ddd�\}}t||�t|t�dt�dd�\}}t|d|�dS)Nrr)TrDr`rx)rrrrrerrf)rr#r2r3�n_hist�w_histrrrr��s

zTestHistogramdd.test_weightscCs8t�dt�}t|dd�\}}t|dt�gd���dS)N)rr)r)r,r)r�rIrJ)rr{rfrrr1)rrmr2r3rrr�test_identical_samples�sz&TestHistogramdd.test_identical_samplescCs`tgggddgddgfd�\}}t|t�dgg��tjggggdd�\}}t|t�d��dS)Nrr(r,rIr))r)r)r))rrrr1r{r�rrrr��s zTestHistogramdd.test_emptyc	Cs~t�d��dd�}tttj|gd�d�tttj|gd�d�tttj|dddgd�gd�ttj|dddgd	�gd��dS)
NrYr)r+)r[r)r+r9r,)r(g�G�z��?r(r(r()r(r)r*���r')rr?�reshaper
r0rr)rrmrrr�test_bins_errors�s�"z TestHistogramdd.test_bins_errorsc	Cs�tjdd��bt�d��dd�}t�ddgddgddgg�}tj|dtjddggd	�\}}t||�tj|dt�d
dtjg�gd	�\}}t||�tj|dtjdtjggd	�\}}t||�Wd�dS1skwYdS)N�ignore)�invalidrGr*r)r(rrr,r[)r�errstater?r]r1rrMr)rrm�expectedr4r5rrr�test_inf_edges�s 
$
""�zTestHistogramdd.test_inf_edgescCsdg}gd�g}t||d�\}}t|ddk�t|ddk�dg}gd�g}t||d�\}}t|ddk�t|ddk�dg}gd�g}t||d�\}}t|ddk�t|ddk�d	g}gd�g}t||d�\}}t|ddk�t|ddk�dS)
Ng�G�����?)rIrJr.r,rrIr(r.g8��?gq���h�?)rr)rrmr-r2�_rrr�test_rightmost_binedge�s(



z&TestHistogramdd.test_rightmost_binedgecCsvtj�d�}t|ddgddgddggd�ttt|ddgddgdtjggd�ttt|ddgtjdgddggd�dS)N)rr*rIr.rLr�rJrQ)rrrr
r0rMr�r�rrrr��s�
�z!TestHistogramdd.test_finite_rangecCsft�gd��}t�gd��}t�gd��}d}t||f||fd�\}}t�dgdgg�}t||�dS)z: Test that adjacent entries in an edge array can be equal )rr(r))rr)r)r(r,r/r.N�rr1rr)rrmrn�x_edges�y_edgesr2r3�
hist_expectedrrr�test_equal_edges�s�z TestHistogramdd.test_equal_edgescCslt�gd��}|d}t�gd��}|d}t||f||fd�\}}t|dj|j�t|dj|j�dS)z< Test that if an edge array is input, its type is preserved )rrr�r)rr9rTr�r,rr(N)rr1rrrb)rrmrnrgrhr2r3rrr�test_edge_dtype�szTestHistogramdd.test_edge_dtypecCs`d}t�dgtj�}t�ddgtj�}||}||}t||f||fd�\}}t|dd�dS)Nlrr[r(r,)rr)rr1�int64rr)r�bigrmrgrnrhr2r3rrr�test_large_integerssz#TestHistogramdd.test_large_integerscCs�t�gd��}t�gd��}t�ddgddgg�}t�dgdgddgddgd�}t�dgdgddgddgd�}t||f||fd�\}}t||�t||f||fdd	�\}}t|d
�dS)N)rr)rY)rrGrYr*r:r(r�r,TrHg�?rf)rrgrh�relative_areasrmrnr2r3rrr�test_density_non_uniform_2ds	�**
z+TestHistogramdd.test_density_non_uniform_2dcCs\t�d�}t�gd��}t||dd�\}}t|f|fdd�\}}t||�t||d�dS)NrrFTrDr�rr?r1rrr�rr#r-r2r3�hist_dd�edges_ddrrr�test_density_non_uniform_1d.�

z+TestHistogramdd.test_density_non_uniform_1dcCs\t�d�}t�gd��}t||dd�\}}t|f|fdd�\}}t||�t||d�dS)NrrFTrDr7rrqrrrrr�test_density_via_normed7rvz'TestHistogramdd.test_density_via_normedcCs`t�d�}t�gd��}ttd��t|f|fddd�\}}Wd�dS1s)wYdS)NrrFzCannot specify bothT)rEr8)rr?r1r
r�r)rr#r-rsrtrrr�test_density_normed_redundancy@s

�"�z.TestHistogramdd.test_density_normed_redundancyN)r�r�r�r&rWrXr�r[r�r^rcrer�rjrkrnrprurwrxrrrrrGes$%	
		rG)�numpyr�numpy.lib.histogramsrrr�
numpy.testingrrrrr	r
rrr
rrDrr�rGrrrr�<module>s0 =

https://t.me/RX1948 - 2025