L i+>ddlZddlmZmZddlZddlmZddlm Z m Z m Z m Z ddl mZejj!de e e gZejj!ddZejj!d d ZGd d ZGd dZGddZy)N)xp_assert_equalxp_assert_close)raises)griddataNearestNDInterpolatorLinearNDInterpolatorCloughTocher2DInterpolator)_run_concurrent_barrier interpolatormethod)nearestlinearcubicrescale)TFceZdZdZeedZeedZeedZeedZ edZ dZ edZ ed Z ed Zy ) TestGriddatacgd}gd}t||gdd}t|gdt||gd}t|tjtjdgy)N)rrrrr)r)rr)rrr) fill_value)grrr)rrnpnan)selfxyyis m/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_ndgriddata.pytest_fill_valuezTestGriddata.test_fill_valuesO !  a1b AL) a1 2RVVRVVQ/0ctjgdtj}tj|jdtjdddftjddgdddfz}t ||f}t |dddf|dddff||dddf|dddff||}t||d|yNr)r))r)?)r*r*)g?g333333?dtyperrr r+=atolerr_msgrarrayfloat64arangeshapereprrrrr rr r!msgr"s r#test_alternative_callz"TestGriddata.test_alternative_call's HHN:: ' YYqwwqz 4QtV <xx1tAv&'FG$% q1vq1v&AacFAacF+;F%'2E37r%cZtjgdtj}tj|jdtjdddftjddgdddfz}t ||f}t |||||}t||d|yr'r2r8s r#test_multivalue_2dzTestGriddata.test_multivalue_2d4s HHN:: ' YYqwwqz 4QtV <xx1tAv&'FG$% aAfg >2E37r%ctjgdtj}tj|jdtj}|dddddftjgdddddfz}t ||f}t |||||}|jdk(sJ|t|tj|dddfdd| y) Nr(r+rrrrr-rrrr.r/ rr3r4r5r6r7rrtilerr rr r!xir9r"s r#test_multipoint_2dzTestGriddata.test_multipoint_2d@s HHN:: ' IIaggaj 3 qax[288G,T!D[9 9FG$% aBvw ?xx6!&3&!BGGAafIv6"C 1r%ctjgdtj}tj|jdtj}|d|dddzz }|dddddftjgdddddfz}t ||f}t |||||}|jdk(sJt|tj|dddfd d | y) Nr(r+r@rr>r-r?rAr.r/rBrDs r#test_complex_2dzTestGriddata.test_complex_2dPs HHN:: ' IIaggaj 3 1TrT7 N qax[288G,T!D[9 9FG$% aBvw ?xx6!!!BGGAafIv6"C 1r%c,tjgd}tjgd}tt||||||dtt|j dd|||||dtt|f||f|||dy)Nr@r@r@rrrg333333@rrr r.r1r0rNrrr3rrreshaperr r r!s r#test_1dzTestGriddata.test_1da HH+ , HH) *Aq8! &U 41a!QvF &U 4!q1$v> &U 4r%ctjgd}tjgd}tjddg}tjddg}d}tt||||||d tt|j d d |||||d tt|f||f|||d y) NrKrO?g@?r rPr.rQrNrrR)rr r!rE yi_shouldr s r#test_1d_borderszTestGriddata.test_1d_bordersms HH+ , HH) * XXsCj !HHc3Z( Ar(.01: &" $ 1a!R(.01: &" $ !B6(.01: &" $r%c,tjgd}tjgd}tt||||||dtt|j dd|||||dtt|f||f|||dy)N)rLrrMr@rNrrOrPg|=rQrNrrRrTs r#test_1d_unsortedzTestGriddata.test_1d_unsortedrVr%c tjgdtj}tjgdtj}tjgdtj}tjtjddddddftjddddddf\}}|j }|j }tj||gj j}|}t|||tjdd gz | } t||||d } t| | |d y)N)r)rd) r_)r`r)rr@r+)rrrr)皙?g?)rY@gg@g"@rr`r_gY@rPTr-g-q=rQ) rr3r4broadcast_arrayslinspaceravelTcopyrr) rr pointspoints_rescaledvaluesxxyyrEr9zi zi_rescaleds r#test_square_rescale_manualz'TestGriddata.test_square_rescale_manualsDBJJW((#L)+5/rzzB$$R[[B%;AdF%C%'[[C%tjgdgdgdg}d}d|zd|zgd|zd|zgf}t|d|df|d}tj|dz|dzzdz }t ||| tj tj gtj|dz|dzzdz }tj }t |||| d d gtj|dz|dzzdz}t ||| d d gy) N)rr*rr)rrr*rrrrrrarrrgHz>)distance_upper_bound)rprrb)rr3rsqrtrrinf)rrdelta query_pointsrrrs r#test_nearest_query_optionsz4TestNearestNDInterpolator.test_nearest_query_optionss. XX~%#%&E 1u9-E 1u9/EE #BqE2a5>2a5 9!wwuzEQJ'>?$F<>RSFFBFF+ - "wwuzEQJ'>?$F FF |2F! L #J "wwuzEQJ'>?$F |2F G #J r%ctjgdgdgdg}t|d|df|d}tt5|ddgd dddy#1swYyxYw) N)rrrr)rrrrrrrrr*znot a dictionary) query_options)rr3rrr TypeError)rrrs r#test_nearest_query_valid_inputsz9TestNearestNDInterpolator.test_nearest_query_valid_inputssg XX|##%&#BqE2a5>2a5 9 9 % = Sz); < = = =s  AA$cd\}}tj||zj||ftj|}t|}fd}t d||y)N)2rc|y)Nr~)_splr s r# worker_fnz=TestNearestNDInterpolator.test_concurrency..worker_fns Fr%r`)rr5rSrr )rrrr!rrr s @r#test_concurrencyz*TestNearestNDInterpolator.test_concurrencysYb IIdRi ( ($ 4 IIdO$Q*  It4r%N) ryrzr{rrrrpytestmark thread_unsaferr~r%r#rrs5 8 @ := [[ 5 5r%rc,eZdZedZedZy)TestNDInterpolatorsc.tjjd}|jd}|jd}tj||}tjt |t |}tjt |t |}tj||\}}tj|j|jfj}|tt|||} | |} | ||f} | |df} | ||} | |d}| j| jcxk(r0| jcxk(r | jcxk(r|jk(sJJy)Nrr`r)rrandom RandomStatehypotreminmaxmeshgridvstackrfrgrzipsize)rr rngr r!zXYXYinterpinterp_points0interp_points1interp_points2interp_points3interp_points4s r#test_broadcastable_inputz,TestNDInterpolators.test_broadcastable_inputsUii##A& JJrN JJrN HHQN KKAA ' KKAA '{{1a 1 YY 1779- . 0 0d3q!9oq1AC)13####$##$##$## $ %$ %$r%cdtjjd}|jd}|dddf|dddf}}tj||}|jd}|j d|j d|j d|||}||y)Nr)r`rr)rrF)write)rrrrsetflags) rr rxyr r!rrrs r#test_read_onlyz"TestNDInterpolators.test_read_only$sii##A& ZZ !Q$xAqD1 HHQNZZ  %     %  b!$r r%N)ryrzr{parametrize_interpolatorsrrr~r%r#rrs(%%8r%r)numpyrscipy._lib._array_apirrrrrrscipy.interpolaterrrr scipy._lib._testutilsr r parametrizerr|r}rrrr~r%r#rs*;;:#KK33*,@/1kk-- "kk--  [%[%|I5I5X..r%