Ë
    qwjH  ã                   óX   — d dl Z d dlZd dlZd dlmZ d dlZd dlmZ dd„Z	 G d„ d«      Z
y)é    N)Úassert_allclose)Úgeometric_slerpc                 ó
  — t         j                  j                  d«       t         j                  j                  || f¬«      }|t         j                  j                  |d¬«      d d …t         j                  f   z  }|d   |d   fS )Né{   )Úsizeé   ©Úaxisr   )ÚnpÚrandomÚseedÚnormalÚlinalgÚnormÚnewaxis)ÚndimÚn_ptsÚpointss      úc/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/spatial/tests/test_slerp.pyÚ_generate_spherical_pointsr      sj   € ô
 ‡I�I‡N�N�3ÔÜ�Y‰Y×Ñ E¨4 =ÐÓ1€FØ
Œb�i‰i�n‰n˜V¨!ˆnÓ,ªQ´·
±
¨]Ñ;Ñ;€FØ�!‰9�f˜Q‘iÐÐó    c                   óÚ  — e Zd Zej                  j                  dg d¢«      ej                  j                  dg d¢«      d„ «       «       Zej                  j                  dg d¢«      ej                  j                  dddg«      d„ «       «       Zej                  j                  d	 ej                  d
«       ej                  d
«      f ej                  d
«       ej                  d«      f ej                  d«       ej                  d«      fg«      d„ «       Zej                  j                  d	 ej                  d«       ej                  d«      f ej                  d«       ej                  d«      f ej                  g «       ej                  d«      fg«      d„ «       Zej                  j                  d	 ej                  g «       ej                  g «      fg«      d„ «       Zej                  j                  d ej                  g d¢«       ej                  g d¢«      df ej                  g d¢«       ej                  g d¢«      df ej                  g d¢«       ej                  g d¢«      dfg«      d„ «       Zej                  j                  d ej                  ddg«       ej                  ddg«       ej                  ddg ej                   d«      dz  dgd ej                   d«      dz  gddgg«      f ej                  g d¢«       ej                  g d¢«       ej                  g d¢ ej                   d«      dz  ddgd ej                   d«      dz  dgg d¢g«      f ej                  g d¢«       ej                  g d¢«       ej                  g d¢ ej                   d«      dz  ddddgd ej                   d«      dz  dddgg d¢g«      fg«      d „ «       Zej                  j                  d	 ej                  dg«       ej                  dg«      f ej                  dg«       ej                  dg«      f ej                  d!g«       ej                  d"g«      fg«      d#„ «       Zej                  j                  d$d%d&g d'¢ ej                  d(«      g«      d)„ «       Zej                  j                  d$d*d+g«      d,„ «       Zej                  j                  d	 ej                  ddg«       ej                  ddg«      f ej                  g d-¢«       ej                  g d.¢«      f ej                  g d/¢«       ej                  g d0¢«      fg«      d1„ «       Zej                  j                  d	 ej                  ddg«       ej                   ej                   d«      d2z   ej                   d«      d2z  g«      f ej                  ddg«       ej                   ej                   d«       d2z   ej                   d«      d2z  g«      fg«      ej                  j                  d3ej,                  ej.                  g«      d4„ «       «       Zej                  j                  d5d6g«      d7„ «       Zd8„ Zd9„ Zej                  j                  d: ej                  g d¢«       ej                  ddg«      g«      ej                  j                  d5 ej                  d«       ej                  dg«       ej                  dgg«       ej                  dggg«       ej                  g «       ej,                  ddd%«      g«      d;„ «       «       Zej                  j                  d< ej.                  d=d>d?«      «      d@„ «       Zej                  j                  d5ddggddgggggggggg«      dA„ «       Zej                  j                  dBddgddgddd>gfddg ej                   d«      dz   ej                   d«      dz  gdCdd>gfddg ej                   d«      dz   ej                   d«      dz  gdDd>dgfddg ej                   d«      dz   ej                   d«      dz  gd ej                   d«       dz   ej                   d«      dz  gfddg ej                   d«      dz   ej                   d«      dz  gg dE¢ ej                   d«       dz   ej                   d«      dz  gd>dgdd>ggfg d¢ ej                   d«      dz   ej                   d«      dz  dgg dE¢ ej                   d«       dz   ej                   d«      dz  dgg dF¢g dG¢gfddg ej                   d«      dz   ej                   d«      dz  gdH ej                   d«      dz  dgfg«      dI„ «       Z ej                  j                  dBg dJ¢g dK¢dLg dJ¢fg dJ¢g dK¢d>g dK¢fg«      dM„ «       Z!yN)OÚTestGeometricSlerpÚn_dims)é   é   é   é   é	   r   )r   r   é   c           	      óŽ   — t        |d«      \  }}t        ||t        j                  dd|«      ¬«      }|j                  ||fk(  sJ ‚y )Nr   r   r   ©ÚstartÚendÚt)r   r   r   ÚlinspaceÚshape©Úselfr   r   r#   r$   Úactuals         r   Útest_shape_propertyz&TestGeometricSlerp.test_shape_property   sK   € ô 0°¸Ó:‰
ˆˆsä  uØ%(Ü#%§;¡;¨q°!°UÓ#;ô=ˆð �|‰|  v˜Ò.Ð.Ñ.r   r   r    c           	      ó¤   — t        |d«      \  }}t        ||t        j                  dd|«      ¬«      }t	        |d   |«       t	        |d   |«       y )Nr   r   r   r"   éÿÿÿÿ)r   r   r   r&   r   r(   s         r   Útest_include_endsz$TestGeometricSlerp.test_include_ends'   sQ   € ô 0°¸Ó:‰
ˆˆsä  uØ%(Ü#%§;¡;¨q°!°UÓ#;ô=ˆô 	˜˜q™	 5Ô)Ü˜˜r™
 CÕ(r   z
start, end)r   r   r   )r   r   c           
      óª   — t        j                  t        d¬«      5  t        ||t	        j
                  ddd«      ¬«       d d d «       y # 1 sw Y   y xY w)Nzone-dimensional©Úmatchr   r   é
   r"   ©ÚpytestÚraisesÚ
ValueErrorr   r   r&   ©r)   r#   r$   s      r   Útest_input_shape_flatz(TestGeometricSlerp.test_input_shape_flat<   s=   € ô �]‰]œ:Ð->Ö?Ü %Ø #Ü Ÿk™k¨!¨Q°Ó3õ5÷ @×?Ñ?úó   œ$A	Á	Ar   r   c           
      óª   — t        j                  t        d¬«      5  t        ||t	        j
                  ddd«      ¬«       d d d «       y # 1 sw Y   y xY w)NÚ
dimensionsr0   r   r   r2   r"   r3   r7   s      r   Útest_input_dim_mismatchz*TestGeometricSlerp.test_input_dim_mismatchL   s;   € ô �]‰]œ:¨\Ö:Ü %Ø #Ü Ÿk™k¨!¨Q°Ó3õ5÷ ;×:Ñ:úr9   c           
      óª   — t        j                  t        d¬«      5  t        ||t	        j
                  ddd«      ¬«       d d d «       y # 1 sw Y   y xY w)Núat least two-dimr0   r   r   r2   r"   r3   r7   s      r   Útest_input_at_least1dz(TestGeometricSlerp.test_input_at_least1d]   s=   € ô �]‰]œ:Ð-?Ö@Ü %Ø #Ü Ÿk™k¨!¨Q°Ó3õ5÷ A×@Ñ@úr9   zstart, end, expected)r   r   ç      ð?)r   r   g      ð¿Úwarning)ç        gÔ¬3OD¿gkêš›ÿÿï?)rB   gè¾ÿ{tO¿gx¤€ÿÿï?Úsuccessc           
      óR  — |dk(  rHt        j                  t        d¬«      5  t        ||t	        j
                  ddd«      ¬«      }d d d «       n#t        ||t	        j
                  ddd«      ¬«      }t        t        j                  j                  d¬«      d	«       y # 1 sw Y   Œ5xY w)
NrA   Ú	antipodesr0   r   r   r2   r"   r	   r@   )	r4   ÚwarnsÚUserWarningr   r   r&   r   r   r   )r)   r#   r$   ÚexpectedÚress        r   Útest_handle_antipodesz(TestGeometricSlerp.test_handle_antipodesj   sˆ   € ð4 �yÒ Ü—‘œk°Ö=Ü%¨EØ*-Ü(*¯©°A°q¸"Ó(=ô?�÷ >Ð=ô
 "¨Ø&)Ü$&§K¡K°°1°bÓ$9ô;ˆCô 	œŸ	™	Ÿ™ s°˜Ó3°SÕ9÷ >Ð=ús   ¡$BÂB&r   ç      à?)r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   r   r   c           	      óf   — t        ||t        j                  ddd«      ¬«      }t        ||d¬«       y )Nr   r   é   r"   ç¼‰Ø—²Òœ<©Úatol)r   r   r&   r   )r)   r#   r$   rH   r*   s        r   Útest_straightforward_examplesz0TestGeometricSlerp.test_straightforward_examples“   s2   € ôD ! uØ%(Ü#%§;¡;¨q°!°QÓ#7ô9ˆô 	˜ ¨uÖ5r   g33333³1ÀgÍÌÌÌÌ¼d@c           
      óª   — t        j                  t        d¬«      5  t        ||t	        j
                  ddd«      ¬«      }d d d «       y # 1 sw Y   y xY w)Nr>   r0   r   r   rM   r"   r3   )r)   r#   r$   Ú_s       r   Útest_0_sphere_handlingz)TestGeometricSlerp.test_0_sphere_handlingº   s?   € ô �]‰]œ:Ð-?Ö@Ü eØ$'Ü"$§+¡+¨a°°AÓ"6ô8ˆA÷ A×@Ñ@úr9   Útolr   Ú7)r   é   r   g      "@c           
      ó   — t        j                  t        d¬«      5  t        t	        j
                  ddg«      t	        j
                  ddg«      t	        j                  ddd«      |¬«      }d d d «       y # 1 sw Y   y xY w)Nzmust be a floatr0   r   r   r   ©r#   r$   r%   rU   )r4   r5   r6   r   r   Úarrayr&   ©r)   rU   rS   s      r   Útest_tol_typez TestGeometricSlerp.test_tol_typeÊ   s\   € ô �]‰]œ:Ð->Ö?Ü¤b§h¡h°°1¨vÓ&6Ü$&§H¡H¨a°¨VÓ$4Ü"$§+¡+¨a°°AÓ"6Ø$'ô)ˆA÷ @×?Ñ?ús   œAA4Á4A=gñhãˆµøÔ¾gÆœÞC¾c           	      ó    — t        t        j                  ddg«      t        j                  ddg«      t        j                  ddd«      |¬«      }y )Nr   r   r   rY   )r   r   rZ   r&   r[   s      r   Útest_tol_signz TestGeometricSlerp.test_tol_signÛ   s@   € ô ¤"§(¡(¨A¨q¨6Ó"2Ü "§¡¨!¨Q¨Ó 0Ü Ÿk™k¨!¨Q°Ó2Ø #ô%‰r   )çzo ð?r   r   )r   çé!çýÿï?r   )r_   r   r   r   )r   r`   r   r   c           
      óª   — t        j                  t        d¬«      5  t        ||t	        j
                  ddd«      ¬«       d d d «       y # 1 sw Y   y xY w)Nzunit n-spherer0   r   r   r   r"   r3   r7   s      r   Útest_unit_sphere_enforcementz/TestGeometricSlerp.test_unit_sphere_enforcementç   s;   € ô  �]‰]œ:¨_Ö=Ü %Ø #Ü Ÿk™k¨!¨Q°Ó2õ4÷ >×=Ñ=úr9   g       @Út_funcc                 óè  — d}t         j                  j                  d«        |dd|«      }||j                  «       z  }t        j                  |«      }t        j
                  |«      }t         j                  j                  |«       |j                  «       |   }t        |||¬«      }	t        |||¬«      }
t        |||¬«      }t        |	t        j                  |
«      «       t        |	|   |«       y )Né   i  r   r2   r"   )
r   r   r   ÚmaxÚflipudÚarangeÚshuffleÚcopyr   r   )r)   r#   r$   rc   Ú
num_t_valsÚforward_t_valsÚreverse_t_valsÚshuffled_indicesÚscramble_t_valsÚforward_resultsÚreverse_resultsÚscrambled_resultss               r   Útest_order_handlingz&TestGeometricSlerp.test_order_handlingü   sá   € ð( ˆ
Ü
�	‰	�‰�sÔÙ  2 zÓ2ˆà˜.×,Ñ,Ó.Ñ.ˆÜŸ™ >Ó2ˆÜŸ9™9 ZÓ0ÐÜ
�	‰	×ÑÐ*Ô+Ø(×-Ñ-Ó/Ð0@ÑAˆä)°Ø.1Ø,:ô<ˆô *°Ø.1Ø,:ô<ˆô ,°%Ø03Ø.=ô?Ðô
 	˜¬¯©°?Ó)CÔDÜ˜Ð(8Ñ9Ø)õ	+r   r%   z15, 5, 7c                 óÌ   — t        j                  t        «      5  t        t	        j
                  dg«      t	        j
                  dg«      |¬«      }d d d «       y # 1 sw Y   y xY w)Nr   r   r"   )r4   r5   r6   r   r   rZ   )r)   r%   rS   s      r   Útest_t_values_conversionz+TestGeometricSlerp.test_t_values_conversion)  sB   € ô �]‰]œ:Õ&Ü¤b§h¡h°¨s£mÜ$&§H¡H¨a¨S£MØ"#ô%ˆA÷ '×&Ñ&ús   š7AÁA#c           	      ó^  — t        ddgddgg d¢«      }t        j                  ddgt        j                  d«      dz  dgt        j                  d«      dz  t        j                  d«      dz  gdt        j                  d«      dz  gddggt        j                  ¬«      }t        ||d¬	«       y )
Nr   r   )r   gUUUUUUÕ?rK   gUUUUUUå?r   r   r   rK   ©ÚdtyperN   rO   )r   r   rZ   ÚsqrtÚfloat64r   ©r)   r*   rH   s      r   Útest_accept_arraylikez(TestGeometricSlerp.test_accept_arraylike6  sŸ   € ô ! ! Q ¨!¨Q¨Ò1FÓGˆô
 —8‘8˜a ˜VÜ Ÿg™g a›j¨1™n¨cÐ2Ü Ÿg™g a›j¨1™nÜ Ÿg™g a›j¨1™nð.à!¤2§7¡7¨1£:°¡>Ð2Ø ˜Vð%ô
 -/¯J©Jô8ˆô 	˜ ¨uÖ5r   c                 ó  — t        ddgddgd«      }t        j                  t        j                  d«      dz  t        j                  d«      dz  gt        j                  ¬«      }|j
                  dk(  sJ ‚t        ||«       y )Nr   r   rK   r   rw   )r   )r   r   rZ   ry   rz   r'   r   r{   s      r   Útest_scalar_tz TestGeometricSlerp.test_scalar_tJ  sn   € ô ! ! Q ¨!¨Q¨°Ó5ˆÜ—8‘8œRŸW™W Q›Z¨!™^ÜŸW™W Q›Z¨!™^ð-Ü46·J±Jô@ˆà�|‰|˜tÒ#Ð#Ð#Ü˜ Õ)r   r#   c                 ó´  — t        j                  |«      j                  dkD  r1t        j                  t
        «      5  t        |||¬«       d d d «       y |j                  f|j                  z   }t        j                  ||«      }t        |||¬«      }t        ||«       t        ||d d d…   |¬«      }|j                  |j                  k(  sJ ‚y # 1 sw Y   y xY w)Nr   r"   r-   )r   Úasarrayr   r4   r5   r6   r   r   r'   Úfullr   )r)   r#   r%   r'   rH   r*   Únon_degenerates          r   Útest_degenerate_inputz(TestGeometricSlerp.test_degenerate_inputT  s±   € ô �:‰:�a‹=×Ñ Ò!Ü—‘œzÕ*Ü e°¸!Õ<÷ +Ð*ð —V‘V�I §¡Ñ+ˆEÜ—w‘w˜u eÓ,ˆHä$¨5°e¸qÔAˆFÜ˜F HÔ-ô -°5¸eÁDÀbÀD¹kÈQÔOˆNØ—;‘; .×"5Ñ"5Ò5Ð5Ñ5÷ +Ð*ús   ¼CÃCÚkiöÿÿÿr-   r2   c                 óN  — t         j                  |z
  }t        j                  ddd«      }t        j                  g d¢«      }t        j                  t        j                  |«      t        j
                  |«      ddg«      }t        j                  «       5  t        j                  dt        «       t        |||d«      }t         j                  j                  |d¬«      }t        j                  t        j                  |dz
  «      «      }|dk  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	Nr   r   éd   )r   r   r   r   Úignoreg¬CÒÑ]r2<r	   gVçž¯ò<)r   Úpir&   rZ   ÚcosÚsinÚwarningsÚcatch_warningsÚsimplefilterrG   r   r   r   rf   Úabs)	r)   r„   ÚangleÚtsÚPÚQÚresultÚnormsÚerrors	            r   Útest_numerical_stability_piz.TestGeometricSlerp.test_numerical_stability_piq  sÏ   € ô
 —‘˜‘	ˆÜ�[‰[˜˜A˜sÓ#ˆÜ�H‰H’\Ó"ˆÜ�H‰H”b—f‘f˜U“m¤R§V¡V¨E£]°A°qÐ9Ó:ˆô ×$Ñ$Õ&Ü×!Ñ! (¬KÔ8Ü$ Q¨¨2¨uÓ5ˆFÜ—I‘I—N‘N 6°�NÓ2ˆEÜ—F‘Fœ2Ÿ6™6 %¨!¡)Ó,Ó-ˆEØ˜5’=Ð ‘=÷ '×&Ñ&ús   ÂA<DÄD$c                 óP  — t        j                  ddg«      }t        j                  ddg«      }t        j                  t        «      5  t        |||¬«       d d d «       t        j                  t        «      5  t        |||¬«       d d d «       y # 1 sw Y   Œ:xY w# 1 sw Y   y xY w)Nr   r   r"   )r   rZ   r4   r5   r6   r   )r)   r%   Úarr1Úarr2s       r   Útest_interpolation_param_ndimz0TestGeometricSlerp.test_interpolation_param_ndim„  s�   € ô �x‰x˜˜A˜ÓˆÜ�x‰x˜˜A˜Óˆä�]‰]œ:Õ&Ü $Ø $Øõ!÷ 'ô
 �]‰]œ:Õ&Ü $Ø $Øõ!÷ 'Ð&÷ 'Ð&ú÷
 'Ð&ús   ÁBÁ8BÂBÂB%zstart, end, t, expectedrM   rW   )r   rW   rM   )r-   r   r   )r   r-   r   g«ªªªªªÀc                 ó<   — t        |||¬«      }t        ||d¬«       y )Nr"   g¼‰Ø—²Ò¬<rO   )r   r   ©r)   r#   r$   r%   rH   Úactual_paths         r   Útest_extrapolation_basicz+TestGeometricSlerp.test_extrapolation_basic˜  s%   € ôH &¨EØ*-Ø()ô+ˆô 	˜ X°EÖ:r   )r   r   r   )r   r   r-   éþÿÿÿc                 óœ   — t        j                  t        d¬«      5  t        |||¬«      }d d d «       t	        |d¬«       y # 1 sw Y   ŒxY w)NrE   r0   r"   gú}�-´<rO   )r4   rF   rG   r   r   rœ   s         r   Útest_extrapolation_antipodesz/TestGeometricSlerp.test_extrapolation_antipodesÁ  s:   € ô �\‰\œ+¨[Ö9Ü)°¸3À!ÔDˆK÷ :ä˜ X°GÖ<÷ :Ð9ús   œAÁAN)"Ú__name__Ú
__module__Ú__qualname__r4   ÚmarkÚparametrizer+   r.   r   ÚzerosÚonesr8   rZ   r<   r?   rJ   ry   rQ   rT   r\   r^   rb   r&   Úlogspacers   ru   r|   r~   rƒ   r–   rš   Úmathrž   r¡   © r   r   r   r      sm
  „ ð ‡[�[×Ñ˜X¢Ó7Ø‡[�[×Ñ˜W¢jÓ1ñ
/ó 2ó 8ð
/ð ‡[�[×Ñ˜X¢Ó7Ø‡[�[×Ñ˜W q¨" gÓ.ñ)ó /ó 8ð)ð& ‡[�[×Ñ˜\à	ˆ�‰�&Ó	˜7˜2Ÿ7™7 6›?Ð+à	ˆ�‰�&Ó	˜7˜2Ÿ7™7 1›:Ð&à	ˆ�‰�!‹�g�b—g‘g˜f“oÐ&ð,
ó ñ5óð5ð ‡[�[×Ñ˜\à	ˆ�‰�!‹�g�b—g‘g˜a“jÐ!à	ˆ�‰�!‹�g�b—g‘g˜a“jÐ!à	ˆ�‰�"‹�w�r—w‘w˜q“zÐ"ð,
ó ñ5óð5ð ‡[�[×Ñ˜\à	ˆ�‰�"‹�x�r—x‘x “|Ð$ð,
ó ñ5ó	ð5ð ‡[�[×ÑÐ3ð 
ˆ�‰’+Ó	  §¡ªÓ 6¸	ÐBð 
ˆ�‰ò "ó 
#à$, B§H¡Hª\Ó$:¸Ið	Gð 
ˆ�‰ò "ó 
#à$, B§H¡Hª\Ó$:¸Ið	Gð%6
ó ñ,:ó-ð,:ð& ‡[�[×ÑÐ3ð 
ˆ�‰�1�a�&Ó	Ø	ˆ�‰�1�a�&Ó	Ø	ˆ�‰�A�q�6Ø�B—G‘G˜A“J ‘N CÐ(Ø˜˜Ÿ™ › a™Ð(Ø�q�6ðó 
ð	ð 
ˆ�‰’)Ó	Ø	ˆ�‰’)Ó	Ø	ˆ�‰’9Ø�B—G‘G˜A“J ‘N C¨Ð+Ø˜˜Ÿ™ › a™¨Ð+Úðó 
ð	 ð 
ˆ�‰’/Ó	"Ø	ˆ�‰’/Ó	"Ø	ˆ�‰’?Ø�B—G‘G˜A“J ‘N C¨¨A¨qÐ1Ø˜˜Ÿ™ › a™¨¨A¨qÐ1Ú"ð$ó 
%ð	&ð+6ó ñ:6ó;ð:6ð ‡[�[×Ñ˜\Ø	ˆ�‰�1�#‹Ø	ˆ�‰�1�#‹ð	à	ˆ�‰�1�#‹Ø	ˆ�‰�1�#‹ð	à	ˆ�‰�5�'Ó	Ø	ˆ�‰�5�'Ó	ð	ð,ó ñ8óð8ð ‡[�[×Ñ˜Uà	àâ�8�2—8‘8˜C“=ð%
ó ñ)óð)ð ‡[�[×Ñ˜UØØð%
ó ñ%ó	ð%ð ‡[�[×Ñ˜\ð 
ˆ�‰�1�a�&Ó	˜8˜2Ÿ8™8 Q¨ FÓ+Ð,ð 
ˆ�‰Ò"Ó	#Ø	ˆ�‰Ò"Ó	#ð	%ð 
ˆ�‰Ò%Ó	&Ø	ˆ�‰Ò%Ó	&ð	(ð,
ó ñ4óð4ð ‡[�[×Ñ˜\à	ˆ�‰�1�a�&Ó	Ø	ˆ�‰�7�2—7‘7˜1“: ‘?Ø�2—7‘7˜1“: ‘?ð$ó 
%ð	&ð 
ˆ�‰�1�a�&Ó	Ø	ˆ�‰�G�B—G‘G˜A“J�; Ñ#Ø�2—7‘7˜1“: ‘?ð$ó 
%ð	&ð	,
ó 	ð ‡[�[×Ñ˜XØ
�‰�R—[‘[ð("ó #ñ+ó#ó	ð+ðB ‡[�[×Ñ˜Sàð#
ó ñ%óð%ò6ò(*ð ‡[�[×Ñ˜WØˆ�‰’ÓØˆ�‰�!�Q�Óð'ó ð ‡[�[×Ñ˜SØˆ�‰�‹Øˆ�‰�!�‹Øˆ�‰�1�#�‹Øˆ�‰�A�3�%�ÓØˆ�‰�‹Øˆ�‰�A�q˜!Óð#ó ñ6óó	ð6ð" ‡[�[×Ñ˜S + "§+¡+¨c°2°rÓ":Ó;ñ!ó <ð!ð$ ‡[�[×Ñ˜SØˆ#€h€ZØ�ˆXˆJˆ<ˆ.Ð	ÐÐÐÐð#ó ñ!ó	ð!ð  ‡[�[×ÑÐ6ð ˆQˆ�!�Q�˜˜Q ˜GÐ$ð ˆQˆ�)�$—)‘)˜A“,˜q‘. ) $§)¡)¨A£,¨q¡.Ð1°1°q¸"°gÐ>à
ˆQˆ�)�$—)‘)˜A“,˜q‘. ) $§)¡)¨A£,¨q¡.Ð1°1°r¸1°gÐ>à
ˆQˆ�)�$—)‘)˜A“,˜q‘. ) $§)¡)¨A£,¨q¡.Ð1°1Øˆ4�9‰9�Q‹<ˆ-˜‰/˜9˜4Ÿ9™9 Q›<¨™>Ð	*ð	,ð ˆQˆØ
ˆ$�)‰)�A‹,�q‰.˜)˜$Ÿ)™) A›, q™.Ð	)Ú	ØˆD�I‰I�a‹Lˆ=˜‰?˜I˜DŸI™I a›L¨™NÐ
+Øˆqˆ'Øˆbˆ'ð
ð	ò 
Ø
ˆ$�)‰)�A‹,�q‰.˜)˜$Ÿ)™) A›, q™.¨!Ð	,Ú	ØˆD�I‰I�a‹Lˆ=˜‰?˜I˜DŸI™I a›L¨™N¨AÐ
.Ú
Ú
ð
ð	ð ˆQˆ�)�$—)‘)˜A“,˜q‘. ) $§)¡)¨A£,¨q¡.Ð1°G¸y¸t¿y¹yÈ»|ÈA¹~ÈsÐ>SÐTðC"9ó "ñF;óG"ðF;ð ‡[�[×ÑÐ6ò ’
˜B¢	Ð*ò ’
˜B¢
Ð+ð9ó ñ=óñ=r   r   )r   r   )rª   r‹   Únumpyr   Únumpy.testingr   r4   Úscipy.spatialr   r   r   r«   r   r   Ú<module>r¯      s(   ðÛ Û ã Ý )ã Ý )ó ÷{=ò {=r   