Ë
    âQ(hÉ  ã                   óP   — d dl Zd dlmZmZ d dlZd dlmZ d dlm	Z	  G d„ d«      Z
y)é    N)Úassert_allcloseÚassert_equal)Úpava)Úisotonic_regressionc                   ó€  — e Zd Zej                  j                  dddggddfddgddggdfddgdgdfdddgdfddgddfddgddgdfg«      d	„ «       Zd
„ Zej                  j                  dej                  ej                  ej                  ej                  g«      ej                  j                  dej                  ej                  ej                  ej                  g«      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y)ÚTestIsotonicRegression)ÚyÚwÚmsgr   é   Nz7array has incorrect number of dimensions: 2; expected 1é   z<Input arrays y and w must have one dimension of equal lengthz#Weights w must be strictly positivec                 ó~   — t        j                  t        |¬«      5  t        ||¬«       d d d «       y # 1 sw Y   y xY w)N)Úmatch)r	   Úweights)ÚpytestÚraisesÚ
ValueErrorr   )Úselfr	   r
   r   s       úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_isotonic_regression.pyÚtest_raise_errorz'TestIsotonicRegression.test_raise_error
   s1   € ô$ �]‰]œ:¨SÔ1ñ 	0Ü !¨QÕ/÷	0÷ 	0ñ 	0ús   œ3³<c                 óV  — t        j                  g d¢t         j                  ¬«      }t        j                  |«      }t        j                  |j
                  d   dz   dt         j                  ¬«      }t        |||«       t        |g d¢«       t        |g d¢«       t        |g d	¢«       y )
N©é   é   r   r   r   r   r   ©Údtyper   r   éÿÿÿÿ)ÚshapeÚ
fill_valuer   ©r   r   r   r   r   r   r   )é   r   r   r   r   r   r   )r   r!   é   r   r   r   r   r   )	ÚnpÚarrayÚfloat64Ú	ones_likeÚfullr   Úintpr   r   )r   r	   r
   Úrs       r   Útest_simple_pavaz'TestIsotonicRegression.test_simple_pava   st   € ô �H‰HÒ*´"·*±*Ô=ˆÜ�L‰L˜‹OˆÜ�G‰G˜!Ÿ'™' !™* q™.°R¼r¿w¹wÔGˆÜˆQ��1ŒÜ˜Ò0Ô1ä˜Ò0Ô1ä˜Ò8Õ9ó    Úy_dtypeÚw_dtyper
   Úonesc                 ó  — t        j                  g d¢|¬«      }|�t        j                  ||¬«      }t        ||¬«      }|j                  j
                  t         j                  k(  sJ ‚|j                  j
                  t         j                  k(  sJ ‚t        |j                  g d¢«       t        |j                  ddg«       t        |j                  g d¢«       t        |t        j                  g d¢t         j                  ¬«      «       y )Nr   r   ©r   r    r!   r   )r   r!   r"   )r#   r$   r&   r   Úxr   r%   r   r   Úblocksr   )r   r
   r-   r,   r	   Úress         r   Útest_simple_isotonic_regressionz6TestIsotonicRegression.test_simple_isotonic_regression,   sµ   € ô �H‰HÒ*°'Ô:ˆØˆ=Ü—‘˜Q gÔ.ˆAÜ! !¨QÔ/ˆØ�u‰u�{‰{œbŸj™jÒ(Ð(Ð(Ø�{‰{× Ñ ¤B§J¡JÒ.Ð.Ð.Ü˜Ÿ™Ò4Ô5Ü˜Ÿ™ a¨ VÔ,Ü˜Ÿ
™
¢IÔ.ä�QœŸ™Ò!6¼b¿j¹jÔIÕJr+   Ú
increasingTFc                 ó  — d}|rt        j                  dd|«      nt        j                  dd|«      }t        ||¬«      }t        |j                  |«       t        |j
                  t        j                  |dz   «      «       y )Né
   r   r   ©r5   )r#   Úlinspacer   r   r1   r2   Úarange)r   r5   Únr	   r3   s        r   Útest_linspacez$TestIsotonicRegression.test_linspace>   s_   € àˆÙ$.ŒB�K‰K˜˜1˜aÔ ´B·K±KÀÀ1ÀaÓ4HˆÜ! !°
Ô;ˆÜ˜Ÿ™˜qÔ!Ü˜Ÿ
™
¤B§I¡I¨a°!©eÓ$4Õ5r+   c                 ó°  — t        j                  g d¢«      }t        j                  g d¢«      }t        ||¬«      }t        |j                  g d¢«       t        |j
                  g d¢«       t        |j                  g d¢«       t        j                  g d¢«      }t        j                  g d¢«      }t        ||¬«      }t        t        j                  |j                  d	d
 «      d	«       t        |j                  dd  |j                  «       t        |j
                  |j
                  «       t        |j                  dd  dz
  |j                  dd  «       y )N)r   r   é   ç      à?r?   r?   r   é   )r@   r   r   r7   é	   r   é   r7   r0   )ç      ø?rC   rC   rA   rA   rA   ç      )@rD   )r   rC   r   )r   r@   r!   r   )r   r   r   r   r   r   r   r?   r?   r?   r   r@   )r@   r   r   r   r   r   r   r7   rA   r   rB   r7   r   r"   r   r   )r#   r$   r   r   r1   r   r2   Údiff)r   r
   r	   r3   Úw2Úy2Úres2s          r   Útest_weightsz#TestIsotonicRegression.test_weightsF   sí   € Ü�H‰HÒ3Ó4ˆÜ�H‰HÒ0Ó1ˆÜ! !¨QÔ/ˆÜ˜Ÿ™ÒFÔGÜ˜Ÿ™¢[Ô1Ü˜Ÿ
™
¢LÔ1ô �X‰XÒ@ÓAˆÜ�X‰XÒ=Ó>ˆÜ" 2¨rÔ2ˆÜœŸ™ §¡ q¨ Ó,¨aÔ0Ü˜Ÿ™˜q˜r˜
 C§E¡EÔ*Ü˜Ÿ™ c§k¡kÔ2Ü˜Ÿ™ A B˜¨!Ñ+¨S¯Z©Z¸¸¨^Õ<r+   c                 óÆ  — g d¢}t        |«      }g d¢}t        |j                  |«       t        |j                  g d¢«       d}t        j                  dd|d¬«      }d	|z  t        j                  d
|z  «      z   }t        |«      }g d¢}t        |j                  |«       t        j                  t        j                  |j                  «      dk\  «      sJ ‚t        t        j                  |j                  «      t        j                  |«      «       t        | d¬«      }t        |j                   |j                  «       t        |j                  |j                  «       y )N)
r   r!   r   r@   r>   r   r   r"   rA   r   )
r   ç8Tç¬ªª@rK   rK   rK   rK   rK   ç8Tç¬ªª@rL   rL   )r   r   r"   r7   éd   r   r   F)ÚnumÚendpointr>   r7   )dg        gø¸_Ó½-Ã?gOÄ*÷eÓ?g%ê2gƒÜ?g±Í¾ÙƒÜâ?g6Yå:tWç?gÃ>l¯&«ë?góô�¡Ðï?g:•ˆÇ°àñ?gµ {ÿ´»ó?g!:Fªvõ?g Eßr/÷?gÊå»k;ƒø?ç$'·
"ù?rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   gV± ¿©üù?gQk?øvû?g’0¡¼ný?gô<òæôÕþ?g¬ å«[ @g¶�7à�Y@gõ[Çúþd@g“2-Ú±{@g+¾�æ›@g>	lÎÁÃ@goð…ÉTñ@gZ¥O¢"@gN%¨†¢U	@g†™lòJˆ
@gt NÔ�¸@g—ÏêËoä@gDN>Áî	@gViæ$'@g£lüO@g¤cÁ @g–]ª@gÇ¾àª“@g®{ur @g´fu¼e@gŸþƒÀ@g£k²ˆY@g·•ÁÅHZ@çˆDF¬jv@rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   r8   )r   r   r1   r   r2   r#   r9   ÚsinÚallrE   Úsum)r   r	   r3   Úx_Rr;   Úres_invs         r   Útest_against_R_monotonez.TestIsotonicRegression.test_against_R_monotoneX   s  € Ú*ˆÜ! !Ó$ˆò

ˆô 	˜Ÿ™˜sÔ#Ü�S—Z‘Z¢Ô/àˆÜ�K‰K˜˜1 !¨eÔ4ˆØ�‰E”B—F‘F˜2 ™6“NÑ"ˆÜ! !Ó$ˆò
ˆô& 	˜Ÿ™˜sÔ#ô �v‰v”b—g‘g˜cŸe™e“n¨Ñ)Ô*Ð*Ð*ô 	œŸ™˜sŸu™u›¤r§v¡v¨a£yÔ1ô & q b°UÔ;ˆÜ˜Ÿ™˜
 C§E¡EÔ*Ü�W—^‘^ S§Z¡ZÕ0r+   c                 ó  — t        j                  dt        ¬«      }t        j                  dt        ¬«      }d|j                  _        d|j                  _        t        ||¬«      }t        j                  t        j                  |j                  «      «      sJ ‚t        j                  t        j                  |j                  «      «      sJ ‚t        j                  t        j                  |j                  «      «      sJ ‚y )Nr@   r   Fr0   )r#   r:   Úfloatr.   ÚflagsÚ	writeabler   rS   Úisfiniter1   r   r2   ©r   r1   r
   r3   s       r   Útest_readonlyz$TestIsotonicRegression.test_readonly�   s£   € Ü�I‰I�aœuÔ%ˆÜ�G‰G�AœUÔ#ˆà!ˆ�‰ÔØ!ˆ�‰Ôä! !¨QÔ/ˆÜ�v‰v”b—k‘k #§%¡%Ó(Ô)Ð)Ð)Ü�v‰v”b—k‘k #§+¡+Ó.Ô/Ð/Ð/Ü�v‰v”b—k‘k #§*¡*Ó-Ô.Ð.Ñ.r+   c                 óš  — t        j                  dt        ¬«      d d d…   }t        j                  dt        ¬«      d d d…   }|j                  j
                  rJ ‚|j                  j                  rJ ‚|j                  j
                  rJ ‚|j                  j                  rJ ‚t        ||¬«      }t        j                  t        j                  |j                  «      «      sJ ‚t        j                  t        j                  |j                  «      «      sJ ‚t        j                  t        j                  |j                  «      «      sJ ‚y )Nr7   r   r@   r0   )r#   r:   rY   r.   rZ   Úc_contiguousÚf_contiguousr   rS   r\   r1   r   r2   r]   s       r   Útest_non_contiguous_arraysz1TestIsotonicRegression.test_non_contiguous_arraysœ   sé   € Ü�I‰I�b¤Ô&¡s¨ sÑ+ˆÜ�G‰G�BœeÔ$¡S q SÑ)ˆØ—7‘7×'Ò'Ð'Ð'Ø—7‘7×'Ò'Ð'Ð'Ø—7‘7×'Ò'Ð'Ð'Ø—7‘7×'Ò'Ð'Ð'ä! !¨QÔ/ˆÜ�v‰v”b—k‘k #§%¡%Ó(Ô)Ð)Ð)Ü�v‰v”b—k‘k #§+¡+Ó.Ô/Ð/Ð/Ü�v‰v”b—k‘k #§*¡*Ó-Ô.Ð.Ñ.r+   )Ú__name__Ú
__module__Ú__qualname__r   ÚmarkÚparametrizer   r*   r#   r%   Úfloat32Úint64Úint32r4   r<   rI   rW   r^   rb   © r+   r   r   r   	   sx  „ Ø‡[�[×ÑØà�!ˆfˆX�tØFðHà�ˆV�q˜!�f�XØKðMà�ˆV�a�SØKðMà��A�ØKðMà�ˆV�QØKðMà�ˆV�a˜�VØ2ð4ð	
óñ"0ó#ð"0ò:ð ‡[�[×Ñ˜Y¨¯©°R·Z±ZÀÇÁÈ2Ï8É8Ð(TÓUØ‡[�[×Ñ˜Y¨¯©°R·Z±ZÀÇÁÈ2Ï8É8Ð(TÓUØ‡[�[×Ñ˜S 4¨ .Ó1ñKó 2ó Vó VðKð ‡[�[×Ñ˜\¨D°%¨=Ó9ñ6ó :ð6ò=ò$61òp
/ó/r+   r   )Únumpyr#   Únumpy.testingr   r   r   Úscipy.optimize._pava_pybindr   Úscipy.optimizer   r   rk   r+   r   ú<module>rp      s    ðÛ ß 7Û å ,Ý .÷^/ò ^/r+   