Ë
    ÏÍ:jæ' ã                   ó’  — 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	m
Z
mZmZ d dlmZmZmZmZmZmZmZ d dlmZmZmZmZ d dl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' d d	l(m)Z)m*Z* d
„ Z+ G d„ d«      Z, G d„ d«      Z- G d„ d«      Z. G d„ d«      Z/ G d„ d«      Z0 G d„ d«      Z1 G d„ d«      Z2dd„Z3 G d„ d«      Z4y)é    N)Úraises)Úxp_assert_equalÚxp_assert_closeÚassert_almost_equalÚassert_array_almost_equal)ÚarrayÚdiffÚlinspaceÚmeshgridÚonesÚpiÚshape)ÚbisplrepÚbisplevÚsplrepÚspalde)	ÚUnivariateSplineÚLSQUnivariateSplineÚInterpolatedUnivariateSplineÚLSQBivariateSplineÚSmoothBivariateSplineÚRectBivariateSplineÚLSQSphereBivariateSplineÚSmoothSphereBivariateSplineÚRectSphereBivariateSpline)Ú_run_concurrent_barrier)Úmake_splrepÚ	NdBSpline)Ú_regridÚ_ndbspline_call_like_bivariatec                 óî   — | j                  «       \  }}| j                  \  }}t        |«      t        |«      }}| j                  «       j	                  ||z
  dz
  ||z
  dz
  f«      }t        ||f|||f«      S ©Né   )Ú	get_knotsÚdegreesÚlenÚ
get_coeffsÚreshaper   )ÚlutÚtxÚtyÚkxÚkyÚnxÚnyÚcs           úz/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_fitpack2.pyÚconvert_to_ndbspliner2      sr   € Ø�]‰]‹_�F€BˆØ�[‰[�F€BˆÜ�‹W”c˜"“gˆ€BØ�‰Ó× Ñ  " r¡'¨A¡+¨r°B©w¸©{Ð!;Ó<€AÜ�b˜"�X˜q 2 r (Ó+Ð+ó    c                   óê   — e Zd Zd„ Zej
                  j                  dddg«      d„ «       Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestUnivariateSplinec                 ó  — g d¢}g d¢}t        ||d¬«      }t        |j                  «       ddg«       t        |j                  «       ddg«       t	        |j                  «       «      dk  sJ ‚t         |g d¢«      g d¢«       y )N©r#   é   é   ©r9   r9   r9   r#   ©Úkr9   g»½×Ùß|Û=©r#   ç      ø?r8   ©r   r   r$   r'   ÚabsÚget_residual©ÚselfÚxÚyr)   s       r1   Útest_linear_constantz)TestUnivariateSpline.test_linear_constant#   sn   € ÚˆÚˆÜ˜q  QÔ'ˆÜ! #§-¡-£/°A°q°6Ô:Ü! #§.¡.Ó"2°Q¸°FÔ;Ü�3×#Ñ#Ó%Ó&¨Ò.Ð.Ð.Ü!¡#¢kÓ"2²IÕ>r3   Úbc_typeNÚperiodicc                 ó   — g d¢}g d¢}t        ||d¬«      }t        ||dt        |«      |¬«      }t        |j                  dd |j                  «       d¬«       t        |j                  |j                  «       d¬«       y )	Nr7   r:   r#   r;   )r<   ÚsrG   éÿÿÿÿçVçž¯Ò<©Úatol)r   r   r&   r   Útr$   r0   r'   )rC   rG   rD   rE   r)   Úspls         r1   Útest_linear_constant_periodicz2TestUnivariateSpline.test_linear_constant_periodic,   sc   € âˆÚˆÜ˜q  QÔ'ˆä˜!˜Q !¤s¨1£v°wÔ?ˆÜ˜Ÿ™˜a ˜ S§]¡]£_¸5ÕAÜ˜Ÿ™˜sŸ~™~Ó/°eÖ<r3   c                 ó<  — g d¢}g d¢}t        ||d¬«      }d}t        |«      t         ||«      «      k(  sJ ‚t        |«      t         ||d¬«      «      k(  sJ ‚g d¢}t        |«      t         ||«      «      k(  sJ ‚t        |«      t         ||d¬«      «      k(  sJ ‚y )Nr7   ©r   r8   é   r#   r;   r8   ©Únu)r>   r8   ç      @)r   r   )rC   rD   rE   r)   Úargs        r1   Útest_preserve_shapez(TestUnivariateSpline.test_preserve_shape6   s’   € ÚˆÚˆÜ˜q ! qÔ)ˆØˆÜ�S‹zœU¡3 s£8›_Ò,Ð,Ð,Ü�S‹zœU¡3 s¨q¤>Ó2Ò2Ð2Ð2ÚˆÜ�S‹zœU¡3 s£8›_Ò,Ð,Ð,Ü�S‹zœU¡3 s¨q¤>Ó2Ò2Ð2Ñ2r3   c                 ó  — g d¢}g d¢}t        ||d¬«      }t        |j                  «       ddg«       t        |j                  «       ddg«       t	        |j                  «       «      dk  sJ ‚t         |g d	¢«      g d
¢«       y )Nr7   rS   r#   r;   r9   r   rT   rL   r=   )r   r#   r8   r?   rB   s       r1   Útest_linear_1dz#TestUnivariateSpline.test_linear_1dA   sm   € ÚˆÚˆÜ˜q  QÔ'ˆÜ! #§-¡-£/°1°Q°%Ô8Ü! #§.¡.Ó"2°A°a°5Ô9Ü�3×#Ñ#Ó%Ó&¨Ò.Ð.Ð.Ü!¡#¢i£.²Õ9r3   c                 ól   —  G d„ dt         «      } |g d¢g d¢d¬«      }t         |ddg«      d	d	g«       y )
Nc                   ó   — e Zd Zd„ Zy)ú9TestUnivariateSpline.test_subclassing.<locals>.ZeroSplinec                 ó   — dt        |«      z  S )Nr   )r   )rC   rD   s     r1   Ú__call__zBTestUnivariateSpline.test_subclassing.<locals>.ZeroSpline.__call__N   s   € Øœ˜q›‘zÐ!r3   N)Ú__name__Ú
__module__Ú__qualname__r`   © r3   r1   Ú
ZeroSpliner^   M   s   „ ó"r3   re   ©r#   r8   r9   rT   é   )r9   r8   r9   r8   r9   r8   r;   r>   rW   ç        )r   r   )rC   re   Úsps      r1   Útest_subclassingz%TestUnivariateSpline.test_subclassingJ   s5   € ô	"Ô)ô 	"ñ š¢[°AÔ6ˆÜ™˜C ˜:›¨¨R¨Õ1r3   c                 óf   — g d¢}g d¢}t        ||d¬«      }t         |g «      t        g «      «       y )N©r#   r9   rg   é   é	   ©r   rT   rn   é   é   r9   r;   )r   r   r   ©rC   rD   rE   rP   s       r1   Útest_empty_inputz%TestUnivariateSpline.test_empty_inputT   s,   € âˆÚˆÜ˜q ! qÔ)ˆÜ™˜B›¤ r£Õ+r3   c                 ój   — g d¢}g d¢}t        ||d¬«      }t        |j                  «       d   d«       y )Nrl   ro   r9   r;   r   g7Ã£ŽýÍð?)r   r   Úrootsrr   s       r1   Ú
test_rootszTestUnivariateSpline.test_roots[   s/   € ÚˆÚˆÜ˜q ! qÔ)ˆÜ˜CŸI™I›K¨™NÐ,=Õ>r3   c                 óÖ   — t        j                  ddt         j                  z  d«      }t        j                  |«      }t	        ||d¬«      }t        |j                  «       «      dk(  sJ ‚y )Nr   é2   éè  ©rJ   )Únpr
   r   Úcosr   r&   ru   rr   s       r1   Útest_roots_lengthz&TestUnivariateSpline.test_roots_lengtha   sP   € Ü�K‰K˜˜2¤§¡™: tÓ,ˆÜ�F‰F�1‹IˆÜ˜q ! qÔ)ˆÜ�3—9‘9“;Ó 2Ò%Ð%Ñ%r3   c                 ój   — g d¢}g d¢}t        ||d¬«      }t        |j                  d«      g d¢«       y )Nrl   ro   r9   r;   ç      @)gÌó;¨@gpZ•é<oû?gOÀ¼¶mÇ¿g      Ô?)r   r   Úderivativesrr   s       r1   Útest_derivativesz%TestUnivariateSpline.test_derivativesg   s1   € ÚˆÚˆÜ˜q ! qÔ)ˆÜ˜CŸO™O¨CÓ0ÚFõ	Hr3   c                 óö   — t        j                  d«      }|dz  d|dz  z  z   }t        ||d¬«      }t        d|«      }t	        |g d¢d¬	«       t        ||dd¬
«      }t	        |j                  d«      |d¬	«       y )Né   r9   ç       @r8   r   rz   )g     €F@g     €C@g      6@ç      @rL   rM   )rJ   r<   )r{   Úaranger   r   r   r   r€   )rC   rD   rE   ÚtckÚdersrP   s         r1   Útest_derivatives_2z'TestUnivariateSpline.test_derivatives_2n   s|   € Ü�I‰I�a‹LˆØˆq‰D�2�a˜‘d‘7‰Nˆä�Q˜˜QÔˆÜ�a˜‹~ˆÜ˜ò #ð #õ		$ô
 ˜q ! q¨AÔ.ˆÜ˜Ÿ™¨Ó*ØØ"ö	$r3   c                 ó€   — g d¢}g d¢}g d¢}t        |||d¬«      }t        g d¢«      }t         |g d¢«      |d¬	«       y)
zRegression test for #1375.)ç      ð¿gææ<ß&Îä¿g_�µ€Õâ¿g@ø³Ìà7Ñ¿gš46	<Æ¿gŠÅóBÏ ¹¿rh   gŠÅóBÏ ¹?gš46	<Æ?g@ø³Ìà7Ñ?g_�µ€Õâ?gææ<ß&Îä?ç      ð?)rŒ   ç1\_#ä?ç~aèÇ�â?çwõÆÿ“Ù?ç¶ß5?×?ç0¯m›sÖ?gî­x—‰Ö?r‘   r�   r�   rŽ   r�   rŒ   )ç   ¢”mBçoÙ!þ‡…@çuª)	•~@ç¡eÝ?Ö­z@ç½Œbùý‚@ç¦Öû�v5|@geS®ð®×s@r—   r–   r•   r”   r“   r’   N)rD   rE   ÚwrJ   )gJ·dØvÖ?gÔc�Œà?gœž=¸ì?gt²—ï?©çš™™™™™¹?ç      à?çÍÌÌÌÌÌì?g®Gáz®ï?gü©ñÒMb@?rM   )r   r   r   )rC   rD   rE   r˜   rP   Údesireds         r1   Útest_resize_regressionz+TestUnivariateSpline.test_resize_regression~   sF   € òˆòˆòˆô   a¨1°Ô5ˆÜÒHÓIˆÜ™Ò1Ó2°GÀ$ÖGr3   c           
      ó¾  — t        j                  dt        ¬«      }|dz  }t        ddd«      }|j	                  «       }d|t        j
                  |dk  |d	kD  «      <   |j	                  «       }|d   |||d   k  <   |d
   |||d
   kD  <   t        t        fD ]ï  } |||¬«      }dD ];  }t         |||¬«      |dz  d¬«       t          ||||¬«      |«      |dz  d¬«       Œ= dD ];  }t         |||¬«      |dz  d¬«       t          ||||¬«      |«      |dz  d¬«       Œ= dD ]  }t        t        ||fi t        |¬«      ¤Ž Œ  dD ];  }t         |||¬«      |dz  d¬«       t          ||||¬«      |«      |dz  d¬«       Œ= Œñ j                  «       dd }	t        |||	«      }t         ||d¬«      |dz  d¬«       t         ||d¬«      |dz  d¬«       t        t        ||fi t        d¬«      ¤Ž t         ||d¬«      |dz  d¬«       dD ]K  }t        ||«      }t        t        ||fi t        |¬«      ¤Ž t        t        t        fi t        |||¬«      ¤Ž ŒM y )Nrg   ©Údtyper9   éøÿÿÿé   éd   r   rh   ç      @rK   )rD   rE   )r   Úextrapolate)Úextg¼‰Ø—²Òœ<rM   )r#   Úzeros)r8   Úraise)r9   Úconstg¼‰Ø—²Ò¬<rT   r#   r8   )rK   Úunknown)rD   rE   r§   )r{   r†   Úfloatr
   ÚcopyÚ
logical_orr   r   r   Úassert_raisesÚ
ValueErrorÚdictr$   r   )
rC   rD   rE   ÚxpÚxp_zerosÚxp_clipÚclsrP   r§   rO   s
             r1   Útest_out_of_range_regressionz1TestUnivariateSpline.test_out_of_range_regressionŽ   sx  € ä�I‰I�aœuÔ%ˆØˆq‰Dˆä�b˜"˜cÓ"ˆØ—7‘7“9ˆØ@Aˆ”—‘˜x¨"™}¨h¸©mÓ<Ñ=Ø—'‘'“)ˆØ"# A¡$ˆ�˜!˜A™$‘ÑØ#$ R¡5ˆ�˜!˜B™%‘Ñ ä$Ô&BÐCò 	PˆCÙ˜˜Q”-ˆCØ)ò K�Ü¡ B¨CÔ 0°"°a±%¸eÕDÜÐ 2¡ A q¨cÔ 2°2Ó 6¸¸A¹ÀEÖJðKð $ò Q�Ü¡ B¨CÔ 0°(¸A±+ÀEÕJÜÐ 2¡ A q¨cÔ 2°2Ó 6¸À!¹È%ÖPðQð $ò D�Üœj¨#¨rÑC´T¸c´]ÓCðDà#ò P�Ü¡ B¨CÔ 0°'¸1±*À5ÕIÜÐ 2¡ A q¨cÔ 2°2Ó 6¸À¹
ÈÖOñPð	Pð �M‰M‹O˜A˜aÐ ˆÜ! ! Q¨Ó*ˆÜ™˜B Aœ¨¨A©°EÕ:Ü™˜B Aœ¨°!©¸%Õ@Ü”j # rÑ9¬T°a¬[Ò9Ü™˜B Aœ¨°©
¸Õ?ð #ò 	/ˆCÜ" 1 aÓ(ˆCÜœ* c¨2Ñ?´¸#´Ò?Üœ*Ô&6ñ /Ü˜Q !¨Ô-ó/ñ	/r3   c                 óÈ   — t        j                  d«      dz  }t        j                  d«      dz  }t        j                  ddd«      }d}t        t        t
        ||||¬«       y )Nr¤   rŒ   r   éc   é
   )rK   ée   ©Úbbox)r{   r†   r
   r¯   r°   r   )rC   ÚxsÚysÚknotsr¼   s        r1   Útest_lsq_fpchecz$TestUnivariateSpline.test_lsq_fpchec·   sS   € Ü�Y‰Y�s‹^˜bÑ ˆÜ�Y‰Y�s‹^˜bÑ ˆÜ—‘˜A˜r 2Ó&ˆØˆÜ”jÔ"5°r¸2¸uØö	!r3   c                 óf  — t        j                  ddd«      dz  }t        j                  |«      }t        ||d¬«      }|j	                  d«      j                  d«      }t         |d«       |d«      «       |j	                  d«      }t         |d«       |d	«      z
  |j                  d	d«      «       y )
Nr   r#   éF   r9   rz   r8   ç333333Ó?g333333ã?çš™™™™™É?)r{   r
   r|   r   ÚantiderivativeÚ
derivativer   Úintegral)rC   rD   rE   rP   Úspl2s        r1   Ú"test_derivative_and_antiderivativez7TestUnivariateSpline.test_derivative_and_antiderivative¿   s–   € ä�K‰K˜˜1˜bÓ! 1Ñ$ˆÜ�F‰F�1‹Iˆä˜q ! qÔ)ˆØ×!Ñ! !Ó$×/Ñ/°Ó2ˆÜ™˜C›¡$ s£)Ô,à×!Ñ! !Ó$ˆÜ™˜S›	¡D¨£IÑ-ØŸ™ S¨#Ó.õ	0r3   c                 ó¤   — g d¢}g d¢}t        ||dd¬«      }g d¢}t         |j                  «       |«      t        j                  |«      d¬«       y )	N©r#   r8   rT   é   g      !@)r›   çš™™™™™é?çÍÌÌÌÌÌô?rW   rg   rª   r9   )r§   r<   )rK   r   g      à¿rn   g      #@r¹   rL   rM   )r   r   rÆ   r{   Ú
zeros_like)rC   Úx_valuesÚy_valuesÚfrD   s        r1   Útest_derivative_extrapolationz2TestUnivariateSpline.test_derivative_extrapolationÌ   sE   € ò %ˆÚ*ˆÜ˜X x°WÀÔBˆâ%ˆÜ˜˜Ÿ™› qÓ)¬2¯=©=¸Ó+;À%ÖHr3   c                 óÄ   — t        j                  ddd«      }t        d«      D ];  }t        ||d|¬«      }dD ]%  \  }}t	        |j                  ||«      «      dk  rŒ%J ‚ Œ= y )	Nrh   rŒ   rm   rT   r   )rJ   r§   )©r#   r#   )r#   rg   )r8   rg   ©r   r   )éþÿÿÿr   )r×   rK   rL   )r{   r
   Úranger   r@   rÇ   )rC   rD   r§   rÒ   ÚaÚbs         r1   Útest_integral_out_of_boundsz0TestUnivariateSpline.test_integral_out_of_boundsÖ   sl   € ô �K‰K˜˜B Ó"ˆÜ˜“8ò 	5ˆCÜ   A¨°Ô4ˆAð6ò 5‘��Aä˜1Ÿ:™: a¨Ó+Ó,¨uÓ4Ð4Ð4ñ5ñ	5r3   c                 óØ  — t        j                  dt        ¬«      }|dz  }t        j                  |«      }t	        ||d¬«      }|j                  «       dd }|d   }t         j                  t         j                  t         j                   fD ]Ü  }||d<   t        t        t        fi t        ||d¬«      ¤Ž t        t        t        fi t        ||d¬«      ¤Ž t        t        t        fi t        |||d¬	«      ¤Ž ||d<   ||d<   t        t        t        fi t        |||d¬
«      ¤Ž t        t        t        fi t        |||d¬
«      ¤Ž t        t        t        fi t        ||||d¬«      ¤Ž ŒÞ y )Nr¹   r    r9   T©Úcheck_finiterT   rK   ©rD   rE   rÞ   )rD   rE   rO   rÞ   )rD   rE   r˜   rÞ   ©rD   rE   rO   r˜   rÞ   )r{   r†   r¬   Ú	ones_liker   r$   ÚnanÚinfr¯   r°   r±   r   r   )rC   rD   rE   r˜   rP   rO   Úy_endÚzs           r1   Útest_nanzTestUnivariateSpline.test_nanà   sR  € ä�I‰I�b¤Ô&ˆØˆq‰DˆÜ�L‰L˜‹Oˆä˜q !°$Ô7ˆØ�M‰M‹O˜A˜aÐ ˆØ�"‘ˆÜ—&‘&œ"Ÿ&™&¤2§6¡6 'Ð*ò 	CˆAØˆAˆb‰EÜœ*Ô&6ñ 9Ü˜Q !°$Ô7ò9äœ*Ô&Bñ 9Ü˜Q !°$Ô7ò9äœ*Ô&9ñ >Ü˜Q ! q°tÔ<ò>àˆAˆb‰EØˆAˆb‰EÜœ*Ô&6ñ >Ü˜Q ! q°tÔ<ò>äœ*Ô&Bñ >Ü˜Q ! q°tÔ<ò>äœ*Ô&9ñ CÜ˜Q ! q¨A¸DÔAóCñ	Cr3   c           
      óÆ  — t        j                  dt        ¬«      }|dz  }t        j                  dt        ¬«      }|d   |d<   |dz  }t        j                  |«      }t	        ||d¬«      }|j                  «       dd }t	        |||dd¬	«       t        ||||d¬
«       t        t        t        fi t        ||dd¬«      ¤Ž t        t        t        fi t        ||d¬«      ¤Ž y )Nr¹   r    r9   r   r#   TrÝ   rT   )rD   rE   r˜   rJ   rÞ   rà   )rD   rE   rJ   rÞ   rß   )r{   r†   r¬   rá   r   r$   r   r¯   r°   r±   r   ©rC   ÚxxÚyyrD   rE   r˜   rP   rO   s           r1   Útest_strictly_increasing_xz/TestUnivariateSpline.test_strictly_increasing_xú   sÎ   € ô
 �Y‰Y�r¤Ô'ˆØ�‰UˆÜ�I‰I�b¤Ô&ˆØ�‰tˆˆ!‰Øˆq‰DˆÜ�L‰L˜‹Oˆä˜r 2°DÔ9ˆØ�M‰M‹O˜A˜aÐ ˆÜ˜1  Q¨!¸$Õ?Ü˜a 1¨¨Q¸TÕBÜ”jÔ"2ñ 	:Ü˜˜a 1°4Ô8ò	:ä”jÔ">ñ 	5Ü˜˜a¨dÔ3ó	5r3   c                 óÐ  — t        j                  dt        ¬«      }|dz  }t        j                  dt        ¬«      }|d   dz
  |d<   |dz  }t        j                  |«      }t	        ||d¬«      }|j                  «       dd	 }t        t        t        fi t        ||d¬
«      ¤Ž t        t        t        fi t        ||d¬
«      ¤Ž t        t        t        fi t        ||||d¬«      ¤Ž y )Nr¹   r    r9   r   rŒ   r#   TrÝ   rT   rß   rà   )r{   r†   r¬   rá   r   r$   r¯   r°   r±   r   r   rè   s           r1   Útest_increasing_xz&TestUnivariateSpline.test_increasing_x  sÐ   € ä�Y‰Y�r¤Ô'ˆØ�‰UˆÜ�I‰I�b¤Ô&ˆØ�‰t�c‰zˆˆ!‰Øˆq‰DˆÜ�L‰L˜‹Oˆä˜r 2°DÔ9ˆØ�M‰M‹O˜A˜aÐ ˆÜ”jÔ"2ñ 	5Ü˜˜a¨dÔ3ò	5ä”jÔ">ñ 	5Ü˜˜a¨dÔ3ò	5ä”jÔ"5ñ 	?Ü˜˜a 1¨¸Ô=ó	?r3   c                 ó  — t        t        «      5 }g d¢}g d¢}t        ||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }g d¢}g d¢}g d¢}t        |||¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }d}t        |¬	«       d d d «       d
t        |j                  «      v sJ ‚t        t        «      5 }t        d¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �Œ.xY w# 1 sw Y   ŒïxY w# 1 sw Y   ŒºxY w# 1 sw Y   Œ‡xY w# 1 sw Y   ŒTxY w)NrË   ©r›   rÍ   rÎ   rW   ú!x and y should have a same length©r›   rÍ   rÎ   rW   gffffff@©r‹   rŒ   rŒ   rŒ   ©r˜   ú%x, y, and w should have a same lengthrK   r»   úbbox shape should be (2,)rÌ   r;   úk should be 1 <= k <= 5r‹   rz   ús should be s >= 0.0)r¯   r°   r   ÚstrÚvalue©rC   ÚinforÐ   rÑ   Úw_valuesr¼   s         r1   Ú(test_invalid_input_for_univariate_splinez=TestUnivariateSpline.test_invalid_input_for_univariate_spline!  si  € äœ:Ó&ð 	1¨$Ú(ˆHÚ+ˆHÜ˜X xÔ0÷	1ð 3´c¸$¿*¹*³oÑEÐEÐEäœ:Ó&ð 	=¨$Ú(ˆHÚ0ˆHÚ,ˆHÜ˜X x°8Õ<÷		=ð
 7¼#¸d¿j¹j»/ÑIÐIÐIäœ:Ó&ð 	<¨$ØˆDÜ˜X x°dÕ;÷	<ð +¬c°$·*±*«oÑ=Ð=Ð=äœ:Ó&ð 	6¨$Ü˜X x°1Õ5÷	6à(¬C°·
±
«OÑ;Ð;Ð;äœ:Ó&ð 	9¨$Ü˜X x°4Õ8÷	9à%¬¨T¯Z©Z«Ñ8Ð8Ñ8÷1	1ñ 	1ú÷	=ð 	=ú÷	<ð 	<ú÷
	6ð 	6ú÷	9ð 	9ús;   �EÁEÂ E*Ã!E6Ä FÅEÅE'Å*E3Å6E?ÆFc                 ó„  — t        t        «      5 }g d¢}g d¢}t        ||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }g d¢}g d¢}g d¢}t        |||¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }d}t        |¬	«       d d d «       d
t        |j                  «      v sJ ‚t        t        «      5 }t        d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   ŒîxY w# 1 sw Y   Œ¯xY w# 1 sw Y   ŒzxY w# 1 sw Y   ŒGxY w)NrË   rï   rð   rñ   rò   ró   rô   rK   r»   rõ   rÌ   r;   rö   )r¯   r°   r   rø   rù   rú   s         r1   Ú5test_invalid_input_for_interpolated_univariate_splinezJTestUnivariateSpline.test_invalid_input_for_interpolated_univariate_spline=  s4  € äœ:Ó&ð 	=¨$Ú(ˆHÚ+ˆHÜ(¨°8Ô<÷	=ð 3´c¸$¿*¹*³oÑEÐEÐEäœ:Ó&ð 	I¨$Ú(ˆHÚ0ˆHÚ,ˆHÜ(¨°8¸xÕH÷		Ið
 7¼#¸d¿j¹j»/ÑIÐIÐIäœ:Ó&ð 	H¨$ØˆDÜ(¨°8À$ÕG÷	Hð +¬c°$·*±*«oÑ=Ð=Ð=äœ:Ó&ð 	B¨$Ü(¨°8¸qÕA÷	Bà(¬C°·
±
«OÑ;Ð;Ñ;÷)	=ð 	=ú÷	Ið 	Iú÷	Hð 	Hú÷
	Bð 	Bús/   �DÁDÂ D*Ã!D6ÄDÄD'Ä*D3Ä6D?c                 óR  — g d¢}g d¢}t        ||d¬«      }|j                  «       dd }t        t        «      5 }g d¢}g d¢}t	        |||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }g d¢}g d¢}g d	¢}t	        ||||¬
«       d d d «       dt        |j                  «      v sJ ‚d}t        t        |¬«      5 }d}t	        ||||¬«       d d d «       t        t        «      5 }d}t	        ||||¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        |||d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒßxY w# 1 sw Y   Œ¥xY w# 1 sw Y   ŒˆxY w# 1 sw Y   ŒTxY w)NrË   rñ   TrÝ   r9   rT   rï   rð   )rŒ   rŒ   rŒ   rŒ   ró   rô   z;Interior knots t must satisfy Schoenberg-Whitney conditions©Úmatch)r¤   éœÿÿÿr»   rK   rõ   rÌ   r;   rö   )r   r$   r¯   r°   r   rø   rù   )	rC   rÐ   rÑ   rP   Út_valuesrû   rü   Úmessager¼   s	            r1   Ú,test_invalid_input_for_lsq_univariate_splinezATestUnivariateSpline.test_invalid_input_for_lsq_univariate_splineU  s¥  € â$ˆÚ,ˆÜ˜x¨ÀÔEˆØ—=‘=“? 1 QÐ'ˆäœ:Ó&ð 	>¨$Ú(ˆHÚ+ˆHÜ ¨(°HÔ=÷	>ð 3´c¸$¿*¹*³oÑEÐEÐEäœ:Ó&ð 	J¨$Ú(ˆHÚ0ˆHÚ+ˆHÜ ¨(°HÀÕI÷		Jð
 7¼#¸d¿j¹j»/ÑIÐIÐIàOˆÜœ:¨WÔ5ð 	I¸ØˆDÜ ¨(°HÀ4ÕH÷	Iô œ:Ó&ð 	I¨$ØˆDÜ ¨(°HÀ4ÕH÷	Ið +¬c°$·*±*«oÑ=Ð=Ð=äœ:Ó&ð 	C¨$Ü ¨(°HÀÕB÷	Cà(¬C°·
±
«OÑ;Ð;Ñ;÷3	>ñ 	>ú÷	Jð 	Jú÷	Ið 	Iú÷	Ið 	Iú÷
	Cð 	Cús;   ¹E,Á?E9ÃFÃ8FÄ:FÅ,E6Å9FÆFÆFÆF&c                 ó   — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  ddg«      }t        ||||¬«      }t        |j                  «       |j                  «       |j                  «       |j                  «       ¬«      }t	         |g d¢«       |g d¢«      «       y )NrË   rñ   )rŒ   rŒ   rŒ   rŒ   rŒ   r  r¤   )rD   rE   r˜   r¼   r™   )r{   r   r   Útolistr   )rC   rÐ   rÑ   rü   r¼   Úspl1rÈ   s          r1   Útest_array_like_inputz*TestUnivariateSpline.test_array_like_inputw  s    € Ü—8‘8Ò-Ó.ˆÜ—8‘8Ò5Ó6ˆÜ—8‘8Ò5Ó6ˆÜ�x‰x˜˜s˜Ó$ˆä (¨h¸(Ø%)ô+ˆô   (§/¡/Ó"3°x·±Ó7HØ"*§/¡/Ó"3¸$¿+¹+»-ôIˆô 	™Ò2Ó3ÙÒ2Ó3õ	5r3   c                 ó¢   — t        d«      }g d¢}d}t        j                  t        |¬«      5  t	        ||d¬«       d d d «       y # 1 sw Y   y xY w)Ném   )mrh   rh   rh   rh   rh   çÍÌÌÌÌÌ%@rh   ç      &@rh   rh   rh   r  rh   rh   rh   rh   rh   rh   r  rh   rh   rh   r  rh   rh   rh   r  rh   rh   rh   ç      %@rh   rh   rh   çffffff%@rh   rh   rh   r  rh   rh   rh   rh   rh   rh   r  rh   rh   r  rh   rh   rh   ç333333%@rh   rh   rh   r  rh   rh   r  rh   rh   r  rh   rh   g      '@rh   rh   rh   r  rh   rh   r  rh   rh   r  rh   rh   çš™™™™™%@rh   rh   rh   r  rh   rh   r  rh   rh   rh   çÍÌÌÌÌÌ$@rh   rh   r  rh   rh   r  rh   rh   rh   r  rh   rh   rh   r  rh   rh   rh   r  rh   z2does not satisfy the condition abs\(fp-s\)/s < tolr  r#   r;   )rØ   ÚpytestÚwarnsÚUserWarningr   )rC   rD   rE   Úmsgs       r1   Útest_fpknot_oob_crashz*TestUnivariateSpline.test_fpknot_oob_crash†  sI   € ä�#‹Jˆò;ˆð DˆÜ�\‰\œ+¨SÔ1ñ 	(Ü˜Q  QÕ'÷	(÷ 	(ñ 	(ús   ­AÁAc                 óÈ   — t        j                  dt        ¬«      }|dz  }t        j                  dt        ¬«      }|d   |d<   t        ||d¬«      }d„ }t	        d	|||«       y )
Nr¤   r    r9   r   r#   TrÝ   c                 ó   —  ||«       y ©Nrd   )Ú_ÚinterprD   s      r1   Ú	worker_fnz8TestUnivariateSpline.test_concurrency.<locals>.worker_fn¢  s	   € Ù�1�Ir3   r¹   )r{   r†   r¬   r   r   )rC   ré   rê   rD   rP   r  s         r1   Útest_concurrencyz%TestUnivariateSpline.test_concurrency™  s]   € ô �Y‰Y�s¤%Ô(ˆØ�‰UˆÜ�I‰I�c¤Ô'ˆØ�‰tˆˆ!‰Ü˜r 2°DÔ9ˆò	ô 	   I¨s°AÕ6r3   c                 óú  — t        j                  g d¢«      }t        j                  g d¢«      }|j                  dd«      }|j                  dd«      }t        ||«      }t        ||«      }t        j                  g d¢«      }t         j                  j                   ||«       ||«      «       |j                  dd«      }|j                  dd«      }	t        ||	«      }
t         j                  j                   ||«       |
|«      «       t        j                  g d¢g d¢g«      }t        j                  g d¢g d	¢g«      }t        j                  t        d
¬«      5  t        ||«       ddd«       y# 1 sw Y   yxY w)z=Test that 2D arrays are flattened correctly in Fortran order.)rh   rŒ   r„   ç      @r¥   ç      @)rh   rŒ   r¥   ç      "@ç      0@ç      9@rK   r#   )r›   r>   rW   r   )rŒ   r„   r!  )r¥   r"  r…   )rŒ   r¥   r#  )r$  r%  g      B@zx\[0\]<x\[1\]<r  N)	r{   r   r(   r   ÚtestingÚassert_allcloser  r  r  )rC   Úx_1dÚy_1dÚx_colÚy_colÚspl_1dÚspl_colÚtest_pointsÚx_rowÚy_rowÚspl_rowÚx_2dÚy_2ds                r1   Útest_curfit_2d_array_handlingz2TestUnivariateSpline.test_curfit_2d_array_handling§  s7  € ô �x‰xÒ0Ó1ˆÜ�x‰xÒ2Ó3ˆð —‘˜R Ó#ˆØ—‘˜R Ó#ˆä-¨d°DÓ9ˆÜ.¨u°eÓ<ˆä—h‘hÒ3Ó4ˆÜ
�
‰
×"Ñ"¡6¨+Ó#6¹ÀÓ8LÔMð —‘˜Q Ó#ˆØ—‘˜Q Ó#ˆä.¨u°eÓ<ˆÜ
�
‰
×"Ñ"¡6¨+Ó#6¹ÀÓ8LÔMô �x‰xšÚ$ð&ó 'ˆä�x‰xšÚ'ð)ó *ˆô �\‰\œ+Ð-AÔBñ 	5Ü(¨¨tÔ4÷	5÷ 	5ñ 	5ús   ÅE1Å1E:) ra   rb   rc   rF   r  ÚmarkÚparametrizerQ   rY   r[   rj   rs   rv   r}   r�   r‰   rž   r¶   rÀ   rÉ   rÓ   rÛ   ræ   rë   rí   rý   rÿ   r  r
  r  r  r4  rd   r3   r1   r5   r5   "   s¯   „ ò?ð ‡[�[×Ñ˜Y¨¨zÐ(:Ó;ñ=ó <ð=ò	3ò:ò2ò,ò?ò&òHò$ò Hò '/òR!ò0òIò5òCò45ò*?ò$9ò8<ò0 <òD5ò(ò&7ó)5r3   r5   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestLSQBivariateSplinec           
      ó:  — g d¢}g d¢}g d¢}d}d|z   d|z
  g}d|z   d|z
  g}t        j                  t        d¬«      5 }t        |||||dd¬	«      }t	        |«      dk(  sJ ‚	 d d d «       t         d
d
«      t        j                  d«      «       y # 1 sw Y   Œ0xY w)N©	r#   r#   r#   r8   r8   r8   r9   r9   r9   ©	r#   r8   r9   r#   r8   r9   r#   r8   r9   ©	r9   r9   r9   r9   r9   r9   r9   r9   r9   rš   r#   r9   ú
The coefficients of the spliner  ©r,   r-   r8   r!  )r  r  r  r   r&   r   r{   Úasarray©	rC   rD   rE   rå   rJ   r*   r+   Úrr)   s	            r1   rF   z+TestLSQBivariateSpline.test_linear_constantÕ  sŸ   € ÚˆÚˆÚˆØˆØ�‰c�!�A‘#ˆYˆØ�‰c�!�A‘#ˆYˆÜ�\‰\œ+Ð-OÔPð 	ÐTUÜ$ Q q¨¨2¨b°A¸Ô;ˆCÜ�q“6˜Q’;Ð‘;÷	ô 	™C  1›I¤r§z¡z°"£~Õ6÷		ð 	ús   ¾#BÂBc           
      ól  — g d¢}g d¢}g d¢}d}d|z   d|z
  g}d|z   d|z
  g}t        j                  t        d¬«      5  t        |||||dd¬	«      }d d d «       j	                  «       \  }}t        |d d
 |dd  «      D ]¨  \  }}	t        |d d
 |dd  «      D ]Ž  \  }
}dD ]„  }dD ]}  }|d|z
  z  |	|z  z   }|
d|z
  z  ||z  z   } |||
«      ­d|z
  z  d|z
  z   ||	|
«      |z  d|z
  z  z    |||«      d|z
  z  |z  z    ||	|«      |z  |z  z   }t         |||«      |«       Œ Œ† Œ� Œª y # 1 sw Y   ŒÚxY w)Nr:  r;  ©	r   rm   rƒ   r9   rT   rm   r#   r9   rT   rš   r#   r9   r=  r  r>  rK   )rš   r›   rœ   )rÃ   çš™™™™™Ù?gffffffæ?)r  r  r  r   r$   Úzipr   )rC   rD   rE   rå   rJ   r*   r+   r)   ÚxaÚxbÚyaÚybrO   r²   ÚypÚzps                   r1   Útest_bilinearityz'TestLSQBivariateSpline.test_bilinearityâ  s—  € ÚˆÚˆÚˆØˆØ�‰c�!�A‘#ˆYˆØ�‰c�!�A‘#ˆYˆÜ�\‰\œ+Ð-OÔPñ 	<ä$ Q q¨¨2¨b°A¸Ô;ˆC÷	<ð —‘“‰ˆˆBÜ˜"˜S˜b˜' 2 a b 6Ó*ò 
	<‰FˆB�Ü˜b  "˜g r¨!¨" vÓ.ò 	<‘��BØ(ò <�AØ,ò <˜Ø  1¡™X¨¨1©™_˜Ø  1¡™X¨¨1©™_˜Ù # B¨£˜m¨Q¨q©SÑ1°1°Q±3Ñ7Ù # B¨£¨A¡¨q°©sÑ 3ñ4á # B¨£¨Q¨q©SÑ 1°!Ñ 3ñ4ñ !$ B¨£¨A¡¨a¡ñ0˜ô ,©C°°2«J¸Õ;ñ<ñ<ñ	<ñ
	<÷	<ð 	<ús   ¾D*Ä*D3c                 ó¤  — g d¢}g d¢}t        g d¢«      }d}d|z   d|z
  g}d|z   d|z
  g}t        j                  t        d¬«      5 }t	        |||||dd¬	«      }t        |«      dk(  sJ ‚	 d d d «       j                  «       \  }} |||«      }	d
t        |«      d d …d f   t        |«      d d d …f   z  |	d d…d d…f   |	dd …d d…f   z   |	d d…dd …f   z   |	dd …dd …f   z   z  j                  «       z  }
t        t        j                  |j                  |d   |d   |d   |d   «      «      t        j                  |
«      «       y # 1 sw Y   ŒÜxY w)N)	r#   r#   r#   r8   r8   r8   rƒ   rƒ   rƒ   r;  rC  rš   r#   r9   r=  r  r>  ç      Ð?rK   r   )r   r  r  r  r   r&   r$   r	   Úsumr   r{   r?  rÇ   )rC   rD   rE   rå   rJ   r*   r+   rA  r)   ÚtzÚtrpzs              r1   Útest_integralz$TestLSQBivariateSpline.test_integralú  sj  € ÚˆÚˆÜÒ%Ó&ˆàˆØ�‰c�!�A‘#ˆYˆØ�‰c�!�A‘#ˆYˆÜ�\‰\œ+Ð-OÔPð 	ÐTUÜ$ Q¨¨1¨b°"¸¸qÔAˆCÜ�q“6˜Q’;Ð‘;÷	ð —‘“‰ˆˆBÙ��R‹[ˆØ”D˜“HšQ˜t˜VÑ$¤T¨"£X¨d²1¨fÑ%5Ñ5Ø˜#˜2˜#˜c˜r˜c˜'‘{ 2 a¡b¨¨"¨ f¡:Ñ-¨b°°"°°Q±R°©jÑ8¸¸A¹B¸q¹r¸E¹ÑBñDßEHÁSÃUñKˆô 	œBŸJ™J s§|¡|°B°q±E¸2¸b¹6À2ÀaÁ5È"ÈRÉ&Ó'QÓRÜŸJ™J tÓ,õ	.÷	ð 	ús   Á#EÅEc           
      óŠ  — g d¢}g d¢}g d¢}d}d|z   d|z
  g}d|z   d|z
  g}t        j                  t        d¬«      5 }t        |||||dd¬	«      }t	        |«      dk(  sJ ‚	 d d d «       t         g g «      t        j                  d
«      «       t         |g g d¬«      t        j                  d«      «       y # 1 sw Y   ŒXxY w)Nr:  r;  r<  rš   r#   r9   r=  r  r>  rÖ   F©Úgrid©r   )r  r  r  r   r&   r   r{   r¨   r@  s	            r1   rs   z'TestLSQBivariateSpline.test_empty_input  sº   € âˆÚˆÚˆØˆØ�‰c�!�A‘#ˆYˆØ�‰c�!�A‘#ˆYˆÜ�\‰\œ+Ð-OÔPð 	ÐTUÜ$ Q¨¨1¨b°"¸¸qÔAˆCÜ�q“6˜Q’;Ð‘;÷	ô 	™˜B ›¤R§X¡X¨e£_Ô5Ü™˜B ¨Ô/´·±¸$³Õ@÷	ð 	ús   ¾#B9Â9Cc           
      óæ  — d}d|z   d|z
  g}d|z   d|z
  g}t        t        «      5 }t        j                  dd«      }t        j                  dd«      }t        j                  ddd¬«      }t	        |||||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }t        j                  dd«      }t        j                  dd«      }t        j                  dd«      }t        j                  ddd	¬«      }t	        ||||||¬
«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd«      }t	        |||¬
«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }d}	t	        |||	¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        ||dd¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }
t	        ||d¬«       d d d «       dt        
j                  «      v sJ ‚t        t        «      5 }
t	        ||d¬«       d d d «       dt        |
j                  «      v sJ ‚y # 1 sw Y   �Œ#xY w# 1 sw Y   �Œ”xY w# 1 sw Y   �ŒIxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÛxY w# 1 sw Y   Œ¥xY w# 1 sw Y   ŒoxY w)Nrš   r#   r9   rŒ   ç      $@r¹   ©Únumú%x, y, and z should have a same lengthé   ró   ú(x, y, z, and w should have a same lengthr‹   úw should be positive©r  r¤   r  r»   úbbox shape should be (4,)r>  ú;The length of x, y and z should be at least (kx+1) * (ky+1)rh   ©Úepsúeps should be between (0, 1))r¯   r°   r{   r
   r   rø   rù   )rC   rJ   r*   r+   rû   rD   rE   rå   r˜   r¼   Úexc_infos              r1   Útest_invalid_inputz)TestLSQBivariateSpline.test_invalid_input  s·  € ØˆØ�!‰e�Q˜‘Uˆ^ˆØ�!‰e�Q˜‘Uˆ^ˆäœ:Ó&ð 	0¨$Ü—‘˜C Ó&ˆAÜ—‘˜C Ó&ˆAÜ—‘˜C ¨2Ô.ˆAÜ˜q ! Q¨¨BÔ/÷		0ð
 7¼#¸d¿j¹j»/ÑIÐIÐIäœ:Ó&ð 	5¨$Ü—‘˜C Ó&ˆAÜ—‘˜C Ó&ˆAÜ—‘˜C Ó&ˆAÜ—‘˜C ¨2Ô.ˆAÜ˜q ! Q¨¨B°!Õ4÷	5ð :¼SÀÇÁ»_ÑLÐLÐLäœ:Ó&ð 	5¨$Ü—‘˜D $Ó'ˆAÜ˜q ! Q¨¨B°!Õ4÷	5ð &¬¨T¯Z©Z«Ñ8Ð8Ð8äœ:Ó&ð 	;¨$Ø$ˆDÜ˜q ! Q¨¨B°TÕ:÷	;ð +¬c°$·*±*«oÑ=Ð=Ð=äœ:Ó&ð 	>¨$Ü˜q ! Q¨¨B°2¸"Õ=÷	>àLÜ�4—:‘:‹ñð 	ð ô œ:Ó&ð 	9¨(Ü˜q ! Q¨¨B°CÕ8÷	9à-´°X·^±^Ó1DÑDÐDÐDäœ:Ó&ð 	9¨(Ü˜q ! Q¨¨B°CÕ8÷	9à-´°X·^±^Ó1DÑDÐDÑD÷I	0ñ 	0ú÷	5ñ 	5ú÷	5ñ 	5ú÷
	;ñ 	;ú÷
	>ð 	>ú÷
	9ð 	9ú÷	9ð 	9úsU   ¦AJÂ*A,J(Å(J5ÆKÇ"KÈ%KÉ'K'ÊJ%Ê(J2Ê5J?ËKËKËK$Ë'K0c           
      ó   — d}t        j                  d|z   d|z
  g«      }t        j                  d|z   d|z
  g«      }t        j                  dd«      }t        j                  dd«      }t        j                  dd«      }t        j                  dd«      }t        j                  g d¢«      }t        j                  t
        d¬«      5 }	t        |||||||¬	«      }
t        |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       |¬	«      }t         |
d
d
«       |d
d
«      «       t        |	«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrš   r#   r9   rŒ   rX  )rŒ   rX  rŒ   rX  r=  r  )r˜   r¼   r„   r8   )
r{   r   r
   r  r  r  r   r  r   r&   )rC   rJ   r*   r+   rD   rE   rå   r˜   r¼   rA  r	  rÈ   s               r1   r
  z,TestLSQBivariateSpline.test_array_like_inputG  s-  € ØˆÜ�X‰X�q˜1‘u˜a !™e�nÓ%ˆÜ�X‰X�q˜1‘u˜a !™e�nÓ%ˆÜ�K‰K˜˜TÓ"ˆÜ�K‰K˜˜TÓ"ˆÜ�K‰K˜˜TÓ"ˆÜ�K‰K˜˜TÓ"ˆÜ�x‰xÒ.Ó/ˆä�\‰\œ+Ð-OÔPð 	ÐTUä% a¨¨A¨r°2¸ÀÔFˆDä% a§h¡h£j°!·(±(³*¸a¿h¹h»jØ&(§i¡i£k°2·9±9³;À!Ç(Á(Ã*Ø+/ô1ˆDô ™D  c›N©D°°c«NÔ;Ü�q“6˜Q’;Ð‘;÷	÷ 	ñ 	ús   ÃB#E4Å4E=c                 óÒ  — t         j                  dd…dd…f   \  }}|j                  «       }|j                  «       }dt        j                  |«      z  }t        j                  ddd«      }t        j                  ddd«      }t        j                  t        d¬	«      5 }t        |||||«      }t        |«      d
k(  sJ ‚	 ddd«       t         ||d¬«      |«       y# 1 sw Y   ŒxY w)zkTest for the case when the input knot-location arrays in x and y are
        of different lengths.
        r   r¤   r!  rš   g     €X@é   é!   r=  r  r#   NFrT  )r{   ÚmgridÚravelrá   r
   r  r  r  r   r&   r   )rC   rD   rE   rå   r*   r+   rA  r)   s           r1   Útest_unequal_length_of_knotsz3TestLSQBivariateSpline.test_unequal_length_of_knots[  sÌ   € ô �x‰x˜˜#˜˜q ˜u˜Ñ%‰ˆˆ1Ø�G‰G‹IˆØ�G‰G‹IˆØ”"—,‘,˜q“/Ñ!ˆÜ�[‰[˜˜d BÓ'ˆÜ�[‰[˜˜d BÓ'ˆÜ�\‰\œ+Ð-OÔPð 	ÐTUÜ$ Q q¨¨2¨bÓ1ˆCÜ�q“6˜Q’;Ð‘;÷	ô 	™C  1¨5Ô1°1Õ5÷		ð 	ús   Â CÃC&N)
ra   rb   rc   rF   rL  rR  rs   rf  r
  rm  rd   r3   r1   r8  r8  Ó  s(   „ ò7ò<ò0.ò&Aò)EòVó(6r3   r8  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSmoothBivariateSplinec                 ó6  — g d¢}g d¢}g d¢}t        |||dd¬«      }|j                  «       D ]  }t        |g d¢«       Œ t        |j                  «       g d¢«       t	        |j                  «       «      dk  sJ ‚t         |g d	¢dd
g«      ddgddgddgg«       y )Nr:  r;  r<  r#   r>  )r#   r#   r9   r9   )r9   r9   r9   r9   rL   r=   r>   r9   )r   r$   r   r'   r@   rA   ©rC   rD   rE   rå   r)   rO   s         r1   rF   z.TestSmoothBivariateSpline.test_linear_constantm  s›   € ÚˆÚˆÚˆÜ# A a¨¨Q°!Ô4ˆØ—‘“ò 	7ˆAÜ% aªÕ6ð	7ô 	" #§.¡.Ó"2²LÔAÜ�3×#Ñ#Ó%Ó&¨Ò.Ð.Ð.Ü!¡#¢k°A°s°8Ó"<ÀÀ1¸vÈÈ1ÀvÐPQÐSTÈvÐ>VÕWr3   c                 ó\  — g d¢}g d¢}g d¢}t        |||dd¬«      }|j                  «       D ]#  }t        |t        j                  g d¢«      «       Œ% t        |j                  «       g d¢«       t        |j                  «       «      dk  sJ ‚t         |g d	¢dd
g«      ddgddgddgg«       y )Nr:  r;  )	r   r   r   r8   r8   r8   rT   rT   rT   r#   r>  )rŒ   r#   r9   r9   )r   r   rT   rT   rL   r=   r>   r   r8   )	r   r$   r   r{   r?  r   r'   r@   rA   rq  s         r1   r[   z(TestSmoothBivariateSpline.test_linear_1dy  s    € ÚˆÚˆÚˆÜ# A a¨¨Q°!Ô4ˆØ—‘“ò 	;ˆAÜ˜AœrŸz™zª.Ó9Õ:ð	;ä! #§.¡.Ó"2²LÔAÜ�3×#Ñ#Ó%Ó&¨Ò.Ð.Ð.Ü!¡#¢i°°3°Ó"8¸1¸Q¸%ÀÀ1ÀÀqÈÀeÐ9LÕMr3   c                 óÄ  — g d¢}g d¢}t        g d¢«      }t        j                  «       5  t        j                  ddt        «       t        |||ddd¬«      }d d d «       g d	¢}g d
¢} ||«      }dt        |«      d d …d f   t        |«      d d d …f   z  |d d…d d…f   |dd …d d…f   z   |d d…dd …f   z   |dd …dd …f   z   z  j                  «       z  }t        t        j                  |j                  |d   |d   |d   |d   «      «      t        j                  |«      «       t        |||ddd¬«      }	t        t        j                  |	j                  |d   |d   |d   |d   «      «      t        j                  |«      d¬«        ||d d |d d «      }dt        |d d «      d d …d f   t        |d d «      d d d …f   z  |d d…d d…f   |dd …d d…f   z   |d d…dd …f   z   |dd …dd …f   z   z  j                  «       z  }t        t        j                  |j                  |d   |d   |d   |d   «      «      t        j                  |«      «       y # 1 sw Y   �Œ xY w)N)	r#   r#   r#   r8   r8   r8   rT   rT   rT   r;  rC  Úignorez
The required storage spacer#   r   ©r,   r-   rJ   )r#   r8   rT   r7   rN  rK   r8   )Údecimalr×   )r   ÚwarningsÚcatch_warningsÚfilterwarningsr  r   r	   rO  r   r{   r?  rÇ   )
rC   rD   rE   rå   r)   r*   r+   rP  rQ  Úlut2s
             r1   rR  z'TestSmoothBivariateSpline.test_integral„  s}  € ÚˆÚˆÜÒ%Ó&ˆä×$Ñ$Ó&ñ 	Bä×#Ñ#ØÐ8¼+ôGä'¨¨1¨a°A¸!¸qÔAˆC÷		Bò ˆÚˆá��R‹[ˆØ”D˜“HšQ˜t˜VÑ$¤T¨"£X¨d²1¨fÑ%5Ñ5Ø˜#˜2˜#˜c˜r˜c˜'‘{ 2 a¡b¨¨"¨ f¡:Ñ-¨b°°"°°Q±R°©jÑ8¸¸A¹B¸q¹r¸E¹ÑBñDßEHÁSÃUñKˆäœBŸJ™J s§|¡|°B°q±E¸2¸b¹6À2ÀaÁ5È"ÈRÉ&Ó'QÓRÜŸJ™J tÓ,ô	.ô % Q¨¨1°°q¸AÔ>ˆÜœBŸJ™J t§}¡}°R¸±U¸B¸r¹FÀBÀqÁEÈ2ÈbÉ6Ó'RÓSÜŸJ™J tÓ,Ø$%õ	'ñ ��C�R�˜"˜S˜b˜'Ó"ˆØ”D˜˜C˜R˜“M¢! D &Ñ)¬$¨r°#°2¨w«-¸ºQ¸Ñ*?Ñ?Ø˜#˜2˜#˜c˜r˜c˜'‘{ 2 a¡b¨¨"¨ f¡:Ñ-¨b°°"°°Q±R°©jÑ8¸¸A¹B¸q¹r¸E¹ÑBñDßEHÁSÃUñKˆäœBŸJ™J s§|¡|°B°q±E¸2¸b¹6À2ÀaÁ5È"ÈRÉ&Ó'QÓRÜŸJ™J tÓ,õ	.÷/	Bñ 	Bús   ª-IÉIc                 ó>  — t        j                  ddd«      }t        j                  ddd«      }||z   }t        j                  ddd«      }t        j                  ddd«      }t        |||«      }t        |||«      }t	        |||«      } |||«      }	t        ||	«       y )Nr×   r8   éP   rK   r#   r¤   )r{   r
   r   r   r   r   )
rC   rD   rE   rå   ÚxiÚyir‡   Úres1Úinterp_Úres2s
             r1   Útest_rerun_lwrk2_too_smallz4TestSmoothBivariateSpline.test_rerun_lwrk2_too_small£  s”   € ô �K‰K˜˜A˜rÓ"ˆÜ�K‰K˜˜A˜rÓ"ˆØ�‰EˆÜ�[‰[˜˜Q Ó$ˆÜ�[‰[˜˜Q Ó$ˆÜ�q˜!˜QÓˆÜ�r˜2˜sÓ#ˆÜ'¨¨1¨aÓ0ˆÙ�r˜2‹ˆÜ˜D $Õ'r3   c                 ó8  — t        t        «      5 }t        j                  dd«      }t        j                  dd«      }t        j                  ddd¬«      }t	        |||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }t        j                  dd«      }t        j                  dd«      }t        j                  dd«      }t        j                  ddd¬«      }t	        ||||¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  d	d«      }t	        |¬«       d d d «       d
t        |j                  «      v sJ ‚t        t        «      5 }d}t	        |¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        dd¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        d	¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        d¬«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }t	        d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �ŒWxY w# 1 sw Y   �ŒÊxY w# 1 sw Y   �Œ�xY w# 1 sw Y   �ŒLxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒäxY w# 1 sw Y   Œ°xY w# 1 sw Y   Œ|xY w)NrŒ   rX  r¹   rY  r[  r\  ró   r]  r‹   r^  r_  r»   r`  r>  ra  rz   r÷   rh   rb  rd  )r¯   r°   r{   r
   r   rø   rù   )rC   rû   rD   rE   rå   r˜   r¼   re  s           r1   rf  z,TestSmoothBivariateSpline.test_invalid_input²  s·  € äœ:Ó&ð 	+¨$Ü—‘˜C Ó&ˆAÜ—‘˜C Ó&ˆAÜ—‘˜C ¨2Ô.ˆAÜ! ! Q¨Ô*÷		+ð
 7¼#¸d¿j¹j»/ÑIÐIÐIäœ:Ó&ð 	0¨$Ü—‘˜C Ó&ˆAÜ—‘˜C Ó&ˆAÜ—‘˜C Ó&ˆAÜ—‘˜C ¨2Ô.ˆAÜ! ! Q¨¨QÕ/÷	0ð :¼SÀÇÁ»_ÑLÐLÐLäœ:Ó&ð 	0¨$Ü—‘˜D $Ó'ˆAÜ! ! Q¨¨QÕ/÷	0ð &¬¨T¯Z©Z«Ñ8Ð8Ð8äœ:Ó&ð 	6¨$Ø$ˆDÜ! ! Q¨°Õ5÷	6ð +¬c°$·*±*«oÑ=Ð=Ð=äœ:Ó&ð 	9¨$Ü! ! Q¨¨b°RÕ8÷	9àLÜ�4—:‘:‹ñð 	ð ô œ:Ó&ð 	3¨$Ü! ! Q¨¨TÕ2÷	3à%¬¨T¯Z©Z«Ñ8Ð8Ð8äœ:Ó&ð 	4¨(Ü! ! Q¨¨sÕ3÷	4à-´°X·^±^Ó1DÑDÐDÐDäœ:Ó&ð 	4¨(Ü! ! Q¨¨sÕ3÷	4à-´°X·^±^Ó1DÑDÐDÑD÷Q	+ñ 	+ú÷	0ñ 	0ú÷	0ñ 	0ú÷
	6ñ 	6ú÷
	9ñ 	9ú÷
	3ð 	3ú÷	4ð 	4ú÷	4ð 	4úsa   �AJ7ÂA*KÄ,&KÆKÇK+ÈK8ÉLÊLÊ7KËKËKËK(Ë+K5Ë8LÌLÌLc           	      óò  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        |||||dd¬«      }t        |j                  «       |j                  «       |j                  «       |j                  «       |j                  «       dd¬«      }t	         |d	d
«       |d	d
«      «       y )Nr:  r;  r<  )	r#   r#   r#   r#   r#   r#   r#   r#   r#   )rŒ   r!  rŒ   r!  r#   )r˜   r¼   r,   r-   )r¼   r˜   r,   r-   rš   r›   )r{   r   r   r  r   )rC   rD   rE   rå   r˜   r¼   r	  rÈ   s           r1   r
  z/TestSmoothBivariateSpline.test_array_like_inputÞ  s³   € Ü�H‰HÒ0Ó1ˆÜ�H‰HÒ0Ó1ˆÜ�H‰HÒ0Ó1ˆÜ�H‰HÒ0Ó1ˆÜ�x‰xÒ,Ó-ˆä$ Q¨¨1°¸ÀÀqÔIˆä$ Q§X¡X£Z°·±³¸Q¿X¹X»ZØ*.¯+©+«-¸1¿8¹8»:Ø()¨aô1ˆô 	™˜S #›©¨S°#«Õ7r3   N)	ra   rb   rc   rF   r[   rR  r‚  rf  r
  rd   r3   r1   ro  ro  l  s$   „ ò
Xò	Nò.ò>(ò*EóX8r3   ro  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLSQSphereBivariateSplinec                 ó  — d\  }}t        d|dz
  z  dd|dz
  z  z
  |«      t        z  }t        d|dz
  z  dd|dz
  z  z
  |«      dz  t        z  }t        |j                  d   |j                  d   f«      }|d d d…   }|d d d…   }|d d d…d d d…f   }t	        ||«      \  }	}
t        |	j                  «       |
j                  «       |j                  j                  «       ||«      }|| _        || _	        ||c| _
        | _        y )N©rÂ   éZ   r›   r#   r„   r   rg   )r
   r   r   r   r   r   rl  ÚTÚlut_lsqÚdataÚnew_lonsÚnew_lats)rC   ÚnthetaÚnphiÚthetaÚphirŒ  ÚknotstÚknotspÚknotdataÚlatsÚlonsr‹  s               r1   Úsetup_methodz)TestLSQSphereBivariateSpline.setup_methodî  s
  € à‰ˆ�Ü˜˜f q™jÑ)¨1¨s°F¸Q±JÑ/?Ñ+?ÀÓHÌ2ÑMˆÜ�s˜D 1™H‘~ q¨3°°q±©>Ñ'9¸4Ó@À2ÑEÌÑJˆÜ�U—[‘[ ‘^ S§Y¡Y¨q¡\Ð2Ó3ˆà‘s˜�s‘ˆØ‘S�q�S‘ˆØ™˜!˜™S˜q˜S˜‘>ˆä˜e SÓ)‰
ˆˆdÜ*¨4¯:©:«<¸¿¹»Ø+/¯6©6¯<©<«>¸6À6óKˆàˆŒØˆŒ	Ø'-¨vÐ$ˆŒ�t•}r3   c                 óÈ   — t        | j                  j                  «       «      dk  sJ ‚t        | j                  | j                  | j
                  «      | j                  «       y )NrL   )r@   r‹  rA   r   rŽ  r�  rŒ  ©rC   s    r1   rF   z1TestLSQSphereBivariateSpline.test_linear_constant   sF   € Ü�4—<‘<×,Ñ,Ó.Ó/°%Ò7Ð7Ð7Ü! $§,¡,¨t¯}©}¸d¿m¹mÓ"LØ"&§)¡)õ	-r3   c                 óÄ   — t        | j                  g g «      t        j                  d«      «       t        | j                  g g d¬«      t        j                  d«      «       y ©NrÖ   FrT  rV  )r   r‹  r{   r¨   rš  s    r1   rs   z-TestLSQSphereBivariateSpline.test_empty_input  s@   € Ü! $§,¡,¨r°2Ó"6¼¿¹À»ÔHÜ! $§,¡,¨r°2¸E ,Ó"BÄBÇHÁHÈTÃNÕSr3   c           	      óx  — d\  }}t        d|dz
  z  dd|dz
  z  z
  |«      t        z  }t        d|dz
  z  dd|dz
  z  z
  |«      dz  t        z  }t        |j                  d   |j                  d   f«      }|d d d…   }|d d d…   }t	        t
        «      5 }t        dd|¬	«      t        z  }	t        |	|«      \  }
}t        |
j                  «       |j                  «       |j                  j                  «       ||«       d d d «       d
t        j                  «      v sJ ‚t	        t
        «      5 }t        dd|¬	«      t        z  }	t        |	|«      \  }
}t        |
j                  «       |j                  «       |j                  j                  «       ||«       d d d «       d
t        |j                  «      v sJ ‚t	        t
        «      5 }t        dd|¬	«      dz  t        z  }t        ||«      \  }}t        |j                  «       |j                  «       |j                  j                  «       ||«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        dd|¬	«      dz  t        z  }t        ||«      \  }}t        |j                  «       |j                  «       |j                  j                  «       ||«       d d d «       dt        |j                  «      v sJ ‚t        ||«      \  }}t	        t
        «      5 }t        j                  |«      }d|d<   t        |j                  «       |j                  «       |j                  j                  «       ||«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        j                  |«      }t        |d<   t        |j                  «       |j                  «       |j                  j                  «       ||«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        j                  |«      }d|d<   t        |j                  «       |j                  «       |j                  j                  «       ||«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        j                  |«      }dt        z  |d<   t        |j                  «       |j                  «       |j                  j                  «       ||«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        g d¢«      }t        |j                  «       |j                  «       |j                  j                  «       |||¬«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        |j                  «       |j                  «       |j                  j                  «       ||d¬«       d d d «       dt        |j                  «      v sJ ‚t	        t
        «      5 }t        |j                  «       |j                  «       |j                  j                  «       ||d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �Œ³xY w# 1 sw Y   �Œ(xY w# 1 sw Y   �ŒšxY w# 1 sw Y   �ŒxY w# 1 sw Y   �Œ|xY w# 1 sw Y   �Œ÷xY w# 1 sw Y   �ŒvxY w# 1 sw Y   �ŒîxY w# 1 sw Y   �ŒxxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¥xY w)Nrˆ  r›   r#   r„   r   rg   çš™™™™™¹¿rŒ   rY  útheta should be between [0, pi]rš   çš™™™™™ñ?úphi should be between [0, 2pi]rh   ztt should be between (0, pi)ztp should be between (0, 2pi)r8   ©	r‹   rŒ   r>   r›   rŒ   r>   r›   rŒ   rŒ   ró   r^  rb  rd  )r
   r   r   r   r¯   r°   r   r   rl  rŠ  rø   rù   r{   r­   r   )rC   r�  r�  r‘  r’  rŒ  r“  r”  re  Úinvalid_thetaÚinvalid_latsr—  Úinvalid_phir–  Úinvalid_lonsÚinvalid_knotstÚinvalid_knotspÚ	invalid_ws                     r1   rf  z/TestLSQSphereBivariateSpline.test_invalid_input	  s#  € Ø‰ˆ�Ü˜ ¨¡
Ñ+¨Q°¸À¹
Ñ1CÑ-CØó!Ü#%ñ&ˆä�s˜d Q™hÑ'¨¨S°D¸1±HÑ-=Ñ)=¸tÓDÀrÑIÌBÑNˆÜ�U—[‘[ ‘^ S§Y¡Y¨q¡\Ð2Ó3ˆà‘s˜�s‘ˆØ‘S�q�S‘ˆäœ:Ó&ð 	E¨(Ü$ T¨3°FÔ;¼bÑ@ˆMÜ!)¨-¸Ó!=ÑˆL˜$Ü$ \×%7Ñ%7Ó%9¸4¿:¹:»<Ø%)§V¡V§\¡\£^°V¸VôE÷	Eð
 1´C¸¿¹Ó4GÑGÐGÐGäœ:Ó&ð 	E¨(Ü$ S¨#°6Ô:¼RÑ?ˆMÜ!)¨-¸Ó!=ÑˆL˜$Ü$ \×%7Ñ%7Ó%9¸4¿:¹:»<Ø%)§V¡V§\¡\£^°V¸VôE÷	Eð
 1´C¸¿¹Ó4GÑGÐGÐGäœ:Ó&ð 	E¨(Ü" 4¨°&Ô9¸CÑ?Ä"ÑDˆKÜ!)¨%°Ó!=ÑˆD�,Ü$ T§Z¡Z£\°<×3EÑ3EÓ3GØ%)§V¡V§\¡\£^°V¸VôE÷	Eð
 0´3°x·~±~Ó3FÑFÐFÐFäœ:Ó&ð 	E¨(Ü" 3¨°Ô8¸3Ñ>ÄÑCˆKÜ!)¨%°Ó!=ÑˆD�,Ü$ T§Z¡Z£\°<×3EÑ3EÓ3GØ%)§V¡V§\¡\£^°V¸VôE÷	Eð
 0´3°x·~±~Ó3FÑFÐFÐFä˜e SÓ)‰
ˆˆdäœ:Ó&ð 	M¨(ÜŸW™W V›_ˆNØ $ˆN˜1ÑÜ$ T§Z¡Z£\°4·:±:³<Ø%)§V¡V§\¡\£^°^ÀVôM÷	Mð
 .´°X·^±^Ó1DÑDÐDÐDäœ:Ó&ð 	M¨(ÜŸW™W V›_ˆNÜ "ˆN˜1ÑÜ$ T§Z¡Z£\°4·:±:³<Ø%)§V¡V§\¡\£^°^ÀVôM÷	Mð
 .´°X·^±^Ó1DÑDÐDÐDäœ:Ó&ð 	M¨(ÜŸW™W V›_ˆNØ $ˆN˜1ÑÜ$ T§Z¡Z£\°4·:±:³<Ø%)§V¡V§\¡\£^°V¸^ôM÷	Mð
 /´#°h·n±nÓ2EÑEÐEÐEäœ:Ó&ð 	M¨(ÜŸW™W V›_ˆNØ !¤B¡ˆN˜1ÑÜ$ T§Z¡Z£\°4·:±:³<Ø%)§V¡V§\¡\£^°V¸^ôM÷	Mð
 /´#°h·n±nÓ2EÑEÐEÐEäœ:Ó&ð 	B¨(ÜÒLÓMˆIÜ$ T§Z¡Z£\°4·:±:³<ÀÇÁÇÁÃØ%+¨V°yõB÷	Bð &¬¨X¯^©^Ó)<Ñ<Ð<Ð<äœ:Ó&ð 	>¨(Ü$ T§Z¡Z£\°4·:±:³<ÀÇÁÇÁÃØ%+¨V¸õ>÷	>ð .´°X·^±^Ó1DÑDÐDÐDäœ:Ó&ð 	>¨(Ü$ T§Z¡Z£\°4·:±:³<ÀÇÁÇÁÃØ%+¨V¸õ>÷	>ð .´°X·^±^Ó1DÑDÐDÑD÷Q	Eñ 	Eú÷	Eñ 	Eú÷	Eñ 	Eú÷	Eñ 	Eú÷	Mñ 	Mú÷	Mñ 	Mú÷	Mñ 	Mú÷	Mñ 	Mú÷	Bñ 	Bú÷	>ñ 	>ú÷
	>ð 	>ús�   ÂA(Z.Ä-A(Z;ÇA+[É A+[Ì
A["ÎA"[/Ð*A[<Ò8A%\	ÕA\×A\#ÙA\0Ú.Z8Ú;[Û[Û[Û"[,Û/[9Û<\Ü	\Ü\ Ü#\-Ü0\9c           	      óh  — d\  }}t        d|dz
  z  dd|dz
  z  z
  |«      t        z  }t        d|dz
  z  dd|dz
  z  z
  |«      dz  t        z  }t        ||«      \  }}t        |j                  d   |j                  d   f«      }|d d d…   }|d d d…   }	t        |j                  «       j                  d   «      }
t        |j                  «       |j                  «       |j                  j                  «       ||	|
¬«      }t        |j                  «       j                  «       |j                  «       j                  «       |j                  j                  «       j                  «       |j                  «       |	j                  «       |
j                  «       ¬«      }t         |dd«       |dd«      «       y )	Nrˆ  r›   r#   r„   r   rg   ró   rŒ   )
r
   r   r   r   r   rl  r   rŠ  r  r   )rC   r�  r�  r‘  r’  r–  r—  rŒ  r“  r”  r˜   r	  rÈ   s                r1   r
  z2TestLSQSphereBivariateSpline.test_array_like_input]  s  € Ø‰ˆ�Ü˜ ¨¡
Ñ+¨Q°¸À¹
Ñ1CÑ-CØó!Ü#%ñ&ˆä�s˜d Q™hÑ'¨¨S°D¸1±HÑ-=Ñ)=ØóØ!ñ"Ü$&ñ'ˆä˜e SÓ)‰
ˆˆdÜ�U—[‘[ ‘^ S§Y¡Y¨q¡\Ð2Ó3ˆà‘s˜�s‘ˆØ‘S�q�S‘ˆÜ�—‘“×#Ñ# AÑ&Ó'ˆô (¨¯
©
«°d·j±j³lØ(,¯©¯©«¸ÀÈ!ôMˆô (¨¯
©
«×(;Ñ(;Ó(=Ø(,¯
©
«×(;Ñ(;Ó(=Ø(,¯©¯©«×(=Ñ(=Ó(?Ø(.¯©«Ø(.¯©«¸1¿8¹8»:ô	Gˆô
 	"¡$ s¨C£.±$°s¸C³.ÕAr3   N©ra   rb   rc   r˜  rF   rs   rf  r
  rd   r3   r1   r†  r†  í  s    „ ò6ò$-ò
TòREóhBr3   r†  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSmoothSphereBivariateSplinec                 ó€  — t        dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  g	«      }t        dt        z  t        dt        z  dt        z  t        dt        z  dt        z  t        dt        z  g	«      }t        g d¢«      }t        |||d¬«      | _        y )NrN  r›   ç      è?r>   r<  ç    _ Brz   )r   r   r   r)   )rC   r‘  r’  rA  s       r1   r˜  z,TestSmoothSphereBivariateSpline.setup_methodw  sŸ   € Ü�sœ2‘v˜s¤2™v s¬2¡v¨r´"©u°b¼±e¸RÄ¹UÀCÌÁFØœ2‘v˜s¤2™vð'ó (ˆä�Rœ"‘Wœb #¬¡(¨B´©G´R¸¼r¹À2ÌÁ7ÌBØœ2‘Xðó  ˆäÒ-Ó.ˆÜ.¨u°c¸1ÀÔEˆ�r3   c                 ó¦   — t        | j                  j                  «       «      dk  sJ ‚t        | j                  g d¢ddg«      ddgddgddgg«       y )NrL   r=   r#   r>   r9   )r@   r)   rA   r   rš  s    r1   rF   z4TestSmoothSphereBivariateSpline.test_linear_constant  sQ   € Ü�4—8‘8×(Ñ(Ó*Ó+¨eÒ3Ð3Ð3Ü! $§(¡(ª;¸¸3°xÓ"@Ø$% q 6¨A¨q¨6°A°q°6Ð":õ	<r3   c                 óÄ   — t        | j                  g g «      t        j                  d«      «       t        | j                  g g d¬«      t        j                  d«      «       y rœ  )r   r)   r{   r¨   rš  s    r1   rs   z0TestSmoothSphereBivariateSpline.test_empty_input„  s@   € Ü! $§(¡(¨2¨rÓ"2´B·H±H¸U³OÔDÜ! $§(¡(¨2¨r¸ (Ó">ÄÇÁÈÃÕOr3   c                 ó²  — t        dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  g	«      }t        dt        z  t        dt        z  dt        z  t        dt        z  dt        z  t        dt        z  g	«      }t        g d¢«      }t        t        «      5 }t        dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  g	«      }t	        |||d¬«       d d d «       d	t        j                  «      v sJ ‚t        t        «      5 }t        dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  d
t        z  g	«      }t	        |||d¬«       d d d «       d	t        |j                  «      v sJ ‚t        t        «      5 }t        dt        z  t        dt        z  dt        z  t        dt        z  dt        z  t        dt        z  g	«      }t	        |||d¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        dt        z  t        dt        z  dt        z  t        dt        z  dt        z  t        dt        z  g	«      }t	        |||d¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        g d¢«      }t	        ||||d¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        |||d¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        |||d¬«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t	        |||d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �ŒÙxY w# 1 sw Y   �ŒSxY w# 1 sw Y   �ŒÖxY w# 1 sw Y   �ŒYxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒäxY w# 1 sw Y   Œ°xY w# 1 sw Y   Œ|xY w)NrN  r›   r¯  r>   r<  rž  r°  rz   rŸ  r   r¡  rŒ   gÍÌÌÌÌÌ @r¢  ©r˜   rJ   r^  r‹   ús should be positiverb  rd  )r   r   r¯   r°   r   rø   rù   )rC   r‘  r’  rA  re  r£  r¥  r©  s           r1   rf  z2TestSmoothSphereBivariateSpline.test_invalid_inputˆ  sç  € Ü�sœR‘x ¤r¡¨3´©8°R¼"±W¸bÄ2¹gÀrÌBÁwØœR‘x ¤r¡¨3´©8ð5ó 6ˆä�Rœ"‘Wœb #¬¡(¨B´©G´R¸¼r¹À2ÌÁ7ÌBØœ2‘Xðó  ˆäÒ-Ó.ˆäœ:Ó&ð 	G¨(Ü! 4¬"¡9¨c´B©h¸¼b¹À"ÄrÁ'Ø#%¬¡7¨B´©G°S¼2±X¸sÄR¹xØ#&¬¡8ð#-ó .ˆMô (¨°s¸AÀÕF÷		Gð
 1´C¸¿¹Ó4GÑGÐGÐGäœ:Ó&ð 	G¨(Ü! 3¬¡8¨S´2©X°s¼R±xÀÄbÁØ#%¬¡7¨B´©G°S¼2±X¸sÄR¹xØ#&¬¡8ð#-ó .ˆMô (¨°s¸AÀÕF÷		Gð
 1´C¸¿¹Ó4GÑGÐGÐGäœ:Ó&ð 	G¨(Ü ¤r¡¬2¨s´R©x¸¼b¹Ä"ÀcÌBÁhØ!#¤b¡¬"¨c´B©hð!8ó 9ˆKä'¨¨{¸AÀÕF÷	Gð 0´3°x·~±~Ó3FÑFÐFÐFäœ:Ó&ð 	G¨(Ü ¤r¡¬2¨s´R©x¸¼b¹Ä"ÀcÌBÁhØ!#¤b¡¬"¨c´B©hð!8ó 9ˆKä'¨¨{¸AÀÕF÷	Gð 0´3°x·~±~Ó3FÑFÐFÐFäœ:Ó&ð 	L¨(ÜÒLÓMˆIÜ'¨¨s°A¸ÀdÕK÷	Lð &¬¨X¯^©^Ó)<Ñ<Ð<Ð<äœ:Ó&ð 	?¨(Ü'¨¨s°A¸Õ>÷	?à%¬¨X¯^©^Ó)<Ñ<Ð<Ð<äœ:Ó&ð 	A¨(Ü'¨¨s°A¸4Õ@÷	Aà-´°X·^±^Ó1DÑDÐDÐDäœ:Ó&ð 	@¨(Ü'¨¨s°A¸3Õ?÷	@à-´°X·^±^Ó1DÑDÐDÑD÷S	Gñ 	Gú÷	Gñ 	Gú÷	Gñ 	Gú÷	Gñ 	Gú÷	Lñ 	Lú÷
	?ð 	?ú÷	Að 	Aú÷	@ð 	@úsd   Â:A#O4ÅA#PÇ APÉ*APË4P(ÍP5ÎQÏQÏ4O>ÐPÐPÐP%Ð(P2Ð5P>ÑQ
ÑQc                 ó¦  — t        j                  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  dt        z  g	«      }t        j                  dt        z  t        dt        z  dt        z  t        dt        z  dt        z  t        dt        z  g	«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||||d¬«      }t        |j	                  «       |j	                  «       |j	                  «       |j	                  «       d¬«      }t         |d	d	«       |d	d	«      «       y )
NrN  r›   r¯  r>   r<  )	rŒ   rŒ   rŒ   rŒ   rŒ   rŒ   rŒ   rŒ   rŒ   r°  r´  rŒ   )r{   r   r   r   r  r   )rC   r‘  r’  rA  r˜   r	  rÈ   s          r1   r
  z5TestSmoothSphereBivariateSpline.test_array_like_inputº  s  € Ü—‘˜#¤™( C¬"¡H¨c´B©h¸¼R¹ÀÄbÁØœr™' 3¬¡8¨S´2©X°s¼R±xðAó Bˆä�h‰h˜œR™¤ S¬2¡X¨r´B©w¼¸CÄ"¹HÀbÌ2ÁgÜ˜C¤"™Hð&ó 'ˆä�H‰HÒ0Ó1ˆÜ�H‰HÒBÓCˆô +¨5°#°q¸AÀÔFˆô +¨5¯<©<«>¸3¿:¹:»<Ø+,¯8©8«:¸¿¹»ÀtôMˆä!¡$ s¨C£.±$°s¸C³.ÕAr3   Nr«  rd   r3   r1   r­  r­  v  s    „ òFò<ò
Pò0EódBr3   r­  c            	       óH  — e 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ddg«      d„ «       Zej                  j                  dg d¢«      ej                  j                  dddg«      d	„ «       «       Z	ej                  j                  dddg«      d
„ «       Z
d„ Zd„ 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d„ Zej                  j                  dddg«      d„ «       Zd„ Zd„ Zd„ Zej                  j/                  «       ej                  j                  dddg«      ej                  j                  dg d¢«      ej                  j                  deefeeff«      d„ «       «       «       «       Zej                  j9                  «       ej                  j;                  ej>                  dk  d¬ «      ej                  j                  dddg«      ej                  j                  deefeeff«      d!„ «       «       «       «       Z ej                  j                  deefeeff«      d"„ «       Z!y#)$ÚTestRectBivariateSpliner<   r9   rT   c                 ó:  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        |||||¬«      }t         |||«      |«       t        |||||¬«      }t	        t        |||«      |j                  t        j                  «      «       y )Nrf   ©r#   r8   r#   r8   r#   ©r#   r8   r9   r8   r#   ©r#   r8   r8   r8   r#   r>  )	r   r   r   r   r   r    Úastyper{   Úfloat64)rC   r<   rD   rE   rå   r)   Ú
lut_customs          r1   Útest_defaultsz%TestRectBivariateSpline.test_defaultsÌ  s�   € ä’/Ó"ˆÜ’/Ó"ˆÜ’?Ú"Ú"Ú"Ú"ð	$ó %ˆô " ! Q¨¨a°AÔ6ˆÜ!¡# a¨£)¨QÔ/ä˜Q  1¨¨qÔ1ˆ
ÜÜ*¨:°q¸!Ó<¸a¿h¹hÄrÇzÁzÓ>Rõ	Tr3   c                 ó¸  — t        j                  ddd«      }t        j                  ddd«      }t        j                  |d d …d f   «      t        j                  |d d d …f   «      z  }t        j                  ddd«      }t        j                  ddd«      }t	        |||||¬«      } |||«      }t        |||||¬«      }	t        |	||«      }
t        |
|dd¬«       y )Nr   rT   rg   rx   r>  çTäqs*¹>©ÚrtolrN   )r{   r
   Úsinr|   r   r   r    r   )rC   r<   rD   rE   rå   r}  r~  ÚrefÚref_valsÚcustomÚcustom_valss              r1   Ú test_interpolated_offgrid_pointsz8TestRectBivariateSpline.test_interpolated_offgrid_pointsÝ  sÆ   € ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ�F‰F�1’Q˜�W‘:Ó¤§¡¨¨$²¨'©
Ó!3Ñ3ˆä�[‰[˜˜A˜rÓ"ˆÜ�[‰[˜˜A˜rÓ"ˆä! ! Q¨¨a°AÔ6ˆÙ�r˜2“;ˆä˜˜A˜q Q¨1Ô-ˆÜ4°V¸RÀÓDˆä˜ XØ \ö	3r3   c                 óP  — t        j                  d|dz   «      }t        j                  d|dz   «      }|d d …d f   |d d d …f   z   }|d d |dd  z   dz  }|d d |dd  z   dz  }t        |||||¬«      }t        |||||¬«      } |||«      }	t	        |||«      }
t        |
|	dd¬«       y )Nr#   r8   rK   r>  r   rÂ  rÃ  )r{   r†   r   r   r    r   )rC   r<   rD   rE   rå   r}  r~  rÆ  rÈ  rÇ  rÉ  s              r1   Útest_midpointsz&TestRectBivariateSpline.test_midpointsð  sÈ   € ô �I‰I�a˜˜Q™ÓˆÜ�I‰I�a˜˜Q™ÓˆØŠa�ˆg‰J˜˜4¢˜7™Ñ#ˆà��ˆf�q˜˜�u‰n Ñ!ˆØ��ˆf�q˜˜�u‰n Ñ!ˆä! ! Q¨¨a°AÔ6ˆÜ˜˜A˜q Q¨1Ô-ˆá�r˜2“;ˆÜ4°V¸RÀÓDˆä˜ XØ \ö	3r3   Ús_val)rš   rŒ   rX  g      Y@c                 óô  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||d¬«      \  }}||z   }|d d |dd  z   dz  }|d d |dd  z   dz  }	t        j                  ddd	«      }
t        j                  ddd	«      }d
||fd||	fd|
|fg}t        ||||||¬«      }t	        ||||||¬«      }|D ]+  \  }}} |||«      }t        |||«      }t        ||dd¬«       Œ- y )Nr   rT   r\  Úij©ÚindexingrK   r#   r8   rx   zoriginal gridÚ	midpointsz
dense grid)rJ   r,   r-   ç{®Gáz”?rÃ  )r{   r
   r   r   r   r    r   )rC   rÍ  r<   rD   rE   ÚXÚYrå   Úx_midÚy_midÚxi_denseÚyi_denseÚ
query_setsrÆ  rÈ  r  r}  r~  rÇ  rÉ  s                       r1   Útest_custom_matches_referencez5TestRectBivariateSpline.test_custom_matches_reference  s/  € ô �K‰K˜˜1˜bÓ!ˆÜ�K‰K˜˜1˜bÓ!ˆÜ�{‰{˜1˜a¨$Ô/‰ˆˆ1Ø�‰Eˆà�3�B�˜!˜A˜B˜%‘ 1Ñ$ˆØ�3�B�˜!˜A˜B˜%‘ 1Ñ$ˆÜ—;‘;˜q ! RÓ(ˆÜ—;‘;˜q ! RÓ(ˆð ˜a Ð#Ø˜% Ð'Ø˜8 XÐ.ð
ˆ
ô " ! Q¨¨U°q¸QÔ?ˆÜ˜˜A˜q E¨a°AÔ6ˆà#ò 	2‰IˆAˆr�2Ù˜2˜r“{ˆHÜ8¸ÀÀRÓHˆKä˜K¨Ø!%¨Dö2ñ		2r3   c                 ó  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        |||||¬«      }t        |||||¬«      }g d¢}g d¢}|j                  ||«      }	t        t	        ||«      D �
�cg c]  \  }
} ||
|«      d   ‘Œ c}}
«      }t        |	|«       t        |||d	¬
«      }t        t	        ||«      D �
�cg c]  \  }
}t        ||
|«      d   ‘Œ c}}
«      }t        ||dd¬«       y c c}}
w c c}}
w )Nrf   rº  r»  r¼  r>  )r#   çffffff@g333333@r›   çffffff
@ç333333ó?r9   )r#   rÞ  rß  r¥   r"  rŒ   r9   rÖ   FrT  r   rÂ  rÃ  )r   r   r   ÚevrE  r   r    r   )rC   r<   rD   rE   rå   r)   r¿  r}  r~  Úzir²   rJ  Úzi2Ú	zi_customÚ
zi2_customs                  r1   Útest_evaluatez%TestRectBivariateSpline.test_evaluate   s   € ä’+ÓˆÜ’+ÓˆÜ’;š{ª;²{Â;ÐOÓPˆÜ! ! A a¨1°Ô2ˆÜ˜Q  1¨¨qÔ1ˆ
â,ˆÚ,ˆØ�V‰V�B˜‹^ˆÜ´C¸¸B³K×@©&¨"¨b‘S˜˜R“[ Ó%Ó@ÓAˆä˜B Ô$ä2°:¸rÀ2ÈEÔRˆ	ÜÜ*-¨b°"«+÷7Ù &  Bô ;¸:ÀrÈ2ÓNÈtÓTó 7ó 8ˆ
ä˜	 :Ø \ö	3ùó Aùó
7s   ÂD
ÃD
c           	      ór  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g d¢g d¢g d¢g«      d	z  }t        g d
¢g d
¢g d¢g d¢g d
¢g«      }t        g d¢g d¢g d¢g d¢g d¢g«      d	z  }t        |||«      }t        |||«      }t         |||d¬«      |«       t         |||d¬«      |«       t         |||dd¬«      |«       t	        t        |||d¬«      |dd¬«       t	        t        |||d¬«      |dd¬«       t	        t        |||dd¬«      |dd¬«       y )Nrf   rº  r»  r¼  ©r   r   iìÿÿÿr   r   ©r   r   r£   r   r   ©r   r   rT   r   r   ©r   r   iõÿÿÿr   r   r…   ©rT   rK   r   r#   éüÿÿÿ©r   r>   r   g      ø¿r   ©r8   rN  r   ç      Ð¿r×   ©é(   içÿÿÿr   é   iØÿÿÿ©iæÿÿÿg     @0@r   g     @0Àé   ©r¢   rg   r   éûÿÿÿrƒ   ©é   g     €+Àr   g     €+@iêÿÿÿr#   ©Údx©Údy©rú  rü  r   rÂ  rÃ  )r   r   r   r   r   r    ©	rC   rD   rE   rå   rú  rü  Údxdyr)   r¿  s	            r1   Útest_derivatives_gridz-TestRectBivariateSpline.test_derivatives_grid5  sC  € Ü’+ÓˆÜ’+ÓˆÜ’;š{ª;²{Â;ÐOÓPˆÜ’M¢,ª{Úš+ð'ó (Ø(*ñ+ˆä’M¢-Ò0@Úšmð-ó .ˆäÒ'Ò(?ÚÒ1²-ðAó BØBDñEˆô " ! A aÓ(ˆÜ˜Q˜q “^ˆ
ä!¡# a¨¨Q¤-°Ô3Ü!¡# a¨¨Q¤-°Ô3Ü!¡# a¨¨Q°!Ô"4°TÔ:ÜÜ*¨:°q¸¸aÔ@ÀØ˜õ	'ô 	Ü*¨:°q¸¸aÔ@ÀØ˜õ	'ô 	Ü*¨:°q¸¸aÀ1ÔEÀdØ˜ö	'r3   c           
      ó*  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        g d¢«      }t        g d¢«      }t        g d¢«      dz  }t        |||«      }t         |||d	d
¬«      |«       t         |||d	d
¬«      |«       t         |||d	d	d
¬«      |«       t        |||«      }t	        t        |||d	d
¬«      |dd¬«       t	        t        |||d	d
¬«      |dd¬«       t	        t        |||d	d	d
¬«      |dd¬«       y )Nrf   rº  r»  r¼  ©r   r   gUUUUUUå?r   r   ©rT   rK   r   rï  rì  ©é    éA   r   é7   é    ç      8@r#   F)rú  rU  )rü  rU  ©rú  rü  rU  r   rÂ  rÃ  )r   r   r   r   r   r    rþ  s	            r1   r�   z(TestRectBivariateSpline.test_derivativesP  s  € Ü’+ÓˆÜ’+ÓˆÜ’;š{ª;²{Â;ÐOÓPˆÜ’>Ó"ˆÜÒ#Ó$ˆÜÒ%Ó& sÑ*ˆÜ! ! A aÓ(ˆÜ!¡# a¨¨Q°EÔ":¸2Ô>Ü!¡# a¨¨Q°EÔ":¸2Ô>Ü!¡# a¨¨Q°!¸Ô"?ÀÔEä˜Q˜q “^ˆ
ÜÜ*¨:°a¸¸QÀEÔJØ�A˜Lõ	
ô 	Ü*¨:°a¸¸QÀEÔJØ�A˜Lõ	
ô 	Ü*¨:°a¸¸QÀ!ÈÔOØ�a˜lö	
r3   c           	      ój   — t        j                  |D ��cg c]  }|D ]  }||g‘Œ Œ c}}«      S c c}}w )a³  
        Create an array of (xi, yi) pairs for all xi in x and yi in y,
        and reshape it to the desired shape.

        Parameters
        ----------
        x : array_like
            1D array of x-values.
        y : array_like
            1D array of y-values.
        dest_shape : tuple
            Desired output shape.

        Returns
        -------
        np.ndarray
            Reshaped array of (x, y) pairs.
        )r{   r   )rC   rD   rE   r}  r~  s        r1   Úmake_pair_gridz&TestRectBivariateSpline.make_pair_gridj  s1   € ô& �x‰x¨A×: b¸Ò:°"˜"˜bšÐ:˜Ó:Ó;Ð;ùÓ:s   •/
c                 ón  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        g d¢g d¢g d¢g d¢g d¢g«      d	z  }t        g d
¢g d
¢g d¢g d¢g d
¢g«      }t        g d¢g d¢g d¢g d¢g d¢g«      d	z  }t        |||«      }t        |«      }ddg|fddg|fddg|ffD ]s  \  }	}
  |j                  |	Ž ||«      } |j	                  |	«      | j                  ||«      «      j                  |
j                  «      }t        ||
«       t        ||
«       Œu t        |||«      }t        t        |j	                  ddg«      ||«      |dd¬«       t        t        |j	                  ddg«      ||«      |dd¬«       t        t        |j	                  ddg«      ||«      |dd¬«       y )Nrf   rº  r»  r¼  rç  rè  ré  rê  r…   rë  rí  rî  rð  ró  rõ  r÷  r#   r   rÂ  rÃ  )r   r   r2   Úpartial_derivativerÆ   r  r(   r   r   r   r   r    )rC   rD   rE   rå   rú  rü  rÿ  r)   Úlut_ndbsplineÚordersÚexpectedÚactual_rectÚ
actual_ndbr¿  s                 r1   Ú#test_partial_derivative_method_gridz;TestRectBivariateSpline.test_partial_derivative_method_grid  sð  € Ü’/Ó"ˆÜ’/Ó"ˆÜ’?Ú"Ú"Ú"Ú"ð	$ó %ˆô
 Ò%Ú$Ú#Ú%Ú#ð	%ó &ð )+ñ	+ˆô
 Ò%Ú%Ú(Ú)Ú%ð	'ó (ˆô
 Ò+Ú1Ú'Ú1Ú'ð	)ó *ð -/ñ	/ˆô
 " ! Q¨Ó*ˆÜ,¨SÓ1ˆØ#$ a &¨" °°A°¸¨|¸qÀ!¸fÀd¸^Ð Lò 	<ÑˆF�HØ9Ð0˜#×0Ñ0°&Ð9¸!¸QÓ?ˆKØ9˜×1Ñ1°&Ó9Ø×#Ñ# A qÓ)óç‰g�h—n‘nÓ%ð ô & k°8Ô<Ü% j°(Õ;ð	<ô ˜Q  1Ó%ˆ
ÜÜ*¨:×+@Ñ+@À!ÀQÀÓ+HÈ!ÈQÓOØ�A˜Lõ	
ô 	Ü*¨:×+@Ñ+@À!ÀQÀÓ+HÈ!ÈQÓOØ�A˜Lõ	
ô 	Ü*¨:×+@Ñ+@À!ÀQÀÓ+HÈ!ÈQÓOØ�a˜lö	
r3   c                 óÂ  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        g d¢«      t        g d¢«      t        g d¢«      dz  d	œ}t        |||«      }t        |«      }t        |||«      }| j	                  ||«      }t        j                  t        |«      «      }	||	t        |«      z  |	z      }
|j                  «       D ]…  \  }}|\  }} |j                  ||«      ||d
¬«      }t        ||«        |j                  ||g«      |
«      }t        ||«       t        |j                  ||g«      ||d
¬«      }t        ||dd¬«       Œ‡ y )Nrf   rº  r»  r¼  r  r  r  r	  ))r#   r   )r   r#   rÕ   FrT  r   rÂ  rÃ  )r   r   r2   r   r  r{   r†   r&   Úitemsr  r   rÆ   r    r   )rC   rD   rE   rå   r  r)   r  r¿  ÚpointsÚdiag_idxÚdiag_pointsr  Úexpected_valsrú  rü  Ú
actual_rbsr  Ú	actual_rps                     r1   Útest_partial_derivative_methodz6TestRectBivariateSpline.test_partial_derivative_method¯  sj  € Ü’/Ó"ˆÜ’/Ó"ˆÜ’?Ú"Ú"Ú"Ú"ð	$ó %ˆô Ò,Ó-ÜÒ.Ó/ÜÒ.Ó/°#Ñ5ñ
ˆô " ! Q¨Ó*ˆÜ,¨SÓ1ˆÜ˜Q  1Ó%ˆ
à×$Ñ$ Q¨Ó*ˆô —9‘9œS ›VÓ$ˆØ˜X¬¨A«Ñ.°Ñ9Ñ:ˆà%-§^¡^Ó%5ò 	7Ñ!ˆF�MØ‰FˆB�à7˜×/Ñ/°°BÓ7¸¸1À5ÔIˆJÜ% j°-Ô@ð <˜×1Ñ1°2°r°(Ó;¸KÓHˆJÜ% j°-Ô@ô 7°z×7LÑ7LÈbÐRTÈXÓ7VØ�1˜5ô"ˆIä˜I }Ø!"¨ö7ñ	7r3   c                 ó¬  — t        g d¢t        ¬«      }|j                  «       }t        |j                  |j                  f«      }t        |||«      }t        |«      }t        t        «      5  |j                  |dz   d«       d d d «       |j                  |dz   dg«      j                  dk(  j                  «       sJ ‚t        |||||¬«      }t        t        «      5  |j                  |dz   d«       d d d «       t        |||||¬«      }|j                  |dz   dg«      j                  dk(  j                  «       sJ ‚y # 1 sw Y   Œ½xY w# 1 sw Y   ŒYxY w)N)r   r#   r8   r9   rT   r    r#   rh   r>  )r   r¬   r­   r   Úsizer   r2   r¯   r°   r  rÆ   r0   Úallr   )rC   r<   rD   rE   rå   r)   r  r¿  s           r1   Ú'test_partial_derivative_order_too_largez?TestRectBivariateSpline.test_partial_derivative_order_too_large×  s2  € ä’/¬Ô/ˆØ�F‰F‹HˆÜ�!—&‘&˜!Ÿ&™&Ð!Ó"ˆÜ! ! Q¨Ó*ˆÜ,¨SÓ1ˆÜœ:Ó&ñ 	-Ø×"Ñ" 1 q¡5¨!Ô,÷	-ð ×(Ñ(¨!¨a©%°¨Ó4×6Ñ6¸#Ñ=×BÑBÔDÐDÐDä! ! Q¨¨a°AÔ6ˆÜœ:Ó&ñ 	-Ø×"Ñ" 1 q¡5¨!Ô,÷	-ô ˜Q  1¨¨qÔ1ˆ
Ø×%Ñ% q¨1¡u¨a jÓ1×3Ñ3°sÑ:×?Ñ?ÔAÐAÑA÷	-ð 	-ú÷	-ð 	-ús   Á,D>ÃE
Ä>EÅ
Ec           
      óà   — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        |||||¬«      }t         |||«       ||d d …d f   |d d d …f   d¬«      «       y )Nrf   rº  r»  r¼  r>  FrT  )r   r   r   )rC   r<   rD   rE   rå   r)   s         r1   Útest_broadcastz&TestRectBivariateSpline.test_broadcastê  sf   € ä’+ÓˆÜ’+ÓˆÜ’;š{ª;²{Â;ÐOÓPˆÜ! ! A a¨1°Ô2ˆÜ™˜A˜q›	¡3 qª¨4¨¡y°!°Dº°F±)À%Ô#HÕIr3   c                 ó	  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        t        «      5 }t        |||«       d d d «       dt	        j
                  «      v sJ ‚t        t        «      5 }t        |||«       d d d «       dt	        j
                  «      v sJ ‚t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        t        «      5 }t        |||«       d d d «       dt	        |j
                  «      v sJ ‚t        t        «      5 }t        |||«       d d d «       dt	        |j
                  «      v sJ ‚t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g«      }t        t        «      5 }t        |||«       d d d «       d	t	        |j
                  «      v sJ ‚t        t        «      5 }t        |||«       d d d «       d	t	        |j
                  «      v sJ ‚t        g d¢«      }t        g d¢«      }t        g d
¢g d
¢g d¢g d¢g d
¢g«      }t        t        «      5 }t        |||«       d d d «       dt	        |j
                  «      v sJ ‚t        t        «      5 }t        |||«       d d d «       dt	        |j
                  «      v sJ ‚t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }d}t        t        «      5 }t        ||||¬«       d d d «       dt	        |j
                  «      v sJ ‚t        t        «      5 }t        ||||¬«       d d d «       dt	        |j
                  «      v sJ ‚t        t        «      5 }t        |||d¬«       d d d «       dt	        |j
                  «      v sJ ‚t        t        «      5 }t        |||d¬«       d d d «       dt	        |j
                  «      v sJ ‚y # 1 sw Y   �Œ¥xY w# 1 sw Y   �ŒtxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÞxY w# 1 sw Y   �Œ|xY w# 1 sw Y   �ŒKxY w# 1 sw Y   �ŒæxY w# 1 sw Y   �ŒµxY w# 1 sw Y   �ŒLxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒåxY w# 1 sw Y   Œ±xY w)N)rÌ   r8   r9   rT   rg   rf   rº  r»  r¼  úx must be strictly increasing)r8   r8   r9   rT   rg   úy must be strictly increasingz7x dimension of z must have same number of elements as x)r#   r8   r#   r8   )r#   r8   r9   r8   )r#   r8   r8   r8   z7y dimension of z must have same number of elements as yr_  r»   r`  r‹   rz   r÷   )r   r¯   r°   r   rø   rù   r   )rC   rD   rE   rå   rû   Úinfo_customr¼   s          r1   rf  z*TestRectBivariateSpline.test_invalid_inputò  s:  € ä’/Ó"ˆÜ’/Ó"ˆÜ’?¢O²_Ú#¢_ð6ó 7ˆô œ:Ó&ð 	)¨$Ü  1 aÔ(÷	)à.´#°d·j±j³/ÑAÐAÐAäœ:Ó&ð 	¨+Ü�A�q˜!Ô÷	à.´#°k×6GÑ6GÓ2HÑHÐHÐHä’/Ó"ˆÜ’/Ó"ˆÜ’?¢O²_Ú#¢_ð6ó 7ˆäœ:Ó&ð 	)¨$Ü  1 aÔ(÷	)à.´#°d·j±j³/ÑAÐAÐAäœ:Ó&ð 	¨+Ü�A�q˜!Ô÷	à.´#°k×6GÑ6GÓ2HÑHÐHÐHä’/Ó"ˆÜ’/Ó"ˆÜ’?¢O²_Ú#ð%ó &ˆäœ:Ó&ð 	)¨$Ü  1 aÔ(÷	)àHÜ�d—j‘j“/ñ"ð 	"ð "ô œ:Ó&ð 	¨+Ü�A�q˜!Ô÷	àHÜ�k×'Ñ'Ó(ñ)ð 	)ð )ô ’/Ó"ˆÜ’/Ó"ˆÜ’<¢ª|Ú ¢,ð0ó 1ˆô œ:Ó&ð 	)¨$Ü  1 aÔ(÷	)àHÜ�d—j‘j“/ñ"ð 	"ð "ô œ:Ó&ð 	¨+Ü�A�q˜!Ô÷	àHÜ�k×'Ñ'Ó(ñ)ð 	)ð )ô ’/Ó"ˆÜ’/Ó"ˆÜ’?¢O²_Ú#¢_ð6ó 7ˆà ˆäœ:Ó&ð 	4¨$Ü  1 a¨dÕ3÷	4à*¬c°$·*±*«oÑ=Ð=Ð=äœ:Ó&ð 	(¨+Ü�A�q˜! $Õ'÷	(à*¬c°+×2CÑ2CÓ.DÑDÐDÐDäœ:Ó&ð 	1¨$Ü  1 a¨4Õ0÷	1à%¬¨T¯Z©Z«Ñ8Ð8Ð8äœ:Ó&ð 	%¨+Ü�A�q˜!˜tÕ$÷	%à%¬¨[×->Ñ->Ó)?Ñ?Ð?Ñ?÷K	)ñ 	)ú÷	ñ 	ú÷	)ñ 	)ú÷	ñ 	ú÷	)ñ 	)ú÷
	ñ 	ú÷	)ñ 	)ú÷
	ñ 	ú÷	4ñ 	4ú÷	(ñ 	(ú÷	1ð 	1ú÷	%ð 	%ús�   ÁO5ÂPÃ4PÄ2PÆ!P)ÇP6ÉQÊQÌQÍQ*ÎQ7ÏRÏ5O?ÐPÐPÐP&Ð)P3Ð6Q ÑQÑQÑQ'Ñ*Q4Ñ7R ÒRc                 óð  — t        g d¢«      }t        g d¢«      }t        g d¢g d¢g d¢g d¢g d¢g«      }t        g d¢«      }t        ||||||¬«      }t        ||||||¬«      }t        |j                  «       |j                  «       |j                  «       |j                  «       ||¬«      }t        |j                  «       |j                  «       |j                  «       |j                  «       ||¬«      }	t	         |dd«       |dd«      «       t         |dd«      t        |dd«      dd	¬
«       t         |dd«      t        |	dd«      dd	¬
«       t        t        |dd«      t        |	dd«      dd	¬
«       y )Nrf   rº  r»  r¼  )r#   rg   r#   rg   )r¼   r,   r-   rŒ   r   rÂ  rÃ  )r   r   r   r  r   r   r    )
rC   r<   rD   rE   rå   r¼   r	  Úspl1_customrÈ   Úspl2_customs
             r1   r
  z-TestRectBivariateSpline.test_array_like_input@  sC  € ä’/Ó"ˆÜ’/Ó"ˆÜ’?¢O²_Ú"¢Oð5ó 6ˆä’\Ó"ˆä" 1 a¨°¸!ÀÔBˆÜ˜a  A¨D°Q¸1Ô=ˆÜ" 1§8¡8£:¨q¯x©x«z¸1¿8¹8»:Ø(,¯©«¸!ÀôCˆä˜aŸh™h›j¨!¯(©(«*°a·h±h³jØ(,¯©«¸!ÀôCˆä!¡$ s¨C£.±$°s¸C³.ÔAÜ™˜S #›Ü6°{ÀCÈÓMØ \õ	3ô 	™˜S #›Ü6°{ÀCÈÓMØ \õ	3ô 	Ô6°{ÀCÈÓMÜ6°{ÀCÈÓMØ \ö	3r3   c                 óB  — d}t         j                  j                  dt         j                  |«      }t         j                  j                  ddt         j                  z  |«      }t        j                  |«      }t        |||d¬«      }d}d}t        j                  |«      |z  t         j                  z  }t        j                  |«      |z  dz  t         j                  z  }	 |||	«       |j                  «       }
d|
d<   t        t        «      5 } ||
|	«       d d d «       d	t        j                  «      v sJ ‚|	j                  «       }d|d<   t        t        «      5 } |||«       d d d «       d
t        |j                  «      v sJ ‚y # 1 sw Y   ŒrxY w# 1 sw Y   Œ/xY w)Nr\  r   r8   r   rz   rÌ   r9   çü©ñÒMbP?r%  r&  )r{   ÚrandomÚuniformr   r   r   r†   r­   r¯   r°   rø   rù   )rC   ÚNSampÚThetaÚPhiÚDataÚInterpolatorÚNLonÚNLatÚGridPosLatsÚGridPosLonsÚnonGridPosLatsre  ÚnonGridPosLonss                r1   Útest_not_increasing_inputz1TestRectBivariateSpline.test_not_increasing_inputY  sa  € àˆÜ—	‘	×!Ñ! !¤R§U¡U¨EÓ2ˆÜ�i‰i×Ñ  1¤r§u¡u¡9¨eÓ4ˆÜ�w‰w�u‹~ˆä2°5¸#¸tÀsÔKˆàˆØˆÜ—i‘i “o¨Ñ,¬r¯u©uÑ4ˆÜ—i‘i “o¨Ñ,¨qÑ0´2·5±5Ñ8ˆñ 	�[ +Ô.à$×)Ñ)Ó+ˆØ!ˆ�qÑÜœ:Ó&ð 	6¨(Ù˜¨Ô5÷	6à.´#°h·n±nÓ2EÑEÐEÐEà$×)Ñ)Ó+ˆØ!ˆ�qÑÜœ:Ó&ð 	6¨(Ù˜ nÔ5÷	6à.´#°h·n±nÓ2EÑEÐEÑE÷	6ð 	6ú÷	6ð 	6ús   Ä
F	Å
FÆ	FÆFc                 ó  — t         j                  j                  d«      }t        j                  |«      }t        j                  |«      }|j	                  dd||f«      }|||j                  t         j                  «      fS )Nr#   r   r¤   )r{   r-  Údefault_rngr†   Úintegersr½  r¾  )rC   r.   r/   ÚrngrD   rE   rå   s          r1   Ú_sample_large_2d_dataz-TestRectBivariateSpline._sample_large_2d_datav  s`   € Ü�i‰i×#Ñ# AÓ&ˆÜ�I‰I�b‹MˆÜ�I‰I�b‹MˆØ�L‰L˜˜C " b Ó*ˆà�!�Q—X‘XœbŸj™jÓ)Ð)Ð)r3   c                 ó   —  | ||«      S r  rd   )rP   rD   rE   s      r1   Ú_RectBivariateSplineEvalz0TestRectBivariateSpline._RectBivariateSplineEvalƒ  s   € Ù�1�a‹yÐr3   r   )é^  iR  )iÐ  éª   Ús_tols))r   çê-�™—q=gH¯¼šò×z>)r#   gyé&1¬|?ç-Cëâ6?)r9   rÓ  rF  Úspl_apisc                 óä   — |\  }}|\  }}}| j                  ||«      \  }	}
}|\  }} ||	|
||¬«      } |||	|
«      }t        j                  |«      j                  «       rJ ‚t	        ||||¬«       y )Nrz   ©rN   rÄ  ©r?  r{   ÚisnanÚanyr   )rC   r   rD  rG  r.   r/   rJ   rN   rÄ  rD   rE   rå   Úspl_constructÚspl_evalrP   Úz_spls                   r1   Útest_spline_large_2dz,TestRectBivariateSpline.test_spline_large_2d†  s€   € ð& ‰ˆˆBØ‰ˆˆ4�Ø×,Ñ,¨R°Ó4‰ˆˆ1ˆaà"*Ñˆ�xá˜A˜q ! qÔ)ˆÙ˜˜a Ó#ˆÜ—8‘8˜E“?×&Ñ&Ô(Ð)Ð(Ü˜˜q t°$Ö7r3   l        z2Segfaults on 32-bit system due to large input data)Úreasonc           	      óê   — d\  }}d\  }}}| j                  ||«      \  }}	}
|\  }} |||	|
|d||¬«      } ||||	«      }t        j                  |«      j                  «       rJ ‚t	        ||
||¬«       y )N)ry   i¤  )r8   rÓ  rE  é   )rJ   Úmaxitr,   r-   rI  rJ  )rC   r<   rG  r.   r/   rJ   rN   rÄ  rD   rE   rå   rM  rN  rP   rO  s                  r1   Útest_spline_large_2d_maxitz2TestRectBivariateSpline.test_spline_large_2d_maxit¤  s‰   € ð" ‰ˆˆBØ&‰ˆˆ4�Ø×,Ñ,¨R°Ó4‰ˆˆ1ˆaà"*Ñˆ�xá˜A˜q ! qØ"$¨¨qô2ˆá˜˜a Ó#ˆÜ—8‘8˜E“?×&Ñ&Ô(Ð)Ð(Ü˜˜q t°$Ö7r3   c                 óÈ  — d\  }}d\  }}d}t         j                  j                  d«      }t        j                  dd|t        ¬«      }t        j                  dd|t        ¬«      }	t        j
                  ||	d¬	«      \  }
}t        j                  |
«      t        j                  |«      z  d
t        j                  d|
z  dz   «      z  t        j                  d|z  dz
  «      z  z   d|j                  ||f¬«      z  z   j                  t        «      }|\  }} |||	||||¬«      } ||||	«      }t        j                  |«      j                  «       rJ ‚t        ||dd¬«       y)zU
        Test regrid with synthetic smooth data (mixed frequencies + noise).
        )é@   rW  )r9   r9   rÃ   r   rh   r¥   r    rÏ  rÐ  rÄ   r8   r›   r>   gš™™™™™©?)r  ru  rš   rI  N)r{   r-  r<  r
   r¬   r   rÅ  r|   Únormalr½  rK  rL  r   )rC   rG  r.   r/   r,   r-   rJ   r>  rD   rE   rÔ  rÕ  rå   rM  rN  rP   rO  s                    r1   Útest_spline_synthetic_dataz2TestRectBivariateSpline.test_spline_synthetic_dataÁ  s>  € ð ‰ˆˆBØ‰ˆˆBØˆä�i‰i×#Ñ# AÓ&ˆÜ�K‰K˜˜S "¬EÔ2ˆÜ�K‰K˜˜S "¬EÔ2ˆô �{‰{˜1˜a¨$Ô/‰ˆˆ1ä�F‰F�1‹IœŸ™˜q›	Ñ!Ø”B—F‘F˜1˜q™5 3™;Ó'Ñ'¬"¯&©&°°q±¸3±Ó*?Ñ?ñ@à�S—Z‘Z b¨" X�ZÓ.Ñ.ñ/÷ ‰&”‹-ð	 	
ð #+Ñˆ�xá˜A˜q !¨¨r°QÔ7ˆÙ˜˜a Ó#ˆÜ—8‘8˜E“?×&Ñ&Ô(Ð(Ð(Ü˜˜q s°Ö5r3   N)"ra   rb   rc   r  r5  r6  rÀ  rÊ  rÌ  rÛ  rå  r   r�   r  r  r  r!  r#  rf  r
  r:  r?  rA  Úslowr   r   r    rP  ÚxslowÚskipifÚsysÚmaxsizerU  rY  rd   r3   r1   r¸  r¸  Ë  s  „ Ø‡[�[×Ñ˜S 1 a &Ó)ñTó *ðTð  ‡[�[×Ñ˜S 1 a &Ó)ñ3ó *ð3ð$ ‡[�[×Ñ˜S 1 a &Ó)ñ3ó *ð3ð$ ‡[�[×Ñ˜WÒ&=Ó>Ø‡[�[×Ñ˜S 1 a &Ó)ñ2ó *ó ?ð2ð6 ‡[�[×Ñ˜S 1 a &Ó)ñ3ó *ð3ò('ò6
ò4<ò*.
ò`&7ðP ‡[�[×Ñ˜S 1 a &Ó)ñBó *ðBð$ ‡[�[×Ñ˜S 1 a &Ó)ñJó *ðJòL@ð\ ‡[�[×Ñ˜S 1 a &Ó)ñ3ó *ð3ò0Fò:*òð ‡[�[×ÑÓØ‡[�[×Ñ˜W z°;Ð&?Ó@Ø‡[�[×Ñ˜Xò (9ó :ð ‡[�[×Ñ˜ZÐ+>Ø+Cð+Eà+2Ø+Ið+Kð*Ló Mñ8ó	Mó:ó Aó ð8ð* ‡[�[×ÑÓØ‡[�[×Ñ˜Ÿ™ uÑ,ð 6OÐó Pà‡[�[×Ñ˜S 1 a &Ó)Ø‡[�[×Ñ˜ZÐ+>Ø+Cð+Eà+2Ø+Ið+Kð*Ló Mñ8ó	Mó *óPó ð8ð* ‡[�[×Ñ˜ZÐ+>Ø+Cð+Eà+2Ø+Ið+Kð*Ló Mñ6ó	Mñ6r3   r¸  c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestRectSphereBivariateSplinec           
      óÚ   — t        ddt        z  dz
  d«      }t        dt        dz
  d«      }t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        |||«      }t	         |||«      |«       y ©Nç{®Gáz„?r8   rm   ©r#   r8   r#   r8   r#   r8   r#   ©r#   r8   r9   r8   r#   r8   r#   ©r#   r8   r8   r8   r#   r8   r#   )r
   r   r   r   r   ©rC   rE   rD   rå   r)   s        r1   rÀ  z+TestRectSphereBivariateSpline.test_defaultsç  si   € Ü�T˜1œR™4 ™9 aÓ(ˆÜ�Tœ2˜d™7 AÓ&ˆÜ’?¢?²?Ú"¢?²?Ú"ð$ó %ˆô (¨¨!¨AÓ.ˆÜ!¡# a¨£(¨1Õ-r3   c           
      óp  — t        ddt        z  dz
  d«      }t        dt        dz
  d«      }t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        |||«      }g d¢}g d¢}|j	                  ||«      }t        t        ||«      D ��	cg c]  \  }}	 |||	«      d	   ‘Œ c}	}«      }
t        ||
«       y c c}	}w )
Nrc  r8   rm   rd  re  rf  )rÄ   r#   rÝ  gÍÌÌÌÌÌ@r!  gìQ¸…ë@g      @)r>   rD  r   gÍÌÌÌÌÌÜ?gj¼t“Î?rŒ   rF  rÖ   )r
   r   r   r   rà  rE  r   )rC   rE   rD   rå   r)   r~  r}  rá  r²   rJ  râ  s              r1   rå  z+TestRectSphereBivariateSpline.test_evaluateð  s¬   € Ü�T˜1œR™4 ™9 aÓ(ˆÜ�Tœ2˜d™7 AÓ&ˆÜ’?¢?²?Ú"¢?²?Ú"ð$ó %ˆô (¨¨!¨AÓ.ˆÚ1ˆÚ6ˆØ�V‰V�B˜‹^ˆÜ´C¸¸B³K×@©&¨"¨b‘S˜˜R“[ Ó%Ó@ÓAˆÜ˜B Õ$ùó As   ÂB2
c                 ót  — t        j                  t        j                  dt        j                  ddd«      z
  «      j                  t        j                  dt        j
                  t        j                  ddd«      «      z
  «      «      j                  }t        t        «      5 }t        j                  d	d
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }t        j                  ddd«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||d	¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �ŒvxY w# 1 sw Y   �ŒïxY w# 1 sw Y   �ŒhxY w# 1 sw Y   ŒàxY w# 1 sw Y   ŒVxY w)Nç     €V@ç      TÀç      T@é   ç     €f@rh   ç     àu@rn   rK   rC  r   rB  úu should be between (0, pi)r¹   éµ   éKÿÿÿú v[0] should be between [-pi, pi)éöÿÿÿéh  ú"v[-1] should be v[0] + 2pi or lessrz   rµ  ©r{   ÚdotÚ
atleast_2dr
   rŠ  r@   r¯   r°   r   r   rø   rù   ©rC   rŒ  re  r–  r—  s        r1   rf  z0TestRectSphereBivariateSpline.test_invalid_inputý  sû  € Ü�v‰v”b—m‘m C¬"¯+©+°d¸CÀÓ*DÑ$DÓE×GÑGÜ—m‘m D¬2¯6©6´"·+±+¸bÀ$ÈÓ2JÓ+KÑ$KÓLóNßNOÉað 	ô œ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜q # rÓ*¬R¯U©UÑ2°TÑ9ˆDÜ% d¨D°$Ô7÷	8ð -´°H·N±NÓ0CÑCÐCÐCäœ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜q # rÓ*¬R¯U©UÑ2°TÑ9ˆDÜ% d¨D°$Ô7÷	8ð -´°H·N±NÓ0CÑCÐCÐCäœ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜t R¨Ó,¬r¯u©uÑ4°tÑ;ˆDÜ% d¨D°$Ô7÷	8ð 2´S¸¿¹Ó5HÑHÐHÐHäœ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜s C¨Ó,¬r¯u©uÑ4°tÑ;ˆDÜ% d¨D°$Ô7÷	8ð 4´s¸8¿>¹>Ó7JÑJÐJÐJäœ:Ó&ð 	>¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜r 3¨Ó+¬b¯e©eÑ3°dÑ:ˆDÜ% d¨D°$¸"Õ=÷	>ð &¬¨X¯^©^Ó)<Ñ<Ð<Ñ<÷9	8ñ 	8ú÷	8ñ 	8ú÷	8ñ 	8ú÷	8ð 	8ú÷	>ð 	>úóA   Â#A$M;Ä7A$NÇA$NÉA$N"Ë3A&N.Í;NÎNÎNÎ"N+Î.N7c                 ó  — t        ddt        z  dz
  d«      }t        dt        dz
  d«      }t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        |||«      }t        ddt        z  dz
  d«      }t        dt        dz
  d«      }t	         |||d¬	«      t        |||d¬
«      dd¬«       t	         |||d¬«      t        |||d¬«      dd¬«       t	         |||dd¬«      t        |||ddd¬«      dd¬«       t         |||d¬	«       |j                  dd«      ||«      «       t         |||d¬«       |j                  dd«      ||«      «       t         |||dd¬«       |j                  dd«      ||«      «       t         |||dd¬«       |j                  dd«      ||d¬«      «       t         |||dd¬«       |j                  dd«      ||d¬«      «       t         |||ddd¬«       |j                  dd«      ||d¬«      «       y )Nrc  r8   rm   rd  re  rf  rÓ  r#   )Údthetarù  rF  rÃ  )Údphirû  )r}  r~  ç�íµ ÷Æ°>©rú  rü  rc  r,  r   F©r}  rU  rT  ©r~  rU  ©r}  r~  rU  )r
   r   r   r   r   Ú_numdiff_2dr   r  rg  s        r1   r   z3TestRectSphereBivariateSpline.test_derivatives_grid  s  € Ü�T˜1œR™4 ™9 aÓ(ˆÜ�Tœ2˜d™7 AÓ&ˆÜ’?¢?²?Ú"¢?²?Ú"ð$ó %ˆô (¨¨!¨AÓ.ˆä�T˜1œR™4 ™9 aÓ(ˆÜ�Tœ2˜d™7 AÓ&ˆä™˜A˜q¨Ô+¬[¸¸aÀÀqÔ-IØ!¨õ	.ä™˜A˜q qÔ)¬;°s¸A¸qÀQÔ+GØ!¨õ	.ä™˜A˜q¨°Ô3Ü# C¨¨A°!¸¸tÔDØ!¨õ	.ô 	™˜A˜q¨Ô+Ø7˜3×1Ñ1°!°QÓ7¸¸1Ó=ô	?ä™˜A˜q qÔ)Ø7˜3×1Ñ1°!°QÓ7¸¸1Ó=ô	?ä™˜A˜q¨°Ô3Ø7˜3×1Ñ1°!°QÓ7¸¸1Ó=ô	?ô 	™˜A˜q¨°Ô7Ø7˜3×1Ñ1°!°QÓ7¸¸1À5ÔIô	Kä™˜A˜q q¨uÔ5Ø7˜3×1Ñ1°!°QÓ7¸¸1À5ÔIô	Kä™˜A˜q¨°¸Ô?Ø7˜3×1Ñ1°!°QÓ7¸¸1À5ÔIõ	Kr3   c                 óR  ‡— t        ddt        z  dz
  d«      }t        dt        dz
  d«      }t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        |||«      Št        ddt        z  dz
  d«      }t        dt        dz
  d«      } ‰||dd	¬
«      j                  |j                  k(  sJ ‚t         ‰||dd	¬
«      t        ˆfd„||d¬«      dd¬«       t         ‰||dd	¬«      t        ˆfd„||d¬«      dd¬«       t         ‰||ddd	¬«      t        ˆfd„||ddd¬«      dd¬«       y )Nrc  r8   rm   rd  re  rf  rÓ  r#   Fr�  c                 ó   •—  ‰| |d¬«      S ©NFrT  rd   ©rD   rE   r)   s     €r1   ú<lambda>z@TestRectSphereBivariateSpline.test_derivatives.<locals>.<lambda>O  ó   ø€ ±°A°a¸UÔ0C€ r3   rù  rF  rÃ  r‚  c                 ó   •—  ‰| |d¬«      S r‡  rd   rˆ  s     €r1   r‰  z@TestRectSphereBivariateSpline.test_derivatives.<locals>.<lambda>R  rŠ  r3   rû  rƒ  c                 ó   •—  ‰| |d¬«      S r‡  rd   rˆ  s     €r1   r‰  z@TestRectSphereBivariateSpline.test_derivatives.<locals>.<lambda>U  rŠ  r3   r  r€  r,  )r
   r   r   r   r   r   r„  rg  s       @r1   r�   z.TestRectSphereBivariateSpline.test_derivativesA  s.  ø€ Ü�T˜1œR™4 ™9 aÓ(ˆÜ�Tœ2˜d™7 AÓ&ˆÜ’?¢?²?Ú"¢?²?Ú"ð$ó %ˆô (¨¨!¨AÓ.ˆä�T˜1œR™4 ™9 aÓ(ˆÜ�Tœ2˜d™7 AÓ&ˆá�1�a ¨Ô.×4Ñ4¸¿¹Ò?Ð?Ð?Ü™˜A˜q¨°Ô7Ü#Ó$CÀQÈÈaÔPØ!¨õ	.ô 	™˜A˜q q¨uÔ5Ü#Ó$CÀQÈÈaÔPØ!¨õ	.ô 	™˜A˜q¨°¸Ô?Ü#Ó$CØ$% q¨Q°1¸$ô@à!¨ö	.r3   c                 ót  — t        j                  t        j                  dt        j                  ddd«      z
  «      j                  t        j                  dt        j
                  t        j                  ddd«      «      z
  «      «      j                  }t        t        «      5 }t        j                  d	d
d«      t         j                  z  dz  }t        j                  d	dd«      t         j                  z  dz  }t        |||«       d d d «       dt        j                  «      v sJ ‚t        t        «      5 }t        j                  ddd«      t         j                  z  dz  }t        j                  d	dd«      t         j                  z  dz  }t        |||«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||«       d d d «       dt        |j                  «      v sJ ‚t        t        «      5 }t        j                  dd
d«      t         j                  z  dz  }t        j                  ddd«      t         j                  z  dz  }t        |||d¬«       d d d «       dt        |j                  «      v sJ ‚y # 1 sw Y   �ŒvxY w# 1 sw Y   �ŒïxY w# 1 sw Y   �ŒhxY w# 1 sw Y   ŒàxY w# 1 sw Y   ŒVxY w)Nrj  rk  rl  rm  rn  rh   ro  rn   r   rC  rB  rp  r¹   é´   rr  rs  rt  ru  rv  rK   rz   rµ  rw  rz  s        r1   Útest_invalid_input_2z2TestRectSphereBivariateSpline.test_invalid_input_2Y  sû  € Ü�v‰v”b—m‘m C¬"¯+©+°d¸CÀÓ*DÑ$DÓE×GÑGÜ—m‘m D¬2¯6©6´"·+±+¸bÀ$ÈÓ2JÓ+KÑ$KÓLóNßNOÉað 	ô œ:Ó&ð 	8¨(Ü—;‘;˜q # qÓ)¬B¯E©EÑ1°DÑ8ˆDÜ—;‘;˜q # rÓ*¬R¯U©UÑ2°TÑ9ˆDÜ% d¨D°$Ô7÷	8ð -´°H·N±NÓ0CÑCÐCÐCäœ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜q # rÓ*¬R¯U©UÑ2°TÑ9ˆDÜ% d¨D°$Ô7÷	8ð -´°H·N±NÓ0CÑCÐCÐCäœ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜t R¨Ó,¬r¯u©uÑ4°tÑ;ˆDÜ% d¨D°$Ô7÷	8ð 2´S¸¿¹Ó5HÑHÐHÐHäœ:Ó&ð 	8¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜s C¨Ó,¬r¯u©uÑ4°tÑ;ˆDÜ% d¨D°$Ô7÷	8ð 4´s¸8¿>¹>Ó7JÑJÐJÐJäœ:Ó&ð 	>¨(Ü—;‘;˜r 3¨Ó*¬R¯U©UÑ2°TÑ9ˆDÜ—;‘;˜r 3¨Ó+¬b¯e©eÑ3°dÑ:ˆDÜ% d¨D°$¸"Õ=÷	>ð &¬¨X¯^©^Ó)<Ñ<Ð<Ñ<÷9	8ñ 	8ú÷	8ñ 	8ú÷	8ñ 	8ú÷	8ð 	8ú÷	>ð 	>úr{  c           
      óV  — t        ddt        z  dz
  d«      }t        dt        dz
  d«      }t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        |||«      }t        |j	                  «       |j	                  «       |j	                  «       «      }t         |||«       |||«      «       y rb  )r
   r   r   r   r  r   )rC   rE   rD   rå   r	  rÈ   s         r1   r
  z3TestRectSphereBivariateSpline.test_array_like_input{  s”   € Ü�T˜1œr™6 D™=¨!Ó,ˆÜ�Tœ2 ™9 aÓ(ˆÜÒ(Ò*?Ú(Ú(Ò*?Ú(Ú(ð	*ó +ˆô )¨¨A¨qÓ1ˆä(¨¯©«°Q·X±X³ZÀÇÁÃÓLˆÜ!¡$ q¨!£*©d°1°a«jÕ9r3   c                 ó  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  ||«      }|d   |d   z   }t        j                  |«      }t        j                  |«      }t	        |||«      }t        j                  t        j                  ddg«      «      }t        j                  t        j                  ddg«      «      }	 |||	«      }
t        j                  d	d
gddgg«      }t        |
|«       y )N)rò  rS  é#   rñ  é-   )i¦ÿÿÿi«ÿÿÿé°ÿÿÿiµÿÿÿrÂ   r   r#   r’  g     ÀB@r”  g     `SÀg     €FÀgÐñÑâŒ=EÀg     ˆHÀgDioð…EGÀ)r{   r   r   Úradiansr   r   )rC   r–  r—  ÚmeshrŒ  Úlat_rÚlon_rÚinterpolatorÚ	query_latÚ	query_lonÚdata_interpÚanss               r1   Útest_negative_evaluationz6TestRectSphereBivariateSpline.test_negative_evaluation‰  sÚ   € Ü�x‰xÒ,Ó-ˆÜ�x‰xÒ0Ó1ˆÜ�{‰{˜4 Ó&ˆØ�A‰w˜˜a™Ñ ˆÜ—
‘
˜4Ó ˆÜ—
‘
˜4Ó ˆÜ0°¸¸tÓDˆÜ—J‘JœrŸx™x¨¨T¨
Ó3Ó4ˆ	Ü—J‘JœrŸx™x¨¨e¨Ó5Ó6ˆ	Ù" 9¨iÓ8ˆÜ�h‰h˜ 
Ð+Ø! 9Ð-ð/ó 0ˆä! +¨sÕ3r3   c                 ó  — t        j                  dd«      t         j                  z  dz  }t        j                  dd«      t         j                  z  dz  }t        j                  d«      }dD ]  }t	        |||d|¬«       Œ y )Nr#   r¹   )rn   rn   ))TT)TF)FFr   )rJ   Úpole_continuity)r{   r†   r   r¨   r   )rC   ÚuÚvrA  Úps        r1   Útest_pole_continuity_gh_14591z;TestRectSphereBivariateSpline.test_pole_continuity_gh_14591˜  so   € ô �I‰I�a˜ÓœrŸu™uÑ$ rÑ)ˆÜ�I‰I�a˜ÓœrŸu™uÑ$ rÑ)ˆÜ�H‰H�VÓˆØ>ò 	GˆAÜ% a¨¨A°ÀAÖFñ	Gr3   N)ra   rb   rc   rÀ  rå  rf  r   r�   r�  r
  rž  r¤  rd   r3   r1   r`  r`  æ  s4   „ ò.ò%ò =òD KòD.ò0 =òD:ò4óGr3   r`  c                 ó†  — |dk(  r|dk(  r	 | ||«      S |dk(  r$|dk(  r | ||z   |«       | ||z
  |«      z
  d|z  z  S |dk(  r$|dk(  r | |||z   «       | |||z
  «      z
  d|z  z  S |dk(  rM|dk(  rH | ||z   ||z   «       | ||z
  ||z   «      z
   | ||z   ||z
  «      z
   | ||z
  ||z
  «      z   d|z  dz  z  S t        d«      ‚)Nr   r#   r8   zinvalid derivative order)r°   )ÚfuncrD   rE   rú  rü  rc  s         r1   r„  r„  §  s  € Ø	ˆQ‚w�2˜’7Ù�A�q‹zÐØ	ˆqŠ�R˜1’WÙ�Q˜‘W˜aÓ ¡4¨¨C©°Ó#3Ñ3¸¸#¹Ñ>Ð>Ø	ˆqŠ�R˜1’WÙ�Q˜˜C™Ó ¡4¨¨1¨s©7Ó#3Ñ3¸¸#¹Ñ>Ð>Ø	ˆqŠ�R˜1’WÙ�Q˜‘W˜a #™gÓ&©¨a°#©g°q¸3±wÓ)?Ñ?Ù�q˜3‘w  C¡Ó(ñ)Ù+/°°C±¸¸S¹Ó+AñBØFGÈÁeÈaÁZñPð 	Pô Ð3Ó4Ð4r3   c                   ó4   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTest_DerivedBivariateSplinezgTest the creation, usage, and attribute access of the (private)
    _DerivedBivariateSpline class.
    c                 óº  — t        j                  t        t        t	        d«      t	        d«      «      «      «      }t        j                  t        t        t	        d«      t	        dd«      «      «      «      }t        j                  t        j
                  ddd«      t        j
                  ddd«      f«      }t        j                  t        d¬«      5  t        |||t        ddd	«      t        d
dd	«      d¬«      | _
        d d d «       t        |||«      | _        t        ddd«      }|dz   }t        t	        |j                  «      D �cg c]  }t        j                  ||«      ‘Œ c}«      }t!        |||d	d	¬«      | _        t%        |||d	d	¬«      | _        t        t)        j*                  t	        d«      t	        d«      «      «      | _        y # 1 sw Y   ŒÎxY wc c}w )Nr¹   r#   é   r9   r=  r  r›   g     €3@rT   r>   g     €4@rc  rb  r   r\  rŒ   r>  )r{   ÚconcatenateÚlistrE  rØ   r
   r  r  r  r   r‹  r   Ú
lut_smoothr   r  Úrollr   Úlut_rectr   Úlut_rect_customÚ	itertoolsÚproductr  )rC   rD   rE   rå   ré   rê   ÚiÚzzs           r1   r˜  z(Test_DerivedBivariateSpline.setup_method¹  sd  € Ü�N‰Nœ4¤¤E¨"£I¬u°R«yÓ 9Ó:Ó;ˆÜ�N‰Nœ4¤¤E¨"£I¬u°Q¸«|Ó <Ó=Ó>ˆÜ�N‰NœBŸK™K¨¨1¨bÓ1´2·;±;¸qÀ!ÀRÓ3HÐIÓJˆÜ�\‰\œ+Ð-OÔPñ 	8Ü-¨a°°AÜ.6°s¸DÀ!Ó.DÜ.6°s¸DÀ!Ó.DØ26ô8ˆDŒL÷	8ô
 0°°1°aÓ8ˆŒÜ�a˜˜BÓˆØ�#‰XˆÜ¬5°·±«=Ö9 a”B—G‘G˜A˜q•MÒ9Ó:ˆÜ+¨B°°B¸1ÀÔCˆŒÜ& r¨2¨r°a¸AÔ>ˆÔÜœ9×,Ñ,¬U°1«X´u¸Q³xÓ@ÓAˆ�÷	8ð 	8üò :s   Ã-GÅGÇGc                 ó´   — | j                   D ]I  \  }}| j                  j                  ||«      } |ddd¬«      }| j                  dd||d¬«      }||k(  rŒIJ ‚ y )Nr   FrT  r
  )r  r‹  r  ©rC   ÚnuxÚnuyÚlut_derrÙ   rÚ   s         r1   Útest_creation_from_LSQz2Test_DerivedBivariateSpline.test_creation_from_LSQÊ  s`   € ØŸ™ò 	‰HˆC�Ø—l‘l×5Ñ5°c¸3Ó?ˆGÙ˜˜S uÔ-ˆAØ—‘˜S #¨#°#¸E�ÓBˆAØ˜“6ˆM�6ñ		r3   c                 ó´   — | j                   D ]I  \  }}| j                  j                  ||«      } |ddd¬«      }| j                  dd||d¬«      }||k(  rŒIJ ‚ y )Ng      @FrT  r
  )r  r­  r  r¶  s         r1   Útest_creation_from_Smoothz5Test_DerivedBivariateSpline.test_creation_from_SmoothÑ  s`   € ØŸ™ò 	‰HˆC�Ø—o‘o×8Ñ8¸¸cÓBˆGÙ˜˜S uÔ-ˆAØ—‘  S¨S°S¸u�ÓEˆAØ˜“6ˆM�6ñ		r3   c                 óÆ  — | j                   D ]I  \  }}| j                  j                  ||«      } |ddd¬«      }| j                  dd||d¬«      }||k(  rŒIJ ‚ | j                   D ]X  \  }}| j                  j	                  ||g«      }t        |dd«      }t        | j                  dd||¬«      }t        ||dd¬	«       ŒZ | j                   D ]“  \  }}| j                  j                  ||«      }t        | j                  «      }|j	                  ||f«      } |ddd¬«      } |d
g«      }| j                  dd||d¬«      } |d
g||f¬«      }	||k(  sJ ‚t        ||	«       Œ• y )Nr›   r>   FrT  r
  rý  r   rÂ  rÃ  )r›   r>   rU   )	r  r¯  r  r°  rÆ   r    r   r2   r   )
rC   r·  r¸  r¹  rÙ   rÚ   Úlut_ndsplineÚlut_der_ndbsplineÚa_ndbsplineÚb_ndbsplines
             r1   Útest_creation_from_Rectz3Test_DerivedBivariateSpline.test_creation_from_RectØ  sv  € ØŸ™ò 	‰HˆC�Ø—m‘m×6Ñ6°s¸CÓ@ˆGÙ˜˜S uÔ-ˆAØ—‘˜c 3¨3°3¸U�ÓCˆAØ˜“6ˆM�6ð		ð Ÿ™ò 	=‰HˆC�Ø×*Ñ*×5Ñ5°s¸C°jÓAˆGÜ.¨w¸¸SÓAˆAÜ.Ø×$Ñ$ c¨3°3¸3ô@ˆAä˜A˜q q¨|Ö<ð	=ð Ÿ™ò 		:‰HˆC�Ø—m‘m×6Ñ6°s¸CÓ@ˆGÜ/°·±Ó>ˆLØ ,× 7Ñ 7¸¸c¸
Ó CÐÙ˜˜S uÔ-ˆAÙ+¨Z¨LÓ9ˆKØ—‘˜c 3¨3°3¸U�ÓCˆAÙ&¨
 |¸¸c¸
ÔCˆKØ˜’6ˆM�6Ü ¨[Õ9ñ		:r3   c                 óè  — | j                   j                  dd«      }t        t        «      5  |j                   d d d «       | j
                  j                  ddg«      }t        t        «      5  |j                   d d d «       t        | j                   «      }|j                  ddg¬«      }t        t        «      5  |j                   d d d «       y # 1 sw Y   Œ˜xY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)Nr#   rU   )r¯  r  r¯   ÚAttributeErrorÚfpr°  rÆ   r2   )rC   Úderr  s      r1   Útest_invalid_attribute_fpz5Test_DerivedBivariateSpline.test_invalid_attribute_fpñ  sÌ   € Ø�m‰m×.Ñ.¨q°!Ó4ˆÜœ>Ó*ñ 	Ø�FŠF÷	ð ×"Ñ"×-Ñ-¨q°!¨fÓ5ˆÜœ>Ó*ñ 	Ø�FŠF÷	ô -¨T¯]©]Ó;ˆØ×&Ñ&¨1¨a¨&Ð&Ó1ˆÜœ>Ó*ñ 	Ø�FŠF÷	ð 	÷	ð 	ú÷	ð 	ú÷
	ð 	ús#   ¬CÁ-CÂ:C(ÃCÃC%Ã(C1c                 ó¤   — | j                   j                  dd«      }t        t        «      5  |j	                  «        d d d «       y # 1 sw Y   y xY wr"   )r­  r  r¯   rÄ  rA   )rC   rÆ  s     r1   Ú#test_invalid_attribute_get_residualz?Test_DerivedBivariateSpline.test_invalid_attribute_get_residualÿ  sA   € Ø�o‰o×0Ñ0°°AÓ6ˆÜœ>Ó*ñ 	Ø×ÑÔ÷	÷ 	ñ 	ús   ¬AÁAN)
ra   rb   rc   Ú__doc__r˜  rº  r¼  rÂ  rÇ  rÉ  rd   r3   r1   r¨  r¨  µ  s&   „ ñòBò"òò:ò2ór3   r¨  )r   r   g:Œ0âŽyE>)5r±  r]  rw  Únumpyr{   r  r   r¯   Úscipy._lib._array_apir   r   r   r   r   r	   r
   r   r   r   r   Úscipy.interpolate._fitpack_pyr   r   r   r   Úscipy.interpolate._fitpack2r   r   r   r   r   r   r   r   r   Úscipy._lib._testutilsr   Úscipy.interpolater   r   Úscipy.interpolate._regridr   r    r2   r5   r8  ro  r†  r­  r¸  r`  r„  r¨  rd   r3   r1   ú<module>rÒ     sÆ   ðã Û 
Û ã Û Ý *÷ó ÷ C× BÑ Bß KÓ K÷#÷ #õ #õ :ç 4÷(ò,÷n5ñ n5÷bV6ñ V6÷r~8ñ ~8÷BFBñ FB÷RRBñ RB÷jX6ñ X6÷v~Gñ ~GóB5÷Mò Mr3   