§
    rŠtjí  ã                   óˆ   — d dl Zd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d„ Zd„ Zd„ Zd	„ Zd
„ Zdd„Zd„ Zd„ ZdS )é    N)Úassert_array_almost_equal)Úcomb©Ú_our_rand_r_py)Ú_random_choice_cscÚsample_without_replacementc                  óŒ   — t          j        t          ¦  «        5  t          ddd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né   é   Úunknown)ÚpytestÚraisesÚ
ValueErrorr   © ó    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_random.pyÚ1test_invalid_sample_without_replacement_algorithmr      sˆ   € Ý	Œ•zÑ	"Ô	"ð 4ð 4Ý" 1 a¨Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   š9¹=Á =c                  ó~   ‡— d} | D ]6Š	 dˆfd„	}t          |¦  «         t          |¦  «         t          |¦  «         Œ7d S )N)ÚautoÚtracking_selectionÚreservoir_samplingÚpoolc                 ó*   •— t          | |‰|¬¦  «        S )N)ÚmethodÚrandom_state©r   )Ún_populationÚ	n_samplesr   Úms      €r   Ú!sample_without_replacement_methodzUtest_sample_without_replacement_algorithms.<locals>.sample_without_replacement_method   s%   ø€ õ .Ø˜i°Àðñ ô ð r   )N)Úcheck_edge_case_of_sample_intÚcheck_sample_intÚcheck_sample_int_distribution)Úmethodsr    r   s     @r   Ú*test_sample_without_replacement_algorithmsr%      sz   ø€ ØJ€Gàð Ið Iˆð 37ð	ð 	ð 	ð 	ð 	ð 	õ 	&Ð&GÑHÔHÐHÝÐ:Ñ;Ô;Ð;Ý%Ð&GÑHÔHÐHÐHðIð Ir   c                 ó¨  — t          j        t          ¦  «        5   | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5   | dd¦  «         d d d ¦  «         n# 1 swxY w Y    | dd¦  «        j        dk    sJ ‚ | dd¦  «        j        dk    sJ ‚ | dd¦  «        j        dk    sJ ‚ | dd¦  «        j        dk    sJ ‚t          j        t          ¦  «        5   | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5   | dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   é   é   )r   )r'   r
   éÿÿÿÿ)r   r   r   Úshaper   s    r   r!   r!   $   s{  € å	Œ•zÑ	"Ô	"ð )ð )Ø"Ð" 1 aÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å	Œ•zÑ	"Ô	"ð )ð )Ø"Ð" 1 aÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð &Ð% a¨Ñ+Ô+Ô1°TÒ9Ð9Ð9Ð9à%Ð% a¨Ñ+Ô+Ô1°TÒ9Ð9Ð9Ð9ð &Ð% a¨Ñ+Ô+Ô1°TÒ9Ð9Ð9Ð9Ø%Ð% a¨Ñ+Ô+Ô1°TÒ9Ð9Ð9Ð9õ 
Œ•zÑ	"Ô	"ð *ð *Ø"Ð" 2 qÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å	Œ•zÑ	"Ô	"ð *ð *Ø"Ð" 1 bÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *sB   š3³7º7ÁA0Á0A4Á7A4Ã0D	Ä	DÄDÄ-EÅEÅEc                 óN  — d}t          |dz   ¦  «        D ]k} | ||¦  «        }t          |¦  «        |k    sJ ‚t          j        |¦  «        }t          j        |¦  «        |k    sJ ‚t          j        ||k     ¦  «        sJ ‚Œlt          j         | dd¦  «        ¦  «        dk    sJ ‚d S )Néd   r'   r   )ÚrangeÚlenÚnpÚuniqueÚsizeÚall)r   r   r   Úsr0   s        r   r"   r"   ;   sÃ   € ð
 €Lå˜<¨!Ñ+Ñ,Ô,ð -ð -ˆ	Ø&Ð& |°YÑ?Ô?ˆÝ�1‰vŒv˜Ò"Ð"Ð"Ð"Ý”˜1‘”ˆÝŒw�v‰Œ )Ò+Ð+Ð+Ð+ÝŒv�f˜|Ò+Ñ,Ô,Ð,Ð,Ð,Ð,õ Œ7Ð-Ð-¨a°Ñ3Ô3Ñ4Ô4¸Ò9Ð9Ð9Ð9Ð9Ð9r   c           
      ó&  — d}d}t          |¦  «        D ]|}t          ||d¬¦  «        }i }t          |¦  «        D ]3}d |t           | ||¦  «        ¦  «        <   t          |¦  «        |k    r n$Œ4t	          dt          |¦  «        ›d|›d�¦  «        ‚Œ}d S )Né
   é'  T)Úexactz.number of combinations != number of expected (z != ú))r-   r   Ú	frozensetr.   ÚAssertionError)r   r   Ún_trialsr   Ú
n_expectedÚoutputÚis          r   r#   r#   M   sÔ   € ð
 €Lð €Hå˜<Ñ(Ô(ð ð ˆ	õ ˜,¨	¸Ð>Ñ>Ô>ˆ
àˆÝ�x‘”ð 	ð 	ˆAàð •9Ð7Ð7¸ÀiÑPÔPÑQÔQÑRõ �6‰{Œ{˜jÒ(Ð(Ø�ð )õ !�.å�v‘;”;�;�; 
 
 
ð,ñô ð ð ðð r   r6   é   c                 ó¶  — t          j        ddg¦  «        t          j        g d¢¦  «        g}t          j        ddg¦  «        t          j        g d¢¦  «        g}t          | |||¦  «        }t          j        |¦  «        sJ ‚t          t          |¦  «        ¦  «        D ]m}t          j        |d d …|gf                              ¦   «          	                    ¦   «         ¦  «        t          | ¦  «        z  }t          ||         |d¬¦  «         Œnddgddgg}t          j        ddg¦  «        t          j        g d¢¦  «        g}t          | ||¬	¦  «        }t          j        |¦  «        sJ ‚t          t          |¦  «        ¦  «        D ]m}t          j        |d d …|gf                              ¦   «          	                    ¦   «         ¦  «        t          | ¦  «        z  }t          ||         |d¬¦  «         Œnt          j        ddg¦  «        t          j        g d¢¦  «        g}t          j        d
dg¦  «        t          j        g d¢¦  «        g}t          | |||¦  «        }t          j        |¦  «        sJ ‚t          t          |¦  «        ¦  «        D ]u}t          j        |d d …|gf                              ¦   «          	                    ¦   «         t          ||         ¦  «        ¬¦  «        | z  }t          ||         |d¬¦  «         Œvdgdgg}t          j        d
dg¦  «        t          j        dg¦  «        g}t          | ||¬	¦  «        }t          j        |¦  «        sJ ‚t          t          |¦  «        ¦  «        D ]`}t          j        |d d …|gf                              ¦   «          	                    ¦   «         ¦  «        | z  }t          ||         |d¬¦  «         Œad S )Nr   r'   ©r   r'   r(   ç      à?©ç333333ã?çš™™™™™¹?g333333Ó?)Údecimalr(   )r   rB   rB   )r   Úclassesr   ç        ç      ð?)rH   rI   rH   )Ú	minlength)r/   Úarrayr   ÚspÚissparser-   r.   ÚbincountÚtoarrayÚravelÚfloatr   )r   r   rG   Úclass_probabilitiesÚgotÚkÚps          r   Útest_random_choice_cscrV   m   så  € åŒx˜˜A˜ÑÔ¥¤¨)¨)¨)Ñ!4Ô!4Ð5€GÝœ8 S¨# JÑ/Ô/µ´¸/¸/¸/Ñ1JÔ1JÐKÐå
˜Y¨Ð1DÀlÑ
SÔ
S€CÝŒ;�sÑÔÐÐÐå•3�w‘<”<Ñ Ô ð Hð HˆÝŒK˜˜A˜A˜A ˜s˜Fœ×+Ò+Ñ-Ô-×3Ò3Ñ5Ô5Ñ6Ô6½¸yÑ9IÔ9IÑIˆÝ!Ð"5°aÔ"8¸!ÀQÐGÑGÔGÐGÐGð �1ˆv˜˜1�vÐ€GÝœ8 S¨# JÑ/Ô/µ´Ð:KÐ:KÐ:KÑ1LÔ1LÐMÐå
Ø W¸<ðñ ô €Cõ Œ;�sÑÔÐÐÐå•3�w‘<”<Ñ Ô ð Hð HˆÝŒK˜˜A˜A˜A ˜s˜Fœ×+Ò+Ñ-Ô-×3Ò3Ñ5Ô5Ñ6Ô6½¸yÑ9IÔ9IÑIˆÝ!Ð"5°aÔ"8¸!ÀQÐGÑGÔGÐGÐGõ Œx˜˜A˜ÑÔ¥¤¨)¨)¨)Ñ!4Ô!4Ð5€GÝœ8 S¨# JÑ/Ô/µ´¸/¸/¸/Ñ1JÔ1JÐKÐå
˜Y¨Ð1DÀlÑ
SÔ
S€CÝŒ;�sÑÔÐÐÐå•3�w‘<”<Ñ Ô ð Hð HˆåŒKØ�A�A�A˜�s�F”×#Ò#Ñ%Ô%×+Ò+Ñ-Ô-½Ð=PÐQRÔ=SÑ9TÔ9Tðñ ô ð ñð 	
õ 	"Ð"5°aÔ"8¸!ÀQÐGÑGÔGÐGÐGð ˆs�Q�Cˆj€GÝœ8 S¨# JÑ/Ô/µ´¸3¸%±´ÐAÐå
Ø W¸<ðñ ô €Cõ Œ;�sÑÔÐÐÐå•3�w‘<”<Ñ Ô ð Hð HˆÝŒK˜˜A˜A˜A ˜s˜Fœ×+Ò+Ñ-Ô-×3Ò3Ñ5Ô5Ñ6Ô6¸ÑBˆÝ!Ð"5°aÔ"8¸!ÀQÐGÑGÔGÐGÐGðHð Hr   c                  óà  — t          j        ddg¦  «        t          j        g d¢¦  «        g} t          j        ddg¦  «        t          j        g d¢¦  «        g}t          j        t          ¦  «        5  t          d| |d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddg¦  «        t          j        g d	¢¦  «        g} t          j        ddg¦  «        t          j        g d¢¦  «        g}t          j        t          ¦  «        5  t          d| |d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d
dg¦  «        t          j        g d¢¦  «        g} t          j        ddg¦  «        t          j        g d¢¦  «        g}t          j        t          ¦  «        5  t          d| |d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddg¦  «        t          j        g d¢¦  «        g} t          j        ddg¦  «        t          j        g d¢¦  «        g}t          j        t          ¦  «        5  t          d| |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r'   )r   r'   r(   é   rB   rC   r   ÚaÚ1)ÚzrZ   Ú2gÍÌÌÌÌÌ@rE   )rE   gš™™™™™É?gÍÌÌÌÌÌ"@rA   rD   )r/   rK   r   r   r   r   )rG   rR   s     r   Útest_random_choice_csc_errorsr]   ¤   s3  € åŒx˜˜A˜ÑÔ¥¤¨,¨,¨,Ñ!7Ô!7Ð8€GÝœ8 S¨# JÑ/Ô/µ´¸/¸/¸/Ñ1JÔ1JÐKÐÝ	Œ•zÑ	"Ô	"ð ?ð ?Ý˜1˜gÐ':¸AÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ Œx˜˜c˜
Ñ#Ô#¥R¤X¨o¨o¨oÑ%>Ô%>Ð?€GÝœ8 S¨# JÑ/Ô/µ´¸/¸/¸/Ñ1JÔ1JÐKÐÝ	Œ•zÑ	"Ô	"ð ?ð ?Ý˜1˜gÐ':¸AÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ Œx˜˜c˜
Ñ#Ô#¥R¤X¨o¨o¨oÑ%>Ô%>Ð?€GÝœ8 S¨# JÑ/Ô/µ´¸/¸/¸/Ñ1JÔ1JÐKÐÝ	Œ•zÑ	"Ô	"ð ?ð ?Ý˜1˜gÐ':¸AÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ Œx˜˜A˜ÑÔ¥¤¨)¨)¨)Ñ!4Ô!4Ð5€GÝœ8 S¨# JÑ/Ô/µ´¸/¸/¸/Ñ1JÔ1JÐKÐÝ	Œ•zÑ	"Ô	"ð ?ð ?Ý˜1˜gÐ':¸AÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?sH   Á2BÂBÂBÄD,Ä,D0Ä3D0Æ(GÇGÇGÉI#É#I'É*I'c                  óZ   — dt          d¦  «        k    sJ ‚dt          d¦  «        k    sJ ‚d S )Ni=(×i³=êKi!  r   r   r   r   r   Útest_our_rand_rr_   ¾   s:   € Ø� zÑ2Ô2Ò2Ð2Ð2Ð2Ø•^ AÑ&Ô&Ò&Ð&Ð&Ð&Ð&Ð&r   )r6   r?   )Únumpyr/   r   Úscipy.sparseÚsparserL   Únumpy.testingr   Úscipy.specialr   Úsklearn.utils._randomr   Úsklearn.utils.randomr   r   r   r%   r!   r"   r#   rV   r]   r_   r   r   r   ú<module>rg      s
  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oð4ð 4ð 4ð
Ið Ið Ið"*ð *ð *ð.:ð :ð :ð$ð ð ð@4Hð 4Hð 4Hð 4Hðn?ð ?ð ?ð4'ð 'ð 'ð 'ð 'r   