Ë
    âQ(h?V  ã                   ó¬   — 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Zd dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZ  G d„ d«      Zy)é    N)Úpi)Úassert_array_almost_equalÚassert_equalÚassert_warnsÚassert_allclose)Úraises)ÚDataÚModelÚODRÚRealDataÚOdrStopÚ
OdrWarningÚmultilinearÚexponentialÚ	unilinearÚ	quadraticÚ
polynomialc                   ó>  — e Zd Zd„ Zd„ Zej                  j                  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ej                  j=                  dd¬«      d„ «       Zd„ Z d„ Z!d„ Z"d „ Z#d!„ Z$d"„ Z%d#„ Z&y$)%ÚTestODRc                 ó\   — t        t        t        dd«       t        t        t        dd«       y )Né   é   )Úassert_raisesÚ
ValueErrorr	   r   )Úselfs    úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/odr/tests/test_odr.pyÚtest_bad_datazTestODR.test_bad_data   s   € Ü”j¤$¨¨1Ô-Ü”j¤(¨A¨qÕ1ó    c                 ó   — |d   |z  |d   z   S ©Nr   r   © ©r   ÚBÚxs      r   Úempty_data_funczTestODR.empty_data_func   s   € Ø�‰t�A‰v˜˜!™‰}Ðr   c                 óÆ   — ddg}t        | j                  «      }t        g g «      }t        t        t
        |||¬«       t        g g «      }t        t        t
        |||¬«       y )Nç{®Gáz”?ç        ©Úbeta0)r
   r%   r	   r   r   r   r   )r   r*   ÚlinearÚ	empty_dats       r   Útest_empty_datazTestODR.test_empty_data   sZ   € à�s�ˆÜ�t×+Ñ+Ó,ˆä˜˜R“Lˆ	Ü”Z¤Ø ¨eõ	5ô ˜R Ó$ˆ	Ü”Z¤Ø ¨eö	5r   c                 ó‚   — |d   |d   t        j                  t        j                  |d   |z  «      dz
  d«      z  z   }|S )Nr   r   r   ç      ð?)ÚnpÚpowerÚexp)r   r#   r$   Úrets       r   Úexplicit_fcnzTestODR.explicit_fcn.   s>   € Ø�‰d�Q�q‘TœBŸH™H¤R§V¡V¨A¨a©D°©F£^°cÑ%9¸1Ó=Ñ=Ñ=ˆØˆ
r   c                 ój   — t        j                  |d   |z  «      }|d   dz  |dz
  z  |d   z  |z  }|S )Nr   r   ç       @r/   )r0   r2   )r   r#   r$   ÚeBxr3   s        r   Úexplicit_fjdzTestODR.explicit_fjd2   s@   € Ü�f‰f�Q�q‘T˜!‘V‹nˆØ�‰d�S‰j˜C ™GÑ$ q¨¡tÑ+¨cÑ1ˆØˆ
r   c                 óþ   — t        j                  |d   |z  «      }t        j                  t        j                  |j                  d   «      t        j
                  |dz
  d«      |d   dz  |dz
  z  |z  |z  g«      }|S )Nr   éÿÿÿÿr/   r   r6   )r0   r2   ÚvstackÚonesÚshaper1   )r   r#   r$   r7   Úress        r   Úexplicit_fjbzTestODR.explicit_fjb7   st   € Ü�f‰f�Q�q‘T˜!‘V‹nˆÜ�i‰iœŸ™ §¡¨¡Ó-ÜŸ™ # c¡'¨1Ó-Ø˜1™˜c™ 3 s¡7Ñ+¨CÑ/°Ñ1ð3ó 4ˆð ˆ
r   c           	      ó6  — t        | j                  | j                  | j                  t	        dd¬«      ¬«      }t        g d¢g d¢«      }t        ||g d¢g d¢¬	«      }|j                  d
¬«       |j                  ddd¬«       |j                  «       }t        |j                  t        j                  g d¢«      «       t        |j                  t        j                  g d¢«      «       t        |j                  t        j                  g d¢g d¢g d¢g«      «       y )NzSample Explicit ModelzODRPACK UG, pg. 39©ÚnameÚref)ÚfjacbÚfjacdÚmeta)r(   r(   ç      @ç      @g      @ç      $@g      0@g      :@ç      >@g      A@g     @A@ç      Y@)g     Ä“@gfffff¾“@g     ¨“@g     ˜“@g     ”“@g33333‡“@g     T“@g     “@gfffff“@g33333÷’@g     þ’@g     ð’@)ç     p—@g      IÀçš™™™™™¹¿)r   r   r   r   r   r   r   r   r   r   r   r   ©r*   Úifixxr   ©Úderivr   )ÚinitÚiterÚfinal)gÊ8…žÂ“@gLíèA[KÀg x¶˜Q}¶¿)g�Ö³¤�ð?g1ÊXù?g¥¤°Êïy?)ggC�ŠÄÜ?çNM=y7ó×¿çã	„úñˆJ¿)rU   gÖq·¦õØð?ç]�F fß_¿)rV   rW   gO©Ê¥ñ>)r
   r4   r?   r8   Údictr	   r   Úset_jobÚ
set_iprintÚrunr   Úbetar0   ÚarrayÚsd_betaÚcov_beta)r   Úexplicit_modÚexplicit_datÚexplicit_odrÚouts        r   Útest_explicitzTestODR.test_explicit>   s  € ÜØ×ÑØ×#Ñ#Ø×#Ñ#ÜÐ2Ø.ô0ô	
ˆô ÒKò.ó/ˆô ˜<¨Ò=RÚ6ô8ˆà×Ñ 1ÐÔ%Ø×Ñ Q¨Q°aÐÔ8à×ÑÓ ˆÜ!Ø�H‰HÜ�H‰Hò )ó *ô	
ô
 	"Ø�K‰KÜ�H‰HÒPÓQô	
ô 	"Ø�L‰LÜ�H‰Hò *ò*ò*ð	+ó ,õ	
r   c                 óà   — |d   t        j                  |d   |d   z
  d«      z  d|d   z  |d   |d   z
  z  |d   |d   z
  z  z   |d   t        j                  |d   |d   z
  d«      z  z   dz
  S )Nr   r   r6   é   r   é   r/   )r0   r1   r"   s      r   Úimplicit_fcnzTestODR.implicit_fcnd   sŒ   € Ø�!‘”R—X‘X˜a ™d 1 Q¡4™i¨Ó+Ñ+Ø�A�a‘D‘˜!˜A™$˜q ™t™)Ñ$ a¨¡d¨1¨Q©4¡iÑ0ñ1à�!‘”R—X‘X˜a ™d 1 Q¡4™i¨Ó+Ñ+ñ,à.1ñ2ð 	3r   c                 óÐ  — t        | j                  dt        dd¬«      ¬«      }t        g d¢g d¢gd«      }t	        ||g d¢¬	«      }|j                  «       }t        |j                  t        j                  g d
¢«      «       t        |j                  t        j                  g d¢«      «       t        |j                  t        j                  g d¢g d¢g d¢g d¢g d¢g«      dd¬«       y )Nr   zSample Implicit ModelzODRPACK UG, pg. 49rA   )ÚimplicitrF   )ç      à?g333333ó?gš™™™™™ù?gÃõ(\�Âý?gö(\�Âõ @çáz®Gá@g…ëQ¸…@rl   g{®Gáz @g×£p=
×û?gq=
×£põ?çÍÌÌÌÌÌì?gìQ¸…ëÑ¿gö(\�Âõè¿gÃõ(\�Âõ¿gffffffþ¿g      Àg
×£p=
Àgq=
×£p	Àg…ëQ¸…À)g¸…ëQ¸¾¿g333333ã¿ç      ð¿gffffffö¿gR¸…ëQÀgáz®Gá
Àg      Àg      Àg      Àg�Âõ(\�Àgáz®GáÀgHáz®GÀçÃõ(\�ÂÀro   g¤p=
×£Àg      Àg…ëQ¸…Àg      Àgö(\�ÂõÀgq=
×£pÀ)rn   g      Àg
×£p=
·?r'   g{®Gáz´?r)   )g{ 3°íúï¿gzJ¨‰ÉrÀgJòêú/k¶?g&Zåè–ž�?g�k³¾j´?)g…ªƒ¼?g2ê9¶¼?g3¦"Í‡Ñp?g[œ™ª=‡f?g¨x#+¤l?)gµ:\ß @ç8÷Ž%­ÿ¿ç?“ÅÊü±?ç�'M['¨¿ç%GRRãª?)rp   gÜdbóœb @çgßRŠ¯¿ç‰	�<Œ°§?çkÊüõ®¿)rq   rt   g};ªyWzg?ç
¤W¦´÷W¿çm&ïˆØÍW?)rr   ru   rw   gªK}ÆU?ç�û$_ÎËT¿)rs   rv   rx   ry   gàôª¢a?g�íµ ÷Æ°>g�íµ ÷ÆÀ>)ÚrtolÚatol)r
   rh   rX   r	   r   r[   r   r\   r0   r]   r^   r   r_   )r   Úimplicit_modÚimplicit_datÚimplicit_odrrc   s        r   Útest_implicitzTestODR.test_impliciti   sí   € ÜØ×ÑØÜÐ2Ø.ô0ô
ˆô ò6ò=ð>ð
 ó
ˆô ˜<¨Ú0ô2ˆð ×ÑÓ ˆÜ!Ø�H‰HÜ�H‰Hò 8ó 9ô	
ô
 	"Ø�K‰KÜ�H‰Hò 8ó 9ô	
ô
 	Ø�L‰LÜ�H‰Hò *ò*ò*ò*ò*ð+ó ,ð ˜Dö#	
r   c           
      óæ  — |dk  j                  «       rt        ‚t        |d   z  dz  }t        j                  |«      }t        j
                  |«      }t        j                  dt        z  |z  t        j                  |d    «      z  |d   «      }t        j                  ||z  d||z  z   «      }|d   |d   z
  t        j                  t        j                  t        j                  d||z  z   d«      t        j                  ||z  d«      z   «      |d    «      z  }t        j                  |d   |t        j                  |d   |z  «      z  z   |t        j
                  |d   |z  «      z  g«      }	|	S )	Nr(   rf   r6   r   r/   r   r   rg   )Úanyr   r   r0   ÚcosÚsinr1   r2   Úarctan2Úsqrtr;   )
r   r#   r$   ÚthetaÚcthetaÚsthetaÚomegaÚphiÚrr3   s
             r   Ú	multi_fcnzTestODR.multi_fcn›   s?  € Ø�‰G�=‰=Œ?ÜˆMÜ�1�Q‘4‘˜‘
ˆÜ—‘˜“ˆÜ—‘˜“ˆÜ—‘˜œB™˜q™¤§¡¨¨1©¨£Ñ.°°!±Ó5ˆÜ�j‰j˜% ™,¨#°°f±Ñ*<Ó>ˆØˆq‰T�A�a‘D‰[œBŸH™H¤R§W¡W¬R¯X©X°c¸EÀ&¹LÑ6HÈ!Ó-LÜ�X‰X�e˜F‘l AÓ&ñ.'ó &(Ø*+¨A©$¨ó0ñ 0ˆä�i‰i˜˜1™ ¤"§&¡&¨¨1©¨c©Ó"2Ñ 2Ñ2Øœ2Ÿ6™6 ! A¡$ s¡(Ó+Ñ+ð-ó .ˆàˆ
r   c                 ór  — t        | j                  t        dd¬«      ¬«      }t        j                  g d¢«      }t        j                  g d¢g d¢g«      }t        |«      }t        j                  dd|ft        ¬	«      }t        j                  |t        ¬	«      }t        j                  |t        ¬	«      }d
|ddd d …f<   dx|ddd d …f<   |ddd d …f<   d|ddd d …f<   t        |«      D ]e  }||   dk  rd||<   n8||   dk  rn/||   dk  rd||<   n!||   dk  rd||<   n||   dk  rd||<   nd||<   ||   dk(  s	||   dk(  sŒZd|d d …d d …|f<   Œg t        ||dt        j                  |d«      z  |¬«      }	t        |	|g d¢||¬«      }
|
j                  dd¬«       |
j                  «       }t!        |j"                  t        j                  g d¢«      «       t!        |j$                  t        j                  g d¢«      «       t!        |j&                  t        j                  g d ¢g d!¢g d"¢g d#¢g d$¢g«      «       y )%NzSample Multi-Response ModelzODRPACK UG, pg. 56rA   ©rF   )rJ   g      I@g     €Q@rK   ç     Àb@g      i@g     Àr@g     @@g     à…@ç     @�@rL   g     @Ÿ@g     p§@g     ˆ³@g     X»@ç     ˆÃ@g     LÍ@g     ˆÓ@g     LÝ@g     jè@g     ñ@ç     jø@g    €OA)gáz®Gá@g^ºI«@gºI+‡@gôýÔxé&@gú~j¼t@gÙÎ÷Sã¥@gßO�—n@gƒÀÊ¡E@gNbX9´@gªñÒMb@gR¸…ëQ@gX9´Èv@gw¾Ÿ/Ý
@gªñÒMb
@g%�•C‹	@g /Ý$	@gF¶óýÔx@g¬Zd;ß@gF¶óýÔx@g5^ºI@gNbX9´@gü©ñÒMb@gßO�—n@)gœÄ °rhÁ?gÇK7‰A`Å?gªñÒMbÈ?g‰A`åÐ"Ë?gh‘í|?5Î?g¦›Ä °rÐ?gD‹lçû©Ñ?g5^ºIÓ?g-²�ï§ÆÓ?ç�•C‹lçÓ?gj¼t“Ô?r“   g…ëQ¸…Ó?gåÐ"Ûù~Ò?gî|?5^ºÑ?gR¸…ëQÐ?g¸…ëQ¸Î?g�•C‹lçË?gB`åÐ"ÛÉ?g²�ï§ÆKÇ?g/Ý$�Å?g/Ý$�•Ã?g˜nƒÀÊÁ?r   ©ÚdtypegÍÌÌÌÌ|�@r   g     ˆ™Àr   g    €fÀ@rK   r�   r�   g      9@r‘   g     €�@r’   g     ŽÂ@g     ”Ar(   g-Cëâ6?©ÚwdÚwe)ç      @r6   rH   çš™™™™™Ù?rk   )r*   Údelta0rO   )rQ   Údel_init)gÄ•…@gN¡Uiw@g¨ÿÆz @g°õåÜRà?g‘àFöuŽà?)gfkl,†ÀŠ?g 1èwò¹Š?g¬AïS�à½?g»ê@ÙL*‹?g»¦€±ž‹�?)g?Ž#…0—z?ç_Š n=Ÿm?ç«-¶Mu¦?çGé”:x¿çgïTÃš‡?)r�   gaÇ‡
Šz?ç4ÁÐ<n€ª?çÙgj±¿öt¿çÜªVÛÅŠ?)rž   r¡   gHA¦cO•à?çKþ*rÔ¬¿çÎa/Þ?À?)rŸ   r¢   r¤   g—žµk{?çy7³µŒ¿)r    r£   r¥   r¦   g
P/£{7 ?)r
   rŒ   rX   r0   r]   ÚlenÚzerosÚfloatr<   ÚintÚranger	   r1   r   rY   r[   r   r\   r^   r_   )r   Ú	multi_modÚmulti_xÚmulti_yÚnÚmulti_weÚmulti_ifixxÚmulti_deltaÚiÚ	multi_datÚ	multi_odrrc   s               r   Ú
test_multizTestODR.test_multi©   sO  € ÜØ�N‰NÜÐ8Ø.ô0ô
ˆ	ô —(‘(ò Mó Nˆô —(‘(ò0ò0ð	
ó ˆô �‹LˆÜ—8‘8˜Q  1˜I¬UÔ3ˆÜ—g‘g˜a¤sÔ+ˆÜ—h‘h˜q¬Ô.ˆàˆ��1’Q�‰Ø,3Ð3ˆ��1’Q�‰˜( 1 Q¢q 5™/Ø ˆ��1’Q�‰ä�q“ò 	&ˆAØ�q‰z˜EÒ!Ø!"�˜A’Ø˜‘˜uÒ$ØØ˜‘˜vÒ%Ø!%�˜A’Ø˜‘˜wÒ&Ø!&�˜A’Ø˜‘˜xÒ'Ø!'�˜A’à!)�˜A‘Ø�q‰z˜UÒ" g¨a¡j°EÓ&9Ø"%�šš1˜Q˜’ð	&ô  ˜ '¨d´2·8±8¸GÀQÓ3GÑ.GØôˆ	ä˜	 9Ò4DØ kô3ˆ	à×Ñ ¨AÐÔ.à�m‰m‹oˆÜ!Ø�H‰HÜ�H‰Hò 8ó 9ô	
ô
 	"Ø�K‰KÜ�H‰Hò 8ó 9ô	
ô
 	"Ø�L‰LÜ�H‰Hò 8ò9ò9ò:ò9ð	:ó 	;õ	
r   c                 ó   — |d   |d   |z  z   S r    r!   r"   s      r   Úpearson_fcnzTestODR.pearson_fcnö   s   € Ø�‰t�a˜‘d˜1‘f‰}Ðr   c                 óÎ  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||||¬«      }t        ||||¬«      }t        | j                  t        d¬«      ¬«      }t        ||d	d	g¬
«      }t        ||d	d	g¬
«      }	|j                  «       }
t        |
j                  t        j                  ddg«      «       t        |
j                  t        j                  ddg«      «       t        |
j                  t        j                  ddgddgg«      «       |	j                  «       }t        |j                  t        j                  ddg«      «       t        |j                  t        j                  ddg«      «       t        |j                  t        j                  ddgddgg«      «       y )N)
r(   rm   gÍÌÌÌÌÌü?gÍÌÌÌÌÌ@gffffff
@çš™™™™™@gÍÌÌÌÌÌ@gffffff@g      @gš™™™™™@)
gš™™™™™@gš™™™™™@rº   gffffff@g      @gš™™™™™@çffffff@r»   g333333@g      ø?)
ç¸…ëQ¸ž?r¼   ç{®Gáz¤?gìQ¸…ë¡?gìQ¸…ë±?g)\�Âõ(¼?g¤p=
×£À?ç)\�Âõ(Ì?ç®Gáz®ç?r/   )
r/   r¿   rk   gffffffÖ?r¾   r¾   ç¸…ëQ¸¾?rÀ   çš™™™™™¹?r½   ©ÚsxÚsyzUni-linear Fit©rB   rŽ   r/   r)   g4ÛÔ‰.è@gvùñ¾æ±Þ¿grtA-úÖ?gcŒú¿²?g‚;ª”Þµ?g=‘¬‘�¿g˜µ±äk?gO®­¡Ö&@g’ªj(® Àg3
Ù»lï?gZöÕ—»¦Ó?gF�­€)tä?g¿…`=LÉ¿gË!�¹ˆþ¯?)r0   r]   r   r
   r¸   rX   r   r[   r   r\   r^   r_   )r   Úp_xÚp_yÚp_sxÚp_syÚp_datÚpr_datÚp_modÚp_odrÚpr_odrrc   Úrouts               r   Útest_pearsonzTestODR.test_pearsonù   s¨  € Ü�h‰hÒ>Ó?ˆÜ�h‰hÒ@ÓAˆÜ�x‰xÒAÓBˆÜ�x‰xÒ>Ó?ˆä˜˜c d¨tÔ4ˆô ˜#˜s t°Ô5ˆä�d×&Ñ&¬TÐ7GÔ-HÔIˆä�E˜5¨¨B¨Ô0ˆÜ�V˜U¨2¨b¨'Ô2ˆà�i‰i‹kˆÜ!Ø�H‰HÜ�H‰HÐ(Ð*=Ð>Ó?ô	
ô 	"Ø�K‰KÜ�H‰HÐ(Ð*<Ð=Ó>ô	
ô 	"Ø�L‰LÜ�H‰HÐ)Ð+>Ð?Ø#Ð%6Ð7ð9ó :ô	
ð �z‰z‹|ˆÜ!Ø�I‰IÜ�H‰HÐ)Ð+>Ð?Ó@ô	
ô 	"Ø�L‰LÜ�H‰HÐ(Ð*<Ð=Ó>ô	
ô 	"Ø�M‰MÜ�H‰HÐ)Ð+>Ð?Ø#Ð%7Ð8ð:ó ;õ	
r   c           	      óÐ   — |d   |d   z  |d   z  t        j                  t        j                  ||z  |d   |d   z  z
  d«      t        j                  |d   |z  d«      z   «      z  S )Nr   r   r   r6   )r0   r…   r1   )r   r\   r$   s      r   ÚlorentzzTestODR.lorentz*  sr   € Ø�Q‘˜˜Q™‘  Q¡Ñ'¬"¯'©'´"·(±(¸1¸Q¹3Ø�‰G�D˜‘G‰Oñ<Ø ó3"Ü$&§H¡H¨T°!©W°Q©Y¸Ó$<ñ3=ó +>ñ >ð 	?r   c           	      ó  — t        j                  dgdz  «      }t        j                  g d¢«      }t        g d¢g d¢||¬«      }t        | j                  t        d¬«      ¬	«      }t        ||d
¬«      }|j                  «       }t        |j                  t        j                  g d¢«      «       t        |j                  t        j                  g d¢«      «       t        |j                  t        j                  g d¢g d¢g d¢g«      «       y )Ng�Âõ(\�Ò?é   )gd’þOßáO?gíº¦O?gƒÛ&0G?gptÍ˜(G?g÷ÿˆ^ú"G?g eäG?göeånBçF?g›8”Åð=?g‡‹-Õ=?g¾`¶ëE·E?g,­!™WsE?g«—0±1cE?gÊ&á-}Ô¬>gÀ‡;¬ªvQ?g¿PÙÑmQ?gGuøs#�T?gW ÃUW?gé¯>»Ïc?)gõÛ×�sF@gª`TR'à@gx—‹øNÌ@g»ÕsÒûÆ@g‡3¿šÃ@gºN#-•·@g–	¿ÔÏ›@gWÿ[ÉN@gp”¼:Ç@@g®ãüÍ@gsº,&6Ÿ@g£¼”@g2¬â�Ìc@gHùIµOG@gäÉå?@gŽ;¥ƒõÿ@gþÔxé&q@gÒŒEÓY@)iŒ  g     tŒ@iØ  iè  g     |�@i  g     "’@g     –@i–  ib  g     ì�@i˜  g     Lˆ@g     ,†@iº  g     ‚@g     (z@g     8q@rÂ   zLorentz PeakrÅ   rŽ   )r�   rÁ   gffffff@r)   )gA5Ð[¶Z–@g’æOÍ#Á?g˜FÀî=@)gÌ(1�ç?gÊð–È•û6?gÙQ.q;0?)g�°\åj¢Ï?çE˜G†¿çp²Š�` ¿)rÕ   gò3¼<n>çG!fc>)rÖ   r×   gq[cÑ�E]>)r0   r]   r   r
   rÒ   rX   r   r[   r   r\   r^   r_   )r   Úl_syÚl_sxÚl_datÚl_modÚl_odrrc   s          r   Útest_lorentzzTestODR.test_lorentz.  sì   € Ü�x‰x˜˜˜b™Ó!ˆÜ�x‰xò Nó Oˆô
 ò0òAàØô
ˆô �d—l‘l¬°>Ô)BÔCˆÜ�E˜5Ð(8Ô9ˆà�i‰i‹kˆÜ!Ø�H‰HÜ�H‰Hò )ó *ô	
ô
 	"Ø�K‰KÜ�H‰Hò )ó *ô	
ô
 	"Ø�L‰LÜ�H‰Hò *ò*ò*ð	+ó ,õ	
r   c                 óð   — d„ }ddg}t        j                  dd«      } |||«      }t        |«      }t        ||dd¬«      }t	        ||ddg¬«      }|j                  «       }t        |j                  d	«       y )
Nc                 ó   — | d   |z  | d   z   S r    r!   )Úcr$   s     r   r+   z(TestODR.test_ticket_1253.<locals>.linearW  s   € Ø�Q‘4˜‘6˜!˜A™$‘;Ðr   r6   ç      @r   é
   r/   r–   r)   r   )r0   Úlinspacer
   r	   r   r[   r   Úinfo)	r   r+   rà   r$   ÚyÚmodelÚdataÚjobÚresults	            r   Útest_ticket_1253zTestODR.test_ticket_1253V  sq   € ò	ð �#ˆJˆÜ�K‰K˜˜2ÓˆÙ�1�a‹Lˆä�f“ˆÜ�A�q˜S SÔ)ˆÜ�$˜ c¨3 ZÔ0ˆØ—‘“ˆÜ�V—[‘[ !Õ$r   c                 ó  — g d¢}g d¢}t        j                  t        j                  |t        ¬«      t        j                  |t        ¬«      f«      }t        t        j                  ||f«      d|¬«      }t        d„ d¬«      }t        ||t        j                  d	g«      ¬
«      }|j                  «       }t        ||t        j                  d	g«      |¬«      }|j                  «       }	t        |j                  |	j                  «       y )N)g®Gáz Àg®Gáz®ï¿gü©ñÒMbP¿gR¸…ëQð?g®Gáz®ÿ?)g×£p=
×@g)\�Âõ(ð?gü©ñÒMbP?gV-²�ïï?g
×£p=
@r”   r   )rå   Úfixc                 ó:   — |dd d …f   | d   |dd d …f   dz  z  z
  S )Nr   r   r6   r!   )r\   r$   s     r   ú<lambda>z$TestODR.test_ifixx.<locals>.<lambda>k  s(   €  a¨ª1¨¡g°°Q±¸!¸Aºq¸D¹'À2¹+Ñ0EÑ&E€ r   T)rj   r/   r)   rN   )r0   r;   Ú
zeros_likerª   Ú	ones_liker	   r
   r   r]   r[   r   r\   )
r   Úx1Úx2rì   rç   ræ   Úodr1Úsol1Úodr2Úsol2s
             r   Ú
test_ifixxzTestODR.test_ifixxf  s¸   € Ú/ˆÚ-ˆÜ�i‰iœŸ™ r´Ô5´r·|±|ÀBÌcÔ7RÐSÓTˆÜ”B—I‘I˜r 2˜hÓ'¨1°#Ô6ˆÜÑEÐPTÔUˆä�4˜¤b§h¡h°¨t£nÔ5ˆØ�x‰x‹zˆÜ�4˜¤b§h¡h°¨t£n¸CÔ@ˆØ�x‰x‹zˆÜ�T—Y‘Y §	¡	Õ*r   c                 ó”  — t        j                  g d¢«      }d}d}t        j                  g d¢g d¢g«      }d}t        j                  g d¢g d¢g«      }t        j                  g d	¢«      }d
„ }d„ }	d„ }
t        j                  dd|«      }t        j                  dd|«      }t        j                  ||g«      } |||«      }||z   }||z   }t        ||	|
¬«      }t	        ||||¬«      }t        ||d|z  d¬«      }|j                  d¬«       |j                  «       }t        |j                  d«       t        |j                  |«       y )N)r/   gffffff@gš™™™™™ñ?rn   gÍÌÌÌÌÌô?rk   râ   ç{®Gáz„?)
g±	 'ÊD?g"º�ÜÔu?gýsfõí¨Z?gÀ‰t�Ãò„?g	Yqo£�¿g?ÛùÄs?g’†èJã›f?g>²Úx‡F}¿gvIƒx°ƒ¿g±!Í’ß&|¿)
g¬�¿gÃš¿‚Ñ€¿gz7X0Øª`¿gÀËN77ƒ?gªaà5¿|¿gL�l	TZj?g^í1±;e?g<¯%¢gÌw¿g%œÌ.ÎÎh¿gÜ¾á#Å„?gš™™™™™©?)
gœ!Kr«?gÚR‹±á#§?g»Ý)üB³¿gÞH]ªN¢?gäÝäžK¨?g´N¦r}£?gt%†ä²?g')vUÞ~¿gø^ð'2Œš¿gýê?¥)†˜¿)
g“ÃŠÇ™¢?gÒÏiP±?gÐÞ�Ãhoµ?g“Ê�:l¤?gÐMö*�ó‚¿g¿Dþ‘Ð3£¿gôŒ\»Ý` ¿gg·Ö“Ð�?gðî3ôp~Š?g¢­ïhˆÏ¬¿)gé„â>›@gªÍkñ¦_ÀgÊ–«ƒ6`@g¤ðÿ<u+þ¿g|–ã‰˜S@gö¤2ãdSÀc                 óÄ   — | d   | d   |dd d …f   z  z   | d   |dd d …f   z  z   }| d   | d   |dd d …f   z  z   | d   |dd d …f   z  z   }t        j                  ||f«      S )Nr   r   r   rf   rg   é   )r0   r;   )r\   r$   Úy0Úy1s       r   Úfuncz'TestODR.test_ticket_11800.<locals>.func‹  s   € Ø�a‘˜4 ™7 Q qª! t¡WÑ,Ñ,¨t°A©w¸¸1ºa¸4¹Ñ/@Ñ@ˆBØ�a‘˜4 ™7 Q qª! t¡WÑ,Ñ,¨t°A©w¸¸1ºa¸4¹Ñ/@Ñ@ˆBä—9‘9˜b "˜XÓ&Ð&r   c                 óX  — t        j                  |«      d   }t        j                  |«      }t        j                  |«      }t        j                  ||dd d …f   |dd d …f   |||g«      }t        j                  |||||dd d …f   |dd d …f   g«      }t        j
                  ||f«      S )Nr   r   )r0   r=   r¨   r<   r]   Ústack)r\   r$   Únr_measr¨   r<   Údy0Údy1s          r   Údf_dbeta_odrz/TestODR.test_ticket_11800.<locals>.df_dbeta_odr‘  s˜   € Ü—h‘h˜q“k !‘nˆGÜ—H‘H˜WÓ%ˆEÜ—7‘7˜7Ó#ˆDä—(‘(˜D ! A¢q D¡'¨1¨Q²¨T©7°E¸5À%ÐHÓIˆCÜ—(‘(˜E 5¨%°°q¸ºA¸±wÀÀ!ÂQÀ$ÁÐHÓIˆCä—8‘8˜S #˜JÓ'Ð'r   c                 ó  — t        j                  |«      d   }t        j                  |«      }t        j                  | d   |z  | d   |z  g«      }t        j                  | d   |z  | d   |z  g«      }t        j                  ||f«      S )Nr   r   rg   rû   )r0   r=   r<   r]   r   )r\   r$   r  r<   r  r  s         r   Ú	df_dx_odrz,TestODR.test_ticket_11800.<locals>.df_dx_odr›  sz   € Ü—h‘h˜q“k !‘nˆGÜ—7‘7˜7Ó#ˆDä—(‘(˜D ™G d™N¨D°©G°d©NÐ;Ó<ˆCÜ—(‘(˜D ™G d™N¨D°©G°d©NÐ;Ó<ˆCÜ—8‘8˜S #˜JÓ'Ð'r   r   )rD   rE   rÂ   rm   éd   )r*   Úmaxitrf   rP   )r0   r]   rã   r
   r   r   rY   r[   r   rä   r   r\   )r   Ú	beta_trueÚnr_measurementsÚ	std_dev_xÚx_errorÚ	std_dev_yÚy_errorÚbeta_solutionrþ   r  r  Úx0_trueÚx1_trueÚx_trueÚy_trueÚx_measÚy_measÚmodel_frç   Úodr_objÚodr_outs                        r   Útest_ticket_11800zTestODR.test_ticket_11800t  sN  € ä—H‘HÒ<Ó=ˆ	Øˆàˆ	Ü—(‘(ò XòHðIó Jˆð
 ˆ	Ü—(‘(ò WòKðLó Mˆô
 Ÿ™ò "Eó Fˆò	'ò	(ò	(ô —+‘+˜a  _Ó5ˆÜ—+‘+˜a  _Ó5ˆÜ—‘˜7 GÐ,Ó-ˆá�i Ó(ˆà˜'Ñ!ˆØ˜'Ñ!ˆô ˜ L¸	ÔBˆä˜ ¨9¸ÔCˆä�d˜G¨3°©?À#ÔFˆà�‰˜aˆÔ à—+‘+“-ˆô 	�W—\‘\ 1Ô%Ü! '§,¡,°Õ>r   c                 óÈ   — t        j                  dd«      }dd|z  z   }t        ||«      }t        |t        «      }|j                  «       }t        |j                  ddg«       y )Nr(   rG   rI   )r0   rã   r	   r   r   r[   r   r\   ©r   r$   rå   rç   r  Úoutputs         r   Útest_multilinear_modelzTestODR.test_multilinear_model¼  sS   € Ü�K‰K˜˜SÓ!ˆØ�3˜‘7‰NˆÜ�A�q‹zˆÜ�dœKÓ(ˆØ—‘“ˆÜ! &§+¡+°°c¨{Õ;r   c                 óî   — t        j                  dd«      }dt        j                  d|z  «      z   }t        ||«      }t	        |t
        «      }|j                  «       }t        |j                  ddg«       y )Nr(   rG   g      $Àrk   )	r0   rã   r2   r	   r   r   r[   r   r\   r  s         r   Útest_exponential_modelzTestODR.test_exponential_modelÄ  s\   € Ü�K‰K˜˜SÓ!ˆØ”B—F‘F˜3˜q™5“MÑ!ˆÜ�A�q‹zˆÜ�dœKÓ(ˆØ—‘“ˆÜ! &§+¡+°°s¨|Õ<r   c                 óú   — t        j                  dd«      }dd|z  z   d|dz  z  z   d|dz  z  z   }t        d«      }t        ||«      }t	        ||«      }|j                  «       }t        |j                  g d	¢«       y )
Nr(   rG   r/   r6   rá   r   r™   rf   )r/   r6   rá   r™   )r0   rã   r   r	   r   r[   r   r\   )r   r$   rå   Ú
poly_modelrç   r  r  s          r   Útest_polynomial_modelzTestODR.test_polynomial_modelÌ  ss   € Ü�K‰K˜˜SÓ!ˆØ�#˜‘'‰M˜C ! q¡&™LÑ(¨3°°a±©<Ñ7ˆÜ “]ˆ
Ü�A�q‹zˆÜ�d˜JÓ'ˆØ—‘“ˆÜ! &§+¡+Ò/CÕDr   c                 óÈ   — t        j                  dd«      }d|z  dz   }t        ||«      }t        |t        «      }|j                  «       }t        |j                  ddg«       y ©Nr(   rG   r/   r6   )r0   rã   r	   r   r   r[   r   r\   r  s         r   Útest_unilinear_modelzTestODR.test_unilinear_modelÕ  sS   € Ü�K‰K˜˜SÓ!ˆØ�!‰G�c‰MˆÜ�A�q‹zˆÜ�dœIÓ&ˆØ—‘“ˆÜ! &§+¡+°°S¨zÕ:r   c                 óÚ   — t        j                  dd«      }d|dz  z  d|z  z   dz   }t        ||«      }t        |t        «      }|j                  «       }t        |j                  g d¢«       y )Nr(   rG   r/   r   r6   rá   )r/   r6   rá   )r0   rã   r	   r   r   r[   r   r\   r  s         r   Útest_quadratic_modelzTestODR.test_quadratic_modelÝ  s]   € Ü�K‰K˜˜SÓ!ˆØ�!�q‘&‰L˜3 ™7Ñ" SÑ(ˆÜ�A�q‹zˆÜ�dœIÓ&ˆØ—‘“ˆÜ! &§+¡+ªÕ?r   c           	      óø  — d„ }d}t        j                  |«      }t        j                  |dz  |dz   |dz
  «      }t        j                  |d«      }t        j                  |d«      }t	        |«      }t        ||||¬«      }t        ||ddg¬«      }	|	j                  d¬	«       |	j                  «       }
|
j                  d
   }t        |
j                  |
j                  ||t        |
j                  «      z    «       y )Nc                 ó   — | \  }}|||z  z   S ©Nr!   )Úparr$   Úb0Úb1s       r   rþ   z#TestODR.test_work_ind.<locals>.funcç  s   € Ø‰FˆB�Ø˜˜Q™‘;Ðr   rg   r   rÁ   rÂ   rš   r)   r   )Úfit_typeÚsd)r0   ÚarangeÚwhereÚfullr
   r   r   rY   r[   Úwork_indr   r^   Úworkr§   )r   rþ   Ún_datar$   rå   Úx_errÚy_errÚlinear_modelÚ	real_datar  rc   Úsd_inds               r   Útest_work_indzTestODR.test_work_indå  sÙ   € ò	ð
 ˆÜ�I‰I�fÓˆÜ�H‰H�Q˜‘U˜A ™G Q¨¡WÓ-ˆÜ—‘˜ Ó$ˆÜ—‘˜ Ó$ˆô ˜T“{ˆÜ˜Q  e°Ô6ˆ	Ü�i °c¸3°ZÔ@ˆØ�‰ ˆÔ#Ø�k‰k‹mˆà—‘˜dÑ#ˆÜ! #§+¡+Ø"%§(¡(¨6°&¼3¸s¿{¹{Ó;KÑ2KÐ"Lõ	Nr   TzJFortran I/O prone to crashing so better not to run this test, see gh-13127)Úreasonc                 ó  — d„ }t        |«      }t        t        j                  d«      dt        j                  d«      z  «      }t	        j
                  «       }t        j                  j                  |d«      }t        j                  j                  |d«      }	 t        ||ddg||¬«      j                  «        t        ||ddg||d	¬
«      j                  «        t        j                  |«       y# t        j                  |«       w xY w)z(
        Verify fix for gh-1892
        c                 ó   — | d   | d   |z  z   S r    r!   ©Úbr$   s     r   rþ   z0TestODR.test_output_file_overwrite.<locals>.func  ó   € Ø�Q‘4˜!˜A™$ ™(‘?Ð"r   râ   é   z	error.datz
report.datrÁ   é   )r*   ÚerrfileÚrptfileT)r*   rD  rE  Ú	overwriteN)r
   r	   r0   r0  ÚtempfileÚmkdtempÚosÚpathÚjoinr   r[   ÚshutilÚrmtree)r   rþ   Úprç   Útmp_dirÚerror_file_pathÚreport_file_paths          r   Útest_output_file_overwritez"TestODR.test_output_file_overwriteý  sÈ   € ò	#ô �$‹KˆÜ”B—I‘I˜b“M 2¬¯	©	°"«Ñ#5Ó6ˆÜ×"Ñ"Ó$ˆÜŸ'™'Ÿ,™, w°Ó<ˆÜŸ7™7Ÿ<™<¨°Ó>Ðð	#Ü��a  R˜y°/Ø(ô*ß*-©#¬%Ü��a  R˜y°/Ø(°Dô:ß:=¹#¼%ô �M‰M˜'Õ"øŒF�M‰M˜'Õ"ús   ÂAC0 Ã0Dc                 óx   — d„ }t        |«      }|j                  dd¬«       t        |j                  dddœ«       y )Nc                 ó   — | d   | d   |z  z   S r    r!   r?  s     r   rþ   z1TestODR.test_odr_model_default_meta.<locals>.func  rA  r   zSample Model MetaÚODRPACKrA   )r
   Úset_metar   rF   )r   rþ   rN  s      r   Útest_odr_model_default_metaz#TestODR.test_odr_model_default_meta  s7   € ò	#ô �$‹KˆØ	�
‰
Ð+°ˆ
Ô;Ü�Q—V‘VÐ&9À)ÑLÕMr   c           
      ó¤  — d„ }d}t        j                  |«      }t        j                  |dz  |dz   |dz
  «      }t        j                  |d«      }t        j                  |d«      }t	        |«      }t        ||||¬«      }t        |||d¬«      }	t        |||dg¬«      }
t        |||t        j                  d|fd«      ¬«      }t        |||dgg¬«      }t        |||t        j                  dd|fd«      ¬«      }||	|
|||fD ]J  }t        ||d	d	gt        j                  |d
«      ¬«      }|j                  dd¬«       |j                  «        ŒL y)zA
        Verify fix for gh-18739 where del_init=1 fails.
        c                 ó   — | d   | d   |z  z   S r    r!   r?  s     r   rþ   z.TestODR.test_work_array_del_init.<locals>.func   rA  r   rg   r   rÁ   rÂ   r   rù   )rÃ   Úcovyrš   rM   )r*   r›   r   )r.  rœ   N)	r0   r0  r1  r2  r
   r   r   rY   r[   )r   rþ   r5  r$   rå   r6  r7  r8  Úrd0Úrd1Úrd2Úrd3Úrd4Úrd5Úrdr  s                   r   Útest_work_array_del_initz TestODR.test_work_array_del_init  s@  € ò	#ð ˆÜ�I‰I�fÓˆÜ�H‰H�Q˜‘U˜A ™G Q¨¡WÓ-ˆÜ—‘˜ Ó$ˆÜ—‘˜ Ó$ˆä˜T“{ˆä�q˜! ¨%Ô0ˆÜ�q˜! ¨#Ô.ˆÜ�q˜! ¨3¨%Ô0ˆÜ�q˜! ¬"¯'©'°1°f°+¸sÓ*CÔDˆÜ�q˜! ¨d¨V¨HÔ5ˆÜ�q˜! ¬B¯G©G°Q¸¸6°NÀDÓ,IÔJˆØ˜˜S # s¨CÐ0ò 	ˆBÜ˜"˜l°3¸°*Ü!#§¡¨°Ó!6ô8ˆGà�O‰O Q°ˆOÔ3à�K‰K�Mñ	r   c                 ó®   — t        j                  dd«      }d|z  dz   }t        ||«      }t        j                  |«      }~t        j
                  |«       y r$  )r0   rã   r	   ÚpickleÚdumpsÚloads©r   r$   rå   rç   Ú
obj_pickles        r   Útest_pickling_datazTestODR.test_pickling_data9  sG   € Ü�K‰K˜˜SÓ!ˆØ�!‰G�c‰MˆÜ�A�q‹zˆä—\‘\ $Ó'ˆ
ØÜ�‰�ZÕ r   c                 ó®   — t        j                  dd«      }d|z  dz   }t        ||«      }t        j                  |«      }~t        j
                  |«       y r$  )r0   rã   r   rd  re  rf  rg  s        r   Útest_pickling_real_datazTestODR.test_pickling_real_dataB  sG   € Ü�K‰K˜˜SÓ!ˆØ�!‰G�c‰MˆÜ˜˜1‹~ˆä—\‘\ $Ó'ˆ
ØÜ�‰�ZÕ r   c                 ó`   — t        j                  t        «      }t        j                  |«       y r*  )rd  re  r   rf  )r   rh  s     r   Útest_pickling_modelzTestODR.test_pickling_modelK  s   € Ü—\‘\¤)Ó,ˆ
Ü�‰�ZÕ r   c                 óÊ   — t        j                  dd«      }d|z  dz   }t        t        ||«      t        «      }t        j                  |«      }~t        j                  |«       y r$  )r0   rã   r   r	   r   rd  re  rf  )r   r$   rå   r  rh  s        r   Útest_pickling_odrzTestODR.test_pickling_odrO  sN   € Ü�K‰K˜˜SÓ!ˆØ�!‰G�c‰MˆÜ”d˜1˜a“j¤)Ó,ˆä—\‘\ 'Ó*ˆ
ØÜ�‰�ZÕ r   c                 óÞ   — t        j                  dd«      }d|z  dz   }t        t        ||«      t        «      j
                  }t        j                  |«      }~t        j                  |«       y r$  )	r0   rã   r   r	   r   r[   rd  re  rf  )r   r$   rå   r  rh  s        r   Útest_pickling_outputzTestODR.test_pickling_outputX  sT   € Ü�K‰K˜˜SÓ!ˆØ�!‰G�c‰MˆÜ”T˜!˜Q“Z¤Ó+×/Ñ/ˆä—\‘\ &Ó)ˆ
ØÜ�‰�ZÕ r   N)'Ú__name__Ú
__module__Ú__qualname__r   r%   ÚpytestÚmarkÚthread_unsafer-   r4   r8   r?   rd   rh   r   rŒ   r¶   r¸   rÐ   rÒ   rÝ   rê   r÷   r  r  r  r"  r%  r'  r;  ÚskipifrR  rW  rb  ri  rk  rm  ro  rq  r!   r   r   r   r      sò   „ ò2ò
ð ‡[�[×Ññ
5ó ð
5òòò
ò"
òL3ò
.
òdòH
òZò,
òb?ò&
òP%ò +òF?òP<ò=òEò;ò@òNð0 ‡[�[×Ñ˜ð &JÐó Kñ#óKð#ò*Nòò:!ò!ò!ò!ó!r   r   )rd  rG  rL  rI  Únumpyr0   r   Únumpy.testingr   r   r   r   ru  r   r   Ú	scipy.odrr	   r
   r   r   r   r   r   r   r   r   r   r   r!   r   r   ú<module>r|     sI   ðÛ Û Û Û 	ã Ý ÷,ó ,ó Ý *÷#÷ #÷ #ñ #÷
L	!ò L	!r   