
    (ph?V                         S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
Jr  S SKrS SKJr  S SKJrJrJrJrJrJrJrJrJrJrJr   " S S5      rg)    N)pi)assert_array_almost_equalassert_equalassert_warnsassert_allclose)raises)DataModelODRRealDataOdrStop
OdrWarningmultilinearexponential	unilinear	quadratic
polynomialc                   @   \ rS rSrS rS r\R                  R                  S 5       r	S r
S rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\R                  R?                  SSS9S 5       r S r!S r"S  r#S! r$S" r%S# r&S$ r'S%r(g&)'TestODR   c                 \    [        [        [        SS5        [        [        [        SS5        g )N      )assert_raises
ValueErrorr	   r   )selfs    K/var/www/html/venv/lib/python3.13/site-packages/scipy/odr/tests/test_odr.pytest_bad_dataTestODR.test_bad_data   s    j$1-j(Aq1    c                     US   U-  US   -   $ Nr   r    r   Bxs      r   empty_data_funcTestODR.empty_data_func   s    tAv!}r    c                     SS/n[        U R                  5      n[        / / 5      n[        [        [
        X2US9  [        / / 5      n[        [        [
        X2US9  g )N{Gz?        beta0)r
   r'   r	   r   r   r   r   )r   r-   linear	empty_dats       r   test_empty_dataTestODR.test_empty_data   sV    st++,RL	Ze	5 R$	Ze	5r    c                     US   US   [         R                  " [         R                  " US   U-  5      S-
  S5      -  -   nU$ )Nr   r   r         ?)nppowerexp)r   r%   r&   rets       r   explicit_fcnTestODR.explicit_fcn.   s>    dQqTBHHRVVAaDF^c%91===
r    c                 l    [         R                  " US   U-  5      nUS   S-  US-
  -  US   -  U-  nU$ )Nr   r          @r3   )r4   r6   )r   r%   r&   eBxr7   s        r   explicit_fjdTestODR.explicit_fjd2   s@    ffQqT!VndSjCG$qt+c1
r    c                    [         R                  " US   U-  5      n[         R                  " [         R                  " UR                  S   5      [         R
                  " US-
  S5      US   S-  US-
  -  U-  U-  /5      nU$ )Nr   r3   r   r;   )r4   r6   vstackonesshaper5   )r   r%   r&   r<   ress        r   explicit_fjbTestODR.explicit_fjb7   st    ffQqT!Vnii-#c'1-1c3s7+C/13 4 
r    c           
         [        U R                  U R                  U R                  [	        SSS9S9n[        / SQ/ SQ5      n[        X!/ SQ/ SQS	9nUR                  S
S9  UR                  SSSS9  UR                  5       n[        UR                  [        R                  " / SQ5      5        [        UR                  [        R                  " / SQ5      5        [        UR                  [        R                  " / SQ/ SQ/ SQ/5      5        g )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@gLA[KgxQ})gֳ?g1X?gy?)ggC?NM=y7׿	J)r\   gq?]F f_)r]   r^   gO>)r
   r8   rE   r=   dictr	   r   set_job
set_iprintrunr   betar4   arraysd_betacov_beta)r   explicit_modexplicit_datexplicit_odrouts        r   test_explicitTestODR.test_explicit>   s    ####2.0	
 K./ <=R681%QQa8 !HHHH ) *	

 	"KKHHPQ	
 	"LLHH ***	+ ,	
r    c                     US   [         R                  " US   US   -
  S5      -  SUS   -  US   US   -
  -  US   US   -
  -  -   US   [         R                  " US   US   -
  S5      -  -   S-
  $ )Nr   r   r;      r      r3   )r4   r5   r$   s      r   implicit_fcnTestODR.implicit_fcnd   s    !RXXad1Q4i++AaD!A$qt)$ad1Q4i01!RXXad1Q4i++,.12 	3r    c                    [        U R                  S[        SSS9S9n[        / SQ/ SQ/S5      n[	        X!/ SQS	9nUR                  5       n[        UR                  [        R                  " / S
Q5      5        [        UR                  [        R                  " / SQ5      5        [        UR                  [        R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      SSS9  g )Nr   zSample Implicit ModelzODRPACK UG, pg. 49rH   )implicitrM   )      ?g333333?g?g(\?g(\ @zG@gQ@ru   g{Gz @gףp=
?gq=
ףp??gQѿg(\g(\gffffffg      g
ףp=
gq=
ףp	gQ)gQg333333      gffffffgRQgzG
g      g      g      g(\gzGgHzG(\rx   gp=
ףg      gQg      g(\gq=
ףp)rw   g      g
ףp=
?r*   g{Gz?r,   )g{ 3gzJrgJ/k?g&Z薞?gkj?)g?g29?g3"͇p?g[=f?gx#+l?)g:\ @8%??'M['%GRR?)ry   gdbb @gR	<?k)rz   r}   g};yWzg?
WWm&W?)r{   r~   r   gK}U?$_T)r|   r   r   r   ga?gư>g>)rtolatol)r
   rp   r_   r	   r   rb   r   rc   r4   rd   re   r   rf   )r   implicit_modimplicit_datimplicit_odrrj   s        r   test_implicitTestODR.test_impliciti   s    2.0
 6=>
 
 <02  !HHHH 8 9	

 	"KKHH 8 9	

 	LLHH *****+ , D#	
r    c           
          US:  R                  5       (       a  [        e[        US   -  S-  n[        R                  " U5      n[        R
                  " U5      n[        R                  " S[        -  U-  [        R                  " US   * 5      -  US   5      n[        R                  " Xe-  SXd-  -   5      nUS   US   -
  [        R                  " [        R                  " [        R                  " SXd-  -   S5      [        R                  " Xe-  S5      -   5      US   * 5      -  n[        R                  " US   U[        R                  " US   U-  5      -  -   U[        R
                  " US   U-  5      -  /5      n	U	$ )	Nr+   rn   r;   r   r3   r   r   ro   )anyr   r   r4   cossinr5   r6   arctan2sqrtrA   )
r   r%   r&   thetacthetasthetaomegaphirr7   s
             r   	multi_fcnTestODR.multi_fcn   s9   G==??M1Q4
Bq1.!5jj%,#*<>qTAaD[BHHRWWRXXcEL6H!-LXXelA&.' &(*+A$0 0ii1"&&1c"2 22266!A$s(++- .
r    c                 J   [        U R                  [        SSS9S9n[        R                  " / SQ5      n[        R                  " / SQ/ SQ/5      n[        U5      n[        R                  " SSU4[        S	9n[        R                  " U[        S	9n[        R                  " U[        S	9nS
USSS S 24'   S=USSS S 24'   USSS S 24'   SUSSS S 24'   [        U5       Hb  nX(   S:  a  SXh'   O4X(   S::  a  O+X(   S::  a  SXx'   OX(   S::  a  SXx'   OX(   S::  a  SXx'   OSXx'   X(   S:X  d
  X(   S:X  d  MV  SUS S 2S S 2U4'   Md     [        X#S[        R                  " US5      -  US9n	[        X/ SQXvS9n
U
R                  SSS9  U
R                  5       n[!        UR"                  [        R                  " / SQ5      5        [!        UR$                  [        R                  " / SQ5      5        [!        UR&                  [        R                  " / S Q/ S!Q/ S"Q/ S#Q/ S$Q/5      5        g )%NzSample Multi-Response ModelzODRPACK UG, pg. 56rH   rM   )rQ   g      I@g     Q@rR        b@g      i@g     r@g     @@g     @     @@rS   g     @@g     p@g     @g     X@     @g     L@g     @g     L@g     j@g     @     j@g    OA)gzG@g^I@gI+@gx&@g~jt@gS@gOn@gʡE@gNbX9@gMb@gRQ@gX9v@gw/
@gMb
@g%C	@g/$	@gFx@gZd;@gFx@g5^I@gNbX9@gMb@gOn@)g rh?gK7A`?gMb?gA`"?gh|?5?g r?gDl?g5^I?g-?灕Cl?gjt?r   gQ?g"~?g|?5^?gRQ?gQ?gCl?gB`"?gK?g/$?g/$?gn?r   dtypeg|@r   g     r   g    f@rR   r   r   g      9@r   g     @r   g     @g     Ar+   g-C6?wdwe)      @r;   rO   皙?rt   )r-   delta0rV   )rX   del_init)g@gNUiw@gz @gR?gFu?)gfkl,?g 1w?gAS?g@L*?g?)g?#0z?_ n=m?-Mu?G:xgTÚ?)r   gaǇ
z?4<n?gjtܪVŊ?)r   r   gHAcO?K*rԬa/??)r   r   r   gk{?y7)r   r   r   r   g
P/{7?)r
   r   r_   r4   rd   lenzerosfloatrB   intranger	   r5   r   r`   rb   r   rc   re   rf   )r   	multi_modmulti_xmulti_ynmulti_wemulti_ifixxmulti_deltai	multi_dat	multi_odrrj   s               r   
test_multiTestODR.test_multi   s,   NN8.0
	 (( M N ((00	
  L88Q1IU3ggas+hhq.1Q,331Q(1Qq5/ 1QqAzE!!"u$v%!%w&!&x'!'!)zU"gjE&9"%1Q   d288GQ3G.G		4D3	A.mmo!HHHH 8 9	

 	"KKHH 8 9	

 	"LLHH 899:9	: 	;	
r    c                     US   US   U-  -   $ r"   r#   r$   s      r   pearson_fcnTestODR.pearson_fcn   s    tad1f}r    c                    [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        XX4S9n[        X!XCS9n[        U R                  [        SS9S9n[        XWS	S	/S
9n[        XgS	S	/S
9n	UR                  5       n
[        U
R                  [         R                  " SS/5      5        [        U
R                  [         R                  " SS/5      5        [        U
R                  [         R                  " SS/SS//5      5        U	R                  5       n[        UR                  [         R                  " SS/5      5        [        UR                  [         R                  " SS/5      5        [        UR                  [         R                  " SS/SS//5      5        g )N)
r+   rv   g?g@gffffff
@皙@g@gffffff@g      @g@)
g@g@r   gffffff@g      @g@ffffff@r   g333333@g      ?)
Q?r   {Gz?gQ?gQ?g)\(?gp=
ף?)\(?Gz?r3   )
r3   r   rt   gffffff?r   r   Q?r   皙?r   sxsyzUni-linear FitrI   r   r3   r,   g4ԉ.@gv޿grtA-?gc?g;޵?g=gk?gO&@gj( g3
ٻl?gZ՗?gF)t?g`=Lɿg!?)r4   rd   r   r
   r   r_   r   rb   r   rc   re   rf   )r   p_xp_yp_sxp_syp_datpr_datp_modp_odrpr_odrrj   routs               r   test_pearsonTestODR.test_pearson   s   hh>?hh@AxxABxx>?d4 #t5d&&T7G-HIEB0V2b'2iik!HHHH(*=>?	
 	"KKHH(*<=>	
 	"LLHH)+>?#%679 :	
 zz|!IIHH)+>?@	
 	"LLHH(*<=>	
 	"MMHH)+>?#%78: ;	
r    c           	          US   US   -  US   -  [         R                  " [         R                  " X"-  US   US   -  -
  S5      [         R                  " US   U-  S5      -   5      -  $ )Nr   r   r   r;   )r4   r   r5   )r   rc   r&   s      r   lorentzTestODR.lorentz*  sp    QQQ'"''"((13GDGO< 3"$&HHT!WQY$<3= +> > 	?r    c           	         [         R                  " S/S-  5      n[         R                  " / SQ5      n[        / SQ/ SQUUS9n[        U R                  [        SS9S	9n[        X4S
S9nUR                  5       n[        UR                  [         R                  " / SQ5      5        [        UR                  [         R                  " / SQ5      5        [        UR                  [         R                  " / SQ/ SQ/ SQ/5      5        g )Ng(\?   )gdOO?gO?g&0G?gpt͘(G?g^"G?g eG?genBF?g8=?g-=?g`EE?g,!WsE?g01cE?g&-}Ԭ>g;vQ?gPmQ?gGus#T?gW UW?g>c?)gׁsF@g`TR'@gxN@gs@g3@gN#-@g	ϛ@gW[N@gp:@@g@gs,&6@g@g2c@gHIOG@g?@g;@gx&q@gҌEY@)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#?gF=@)g(1?gȕ6?gQ.q;0?)g\j?EGp` )r   g3<n>G!fc>)r   r   gq[cсE]>)r4   rd   r   r
   r   r_   r   rb   r   rc   re   rf   )r   l_syl_sxl_datl_modl_odrrj   s          r   test_lorentzTestODR.test_lorentz.  s    xxb!xx N O
 0A
 dll>)BCE(89iik!HHHH ) *	

 	"KKHH ) *	

 	"LLHH ***	+ ,	
r    c                     S nSS/n[         R                  " SS5      nU" X#5      n[        U5      n[        X4SSS9n[	        XeSS/S9nUR                  5       n[        UR                  S	5        g )
Nc                     U S   U-  U S   -   $ r"   r#   )cr&   s     r   r.   (TestODR.test_ticket_1253.<locals>.linearW  s    Q46!A$;r    r;         @r   
   r3   r   r,   r   )r4   linspacer
   r	   r   rb   r   info)	r   r.   r   r&   ymodeldatajobresults	            r   test_ticket_1253TestODR.test_ticket_1253V  sk    	 #JKK21LfASS)$c3Z0V[[!$r    c                    / SQn/ SQn[         R                  " [         R                  " U[        S9[         R                  " U[        S945      n[        [         R                  " X45      SUS9n[        S SS9n[        XE[         R                  " S	/5      S
9nUR                  5       n[        XE[         R                  " S	/5      US9nUR                  5       n	[        UR                  U	R                  5        g )N)gGz gGzgMbPgRQ?gGz?)gףp=
@g)\(?gMbP?gV-?g
ףp=
@r   r   )r   fixc                 :    USS S 24   U S   USS S 24   S-  -  -
  $ )Nr   r   r;   r#   )rc   r&   s     r   <lambda>$TestODR.test_ifixx.<locals>.<lambda>k  s&    a1gQ!AqD'2+0E&Er    T)rs   r3   r,   rU   )r4   rA   
zeros_liker   	ones_liker	   r
   r   rd   rb   r   rc   )
r   x1x2r   r   r   odr1sol1odr2sol2s
             r   
test_ifixxTestODR.test_ifixxf  s    /-iir5r||Bc7RSTBIIrh'1#6EPTU4bhhtn5xxz4bhhtnC@xxzTYY		*r    c                 ~   [         R                  " / SQ5      nSnSn[         R                  " / SQ/ SQ/5      nSn[         R                  " / SQ/ SQ/5      n[         R                  " / S	Q5      nS
 nS n	S n
[         R                  " SSU5      n[         R                  " SSU5      n[         R                  " X/5      nU" X5      nX-   nX-   n[        XU
S9n[	        UUX5S9n[        UUSU-  SS9nUR                  SS9  UR                  5       n[        UR                  S5        [        UR                  U5        g )N)r3   gffffff@g?rw   g?rt   r   {Gz?)
g	 'D?g"u?gsfZ?gt?g	Yqog?s?gJf?g>xF}gvIxg!͒&|)
ggÚрgz7X0ت`gN77?ga5|gLl	TZj?g^1;e?g<%gwg%.hgܾ#ń?g?)
g!Kr?gR#?g)BgH]N?gK?gNr}?gt%?g')vU~g^'2g?))
gÊ?giP?gލho?gʐ:l?gM*gD3g\`gg֓А?g3p~?ghϬ)g>@gk_gʖ6`@g<u+g|㉘S@g2dSc                     U S   U S   USS S 24   -  -   U S   USS S 24   -  -   nU S   U S   USS S 24   -  -   U S   USS S 24   -  -   n[         R                  " X#45      $ )Nr   r   r   rn   ro      )r4   rA   )rc   r&   y0y1s       r   func'TestODR.test_ticket_11800.<locals>.func  s}    a47Qq!tW,,tAw1a4/@@Ba47Qq!tW,,tAw1a4/@@B99bX&&r    c                 Z   [         R                  " U5      S   n[         R                  " U5      n[         R                  " U5      n[         R                  " XASS S 24   USS S 24   X3U/5      n[         R                  " X3X4USS S 24   USS S 24   /5      n[         R
                  " XV45      $ )Nr   r   )r4   rC   r   rB   rd   stack)rc   r&   nr_measr   rB   dy0dy1s          r   df_dbeta_odr/TestODR.test_ticket_11800.<locals>.df_dbeta_odr  s    hhqk!nGHHW%E777#D((DAqD'1QT7E%HIC((E%qAw!Q$HIC88SJ''r    c                    [         R                  " U5      S   n[         R                  " U5      n[         R                  " U S   U-  U S   U-  /5      n[         R                  " U S   U-  U S   U-  /5      n[         R                  " XE45      $ )Nr   r   ro   r  )r4   rC   rB   rd   r  )rc   r&   r  rB   r  r  s         r   	df_dx_odr,TestODR.test_ticket_11800.<locals>.df_dx_odr  sx    hhqk!nG777#D((DGdNDGdN;<C((DGdNDGdN;<C88SJ''r    r   )rK   rL   r   rv   d   )r-   maxitrn   rW   )r4   rd   r   r
   r   r   r`   rb   r   r   r   rc   )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_11800TestODR.test_ticket_11800t  sB   HH<=		(( XHI J
 	(( WKL M
  "E F	'	(	( ++a_5++a_57,-i(!! 	B9CdG3?#Fa ++- 	W\\1%!',,>r    c                     [         R                  " SS5      nSSU-  -   n[        X5      n[        U[        5      nUR                  5       n[        UR                  SS/5        g )Nr+   rN   rP   )r4   r   r	   r   r   rb   r   rc   r   r&   r   r   r.  outputs         r   test_multilinear_modelTestODR.test_multilinear_model  sQ    KKS!37NAzdK(!&++c{;r    c                     [         R                  " SS5      nS[         R                  " SU-  5      -   n[        X5      n[	        U[
        5      nUR                  5       n[        UR                  SS/5        g )Nr+   rN   g      $rt   )	r4   r   r6   r	   r   r   rb   r   rc   r3  s         r   test_exponential_modelTestODR.test_exponential_model  sZ    KKS!BFF3q5M!AzdK(!&++s|<r    c                     [         R                  " SS5      nSSU-  -   SUS-  -  -   SUS-  -  -   n[        S5      n[        X5      n[	        XC5      nUR                  5       n[        UR                  / S	Q5        g )
Nr+   rN   r3   r;   r   r   r   rn   )r3   r;   r   r   )r4   r   r   r	   r   rb   r   rc   )r   r&   r   
poly_modelr   r.  r4  s          r   test_polynomial_modelTestODR.test_polynomial_model  so    KKS!#'MC!q&L(3a<7]
Azd'!&++/CDr    c                     [         R                  " SS5      nSU-  S-   n[        X5      n[        U[        5      nUR                  5       n[        UR                  SS/5        g Nr+   rN   r3   r;   )r4   r   r	   r   r   rb   r   rc   r3  s         r   test_unilinear_modelTestODR.test_unilinear_model  sQ    KKS!!GcMAzdI&!&++Sz:r    c                     [         R                  " SS5      nSUS-  -  SU-  -   S-   n[        X5      n[        U[        5      nUR                  5       n[        UR                  / SQ5        g )Nr+   rN   r3   r   r;   r   )r3   r;   r   )r4   r   r	   r   r   rb   r   rc   r3  s         r   test_quadratic_modelTestODR.test_quadratic_model  s[    KKS!!q&L37"S(AzdI&!&++?r    c           	         S nSn[         R                  " U5      n[         R                  " US-  US-   US-
  5      n[         R                  " US5      n[         R                  " US5      n[	        U5      n[        X4XVS9n[        XSS/S9n	U	R                  SS	9  U	R                  5       n
U
R                  S
   n[        U
R                  U
R                  X[        U
R                  5      -    5        g )Nc                     U u  p#X#U-  -   $ Nr#   )parr&   b0b1s       r   r  #TestODR.test_work_ind.<locals>.func  s    FBQ;r    ro   r   r   r   r   r,   r   )fit_typesd)r4   arangewherefullr
   r   r   r`   rb   work_indr   re   workr   )r   r  n_datar&   r   x_erry_errlinear_model	real_datar.  rj   sd_inds               r   test_work_indTestODR.test_work_ind  s    	
 IIfHHQUAGQW-$$ T{Qe6	ic3Z@#kkmd#!#++"%((63s{{;K2K"L	Nr    TzJFortran I/O prone to crashing so better not to run this test, see gh-13127)reasonc           	         S n[        U5      n[        [        R                  " S5      S[        R                  " S5      -  5      n[        R
                  " 5       n[        R                  R                  US5      n[        R                  R                  US5      n [        X2SS/UUS9R                  5         [        X2SS/UUS	S
9R                  5         [        R                  " U5        g! [        R                  " U5        f = f)z
Verify fix for gh-1892
c                     U S   U S   U-  -   $ r"   r#   br&   s     r   r  0TestODR.test_output_file_overwrite.<locals>.func      Q4!A$(?"r    r      z	error.datz
report.datr      )r-   errfilerptfileT)r-   rd  re  	overwriteN)r
   r	   r4   rN  tempfilemkdtempospathjoinr   rb   shutilrmtree)r   r  pr   tmp_direrror_file_pathreport_file_paths          r   test_output_file_overwrite"TestODR.test_output_file_overwrite  s    	# $KBIIbM2		"#56""$'',,w<77<<>	#Ry/(**-#%Ry/(D::=#% MM'"FMM'"s   9C, ,Dc                 r    S n[        U5      nUR                  SSS9  [        UR                  SSS.5        g )Nc                     U S   U S   U-  -   $ r"   r#   r^  s     r   r  1TestODR.test_odr_model_default_meta.<locals>.func  ra  r    zSample Model MetaODRPACKrH   )r
   set_metar   rM   )r   r  rn  s      r   test_odr_model_default_meta#TestODR.test_odr_model_default_meta  s7    	# $K	

+
;QVV&9)LMr    c           
      p   S nSn[         R                  " U5      n[         R                  " US-  US-   US-
  5      n[         R                  " US5      n[         R                  " US5      n[	        U5      n[        X4XVS9n[        X4USS9n	[        X4US/S9n
[        X4U[         R                  " SU4S5      S9n[        X4US//S9n[        X4U[         R                  " SSU4S5      S9nXXX4 HE  n[        XS	S	/[         R                  " US
5      S9nUR                  SSS9  UR                  5         MG     g)z1
Verify fix for gh-18739 where del_init=1 fails.
c                     U S   U S   U-  -   $ r"   r#   r^  s     r   r  .TestODR.test_work_array_del_init.<locals>.func   ra  r    ro   r   r   r   r   r  )r   covyr   rT   )r-   r   r   )rL  r   N)	r4   rN  rO  rP  r
   r   r   r`   rb   )r   r  rS  r&   r   rT  rU  rV  rd0rd1rd2rd3rd4rd5rdr.  s                   r   test_work_array_del_init TestODR.test_work_array_del_init  s%   	# IIfHHQUAGQW-$$T{q0q#.q3%0q"''1f+s*CDqdVH5qBGGQ6ND,IJSs0B"3*!#!68GOOQO3KKM 1r    c                     [         R                  " SS5      nSU-  S-   n[        X5      n[        R                  " U5      nA[        R
                  " U5        g r?  )r4   r   r	   pickledumpsloadsr   r&   r   r   
obj_pickles        r   test_pickling_dataTestODR.test_pickling_data9  sE    KKS!!GcMAz\\$'
Z r    c                     [         R                  " SS5      nSU-  S-   n[        X5      n[        R                  " U5      nA[        R
                  " U5        g r?  )r4   r   r   r  r  r  r  s        r   test_pickling_real_dataTestODR.test_pickling_real_dataB  sE    KKS!!GcM~\\$'
Z r    c                 d    [         R                  " [        5      n[         R                  " U5        g rG  )r  r  r   r  )r   r  s     r   test_pickling_modelTestODR.test_pickling_modelK  s    \\),
Z r    c                     [         R                  " SS5      nSU-  S-   n[        [        X5      [        5      n[
        R                  " U5      nA[
        R                  " U5        g r?  )r4   r   r   r	   r   r  r  r  )r   r&   r   r.  r  s        r   test_pickling_odrTestODR.test_pickling_odrO  sL    KKS!!GcMd1j),\\'*
Z r    c                     [         R                  " SS5      nSU-  S-   n[        [        X5      [        5      R
                  n[        R                  " U5      nA[        R                  " U5        g r?  )	r4   r   r   r	   r   rb   r  r  r  )r   r&   r   r4  r  s        r   test_pickling_outputTestODR.test_pickling_outputX  sR    KKS!!GcMT!Z+//\\&)
Z r    r#   N))__name__
__module____qualname____firstlineno__r   r'   pytestmarkthread_unsafer0   r8   r=   rE   rk   rp   r   r   r   r   r   r   r   r   r
  r0  r5  r8  r<  r@  rC  rY  skipifrr  ry  r  r  r  r  r  r  __static_attributes__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   )r  rg  rl  ri  numpyr4   r   numpy.testingr   r   r   r   r  r   r   	scipy.odrr	   r
   r   r   r   r   r   r   r   r   r   r   r#   r    r   <module>r     sI       	  , ,  *# # # #
L	! L	!r    