Ë
    þÍ:jòT  ã                  óz  — d dl mZ d dlmZ d dlm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 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 d dlmZ d dlmZ erd dlmZ d dlmZ d dlmZ d dlmZ d d„Zd!d„Z G d„ de«      Z G d„ d«      Z  G d„ de «      Z! G d„ de «      Z" G d„ de «      Z# G d„ de «      Z$y)"é    )Úannotations)ÚAny)ÚTYPE_CHECKINGN)ÚBaseDistribution)ÚCategoricalChoiceType)ÚCategoricalDistribution)ÚFloatDistribution)ÚIntDistribution)ÚBaseSampler)ÚFrozenTrial)ÚTrial)Ú
TrialState)ÚCallable)ÚSequence)ÚMarkDecorator)ÚStudyc           
     óz   ‡ — t         j                  j                  d‰ › �ˆ fd„ˆ fd„ˆ fd„ˆ fd„ˆ fd„ˆ fd„g«      S )NÚsuggest_method_c                ó*   •— | j                  ‰dd«      S ©Nr   é
   ©Úsuggest_float©ÚtÚnames    €ús/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/optuna/testing/pytest_samplers.pyú<lambda>z,parametrize_suggest_method.<locals>.<lambda>#   s   ø€ �a—o‘o d¨A¨rÓ2€ ó    c                ó*   •— | j                  ‰dd«      S r   ©Úsuggest_intr   s    €r   r   z,parametrize_suggest_method.<locals>.<lambda>$   s   ø€ �a—m‘m D¨!¨RÓ0€ r   c                ó,   •— | j                  ‰g d¢«      S )N)r   é   é   )Úsuggest_categoricalr   s    €r   r   z,parametrize_suggest_method.<locals>.<lambda>%   s   ø€ �a×+Ñ+¨D²)Ó<€ r   c                ó.   •— | j                  ‰ddd¬«      S )Nr   r   ç      à?©Ústepr   r   s    €r   r   z,parametrize_suggest_method.<locals>.<lambda>&   s   ø€ �a—o‘o d¨A¨r¸�oÓ<€ r   c                ó.   •— | j                  ‰ddd¬«      S )NçH¯¼šò×z>r   T©Úlogr   r   s    €r   r   z,parametrize_suggest_method.<locals>.<lambda>'   s   ø€ �a—o‘o d¨D°"¸$�oÓ?€ r   c                ó.   •— | j                  ‰ddd¬«      S )Nr$   r   Tr-   r!   r   s    €r   r   z,parametrize_suggest_method.<locals>.<lambda>(   s   ø€ �a—m‘m D¨!¨R°T�mÓ:€ r   )ÚpytestÚmarkÚparametrize)r   s   `r   Úparametrize_suggest_methodr3      s;   ø€ Ü�;‰;×"Ñ"Ø
˜$˜Ð ã2Û0Û<Û<Û?Û:ð	
ó
ð 
r   c                ó‚   — | j                   j                  | j                  «      }| j                   j                  |«      S ©N)Ú_storageÚcreate_new_trialÚ	_study_idÚ	get_trial)ÚstudyÚtrial_ids     r   Ú_create_new_trialr<   -   s/   € Ø�~‰~×.Ñ.¨u¯©Ó?€HØ�>‰>×#Ñ# HÓ-Ð-r   c                  ól   — e Zd Z	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 d	d„Zy)
ÚFixedSamplerc                ó.   — || _         || _        || _        y r5   )Úrelative_search_spaceÚrelative_paramsÚunknown_param_value)Úselfr@   rA   rB   s       r   Ú__init__zFixedSampler.__init__3   s   € ð &;ˆÔ"Ø.ˆÔØ#6ˆÕ r   c                ó   — | j                   S r5   )r@   )rC   r:   Útrials      r   Úinfer_relative_search_spacez(FixedSampler.infer_relative_search_space=   s   € ð ×)Ñ)Ð)r   c                ó   — | j                   S r5   )rA   )rC   r:   rF   Úsearch_spaces       r   Úsample_relativezFixedSampler.sample_relativeB   s   € ð ×#Ñ#Ð#r   c                ó   — | j                   S r5   )rB   )rC   r:   rF   Ú
param_nameÚparam_distributions        r   Úsample_independentzFixedSampler.sample_independentG   s   € ð ×'Ñ'Ð'r   N)r@   údict[str, BaseDistribution]rA   údict[str, Any]rB   r   ÚreturnÚNone)r:   r   rF   r   rQ   rO   )r:   r   rF   r   rI   rO   rQ   rP   )
r:   r   rF   r   rL   ÚstrrM   r   rQ   r   )Ú__name__Ú
__module__Ú__qualname__rD   rG   rJ   rN   © r   r   r>   r>   2   s¤   „ ð7à:ð7ð (ð7ð !ð	7ð
 
ó7ð*Øð*Ø#.ð*à	$ó*ð
$Øð$Ø#.ð$Ø>Yð$à	ó$ð
(àð(ð ð(ð ð	(ð
 -ð(ð 
ô(r   r>   c                  ó2   — e Zd Zej                  dd„«       Zy)Ú_BaseSamplerTestCasec                ó   — t         ‚r5   )ÚNotImplementedError)rC   s    r   Úsamplerz_BaseSamplerTestCase.samplerR   s   € ä!Ð!r   N)rQ   úCallable[[], BaseSampler])rT   rU   rV   r0   Úfixturer\   rW   r   r   rY   rY   Q   s   „ Ø‡^�^ò"ó ñ"r   rY   c                  óÖ  — e Zd Zej                  j                  d edd«       edd«       edd«       eddd¬«       edd	d
¬«       eddd
¬«      g«      	 	 	 	 	 	 d$d„«       Zej                  j                  d edd	«       edd	«       edd«       edd	d¬«       edd	d¬«       eddd¬«       eddd¬«      g«      d%d„«       Z	ej                  j                  dg d¢«      	 	 	 	 	 	 d&d„«       Z
d'd„Zd'd„Zd'd„Zd'd„Z ed«      	 	 	 	 	 	 d(d„«       Zd'd„Z ed«       ed«      	 	 	 	 	 	 	 	 d)d„«       «       Zej                  j                  d g d!¢«      	 	 	 	 	 	 	 	 d*d"„«       Zy#)+ÚBasicSamplerTestCaseÚdistributionç      ð¿ç      ð?ç        r,   Tr-   éöÿÿÿr   çš™™™™™¹?r)   çffffff$Àçffffff$@c                óÌ  — t         j                  j                   |«       ¬«      }t        j                  t        d«      D �cg c])  }|j                  j                  |t        |«      d|«      ‘Œ+ c}«      }t        j                  ||j                  k\  «      sJ ‚t        j                  ||j                  k  «      sJ ‚t        |j                  j                  |t        |«      d|«      t        j                  «      rJ ‚|j                  �T||j                  z  }||j                  z  }t        j                  |«      }t        j                   j#                  ||«       y y c c}w ©N©r\   éd   Úx)Úoptunar:   Úcreate_studyÚnpÚarrayÚranger\   rN   r<   ÚallÚlowÚhighÚ
isinstanceÚfloatingr*   ÚroundÚtestingÚassert_almost_equal)rC   r\   ra   r:   Ú_ÚpointsÚround_pointss          r   Ú
test_floatzBasicSamplerTestCase.test_floatX   s5  € ô  —‘×)Ñ)±'³)Ð)Ó<ˆÜ—‘ô
 ˜s›ö	ð ð —‘×0Ñ0ØÔ,¨UÓ3°S¸,õòó
ˆô �v‰v�f × 0Ñ 0Ñ0Ô1Ð1Ð1Ü�v‰v�f × 1Ñ 1Ñ1Ô2Ð2Ð2ÜØ�M‰M×,Ñ,¨UÔ4EÀeÓ4LÈcÐS_Ó`Ü�K‰Kô
ð 	
ð 
ð
 ×ÑÐ(à�l×&Ñ&Ñ&ˆFØ�l×'Ñ'Ñ'ˆFÜŸ8™8 FÓ+ˆLÜ�J‰J×*Ñ*¨<¸Õ@ð )ùòs   Á.E!r   r%   r$   rl   c                ó  — t         j                  j                   |«       ¬«      }t        j                  t        d«      D �cg c])  }|j                  j                  |t        |«      d|«      ‘Œ+ c}«      }t        j                  ||j                  k\  «      sJ ‚t        j                  ||j                  k  «      sJ ‚t        |j                  j                  |t        |«      d|«      t        j                  «      rJ ‚y c c}w rj   )rn   r:   ro   rp   rq   rr   r\   rN   r<   rs   rt   ru   rv   Úinteger)rC   r\   ra   r:   r{   r|   s         r   Útest_intzBasicSamplerTestCase.test_int   så   € ô —‘×)Ñ)±'³)Ð)Ó<ˆÜ—‘ô
 ˜s›ö	ð ð —‘×0Ñ0ØÔ,¨UÓ3°S¸,õòó
ˆô �v‰v�f × 0Ñ 0Ñ0Ô1Ð1Ð1Ü�v‰v�f × 1Ñ 1Ñ1Ô2Ð2Ð2ÜØ�M‰M×,Ñ,¨UÔ4EÀeÓ4LÈcÐS_Ó`Ü�J‰Jô
ð 	
ð 
ð 
ùòs   Á.DÚchoices)©r$   r%   é   ©ÚaÚbÚc©r$   r†   c                óà  ‡‡— t        |«      Št        j                  j                   |«       ¬«      Šdˆˆfd„}t	        j
                  t        d«      D �cg c]	  } |«       ‘Œ c}«      }t	        j                  |dk\  «      sJ ‚t	        j                  |t        ‰j                  «      dz
  k  «      sJ ‚t	        j                  |«      }t        j                  j                  ||«       y c c}w )Nrk   c                 óŠ   •— t        ‰«      } ‰j                  j                  ‰| d‰«      }t        ‰j	                  |«      «      S )Nrm   )r<   r\   rN   ÚfloatÚto_internal_repr)rF   Úparam_valuera   r:   s     €€r   Úsamplez5BasicSamplerTestCase.test_categorical.<locals>.sample¤   s=   ø€ Ü% eÓ,ˆEØŸ-™-×:Ñ:¸5À%ÈÈlÓ[ˆKÜ˜×6Ñ6°{ÓCÓDÐDr   rl   r   r$   )rQ   rŒ   )r   rn   r:   ro   rp   Úasarrayrr   rs   Úlenr‚   rx   ry   rz   )	rC   r\   r‚   r�   Úir|   r}   ra   r:   s	          @@r   Útest_categoricalz%BasicSamplerTestCase.test_categoricalœ   sµ   ù€ ô /¨wÓ7ˆä—‘×)Ñ)±'³)Ð)Ó<ˆö	Eô
 —‘¬u°S«zÖ:¨!™V�XÒ:Ó;ˆô �v‰v�f ‘kÔ"Ð"Ð"Ü�v‰v�f¤ L×$8Ñ$8Ó 9¸AÑ =Ñ=Ô>Ð>Ð>Ü—x‘x Ó'ˆÜ
�
‰
×&Ñ& |°VÕ<ùò ;s   ÁC+c                óà  — t         j                  j                   |«       ¬«      }t        ddg¬«      }t        ddg¬«      }|j	                  t        j
                  dddœ||dœd¬	«      «       |j	                  t        j
                  ddd
œ||d
œd¬	«      «       t        |«      }|j                  j                  ||d|«      }|dv sJ ‚|j                  j                  ||||«      }|dv sJ ‚y )Nrk   rm   Úy)r‚   r†   r‡   )Úcategoryrm   rf   )ÚparamsÚdistributionsÚvalue)r–   r•   r–   ©rm   r•   )r†   r‡   )	rn   r:   ro   r   Ú	add_trialÚcreate_trialr<   r\   rN   )rC   r\   r:   Úcategorical_distributionÚdependent_distributionÚ_trialr–   r™   s           r   Ú#test_conditional_sample_independentz8BasicSamplerTestCase.test_conditional_sample_independent±   sü   € ô —‘×)Ñ)±'³)Ð)Ó<ˆÜ#:ÀCÈÀ:Ô#NÐ Ü!8À#ÀsÀÔ!LÐà�‰Ü×ÑØ$'¨cÑ2Ø+CÐJ`ÑaØôô	
ð 	�‰Ü×ÑØ$'¨cÑ2Ø+CÐJ`ÑaØôô	
ô # 5Ó)ˆØ—=‘=×3Ñ3Ø�6˜:Ð'?ó
ˆð ˜:Ñ%Ð%Ð%Ø—‘×0Ñ0°¸ÀÐJ`ÓaˆØ˜
Ñ"Ð"Ñ"r   c                ó’  ‡‡— t        j                   |«       ¬«      }dd„Št        ddd«      D ]  Š|j                  ˆˆfd„dd¬«       Œ t	        |j
                  «      d	k(  sJ ‚|j                  ˆfd
„dd¬«       t	        |j
                  «      d	k(  sJ ‚|j                  ˆfd„dd¬«       t	        |j
                  «      dk(  sJ ‚y )Nrk   c                ó.   — | j                  ddd«      |z   S )Nrm   rf   gš™™™™™É?r   )rF   Ú
base_values     r   Ú	objectivez@BasicSamplerTestCase.test_nan_objective_value.<locals>.objectiveÔ   s   € Ø×&Ñ& s¨C°Ó5¸
ÑBÐBr   r   r$   éÿÿÿÿc                ó   •—  ‰| ‰«      S r5   rW   )r   r’   r¤   s    €€r   r   z?BasicSamplerTestCase.test_nan_objective_value.<locals>.<lambda>Ù   s   ø€ ¡Y¨q°!£_€ r   rW   )Ún_trialsÚcatchr%   c                ó(   •—  ‰| t        d«      «      S )NÚnan)rŒ   ©r   r¤   s    €r   r   z?BasicSamplerTestCase.test_nan_objective_value.<locals>.<lambda>Ý   s   ø€ ¡¨1¬e°E«lÓ!;€ r   c                ó   •—  ‰| d«      S )Nr$   rW   r«   s    €r   r   z?BasicSamplerTestCase.test_nan_objective_value.<locals>.<lambda>á   s   ø€ ¡¨1¨a£€ r   )rF   r   r£   rŒ   rQ   rŒ   )rn   ro   rr   ÚoptimizeÚintÚ
best_value)rC   r\   r:   r’   r¤   s      @@r   Útest_nan_objective_valuez-BasicSamplerTestCase.test_nan_objective_valueÑ   s¿   ù€ Ü×#Ñ#©G«IÔ6ˆó	Cô �r˜1˜bÓ!ò 	LˆAØ�N‰NÔ4¸qÈˆNÕKð	Lä�5×#Ñ#Ó$¨Ò)Ð)Ð)ð 	�‰Ó;ÀaÈrˆÔRÜ�5×#Ñ#Ó$¨Ò)Ð)Ð)ð 	�‰Ó0¸1ÀBˆÔGÜ�5×#Ñ#Ó$¨Ò)Ð)Ñ)r   c                óî  — t        j                   |«       ¬«      }d	d„}|j                  |d¬«       ddi}t        j                  «       5  t        j
                  dt         j                  j                  «       t         j                  j                  ||j                  «      |_
        d d d «       |j                  |d¬«       |j                  d   j                  }|d   |d   k(  sJ ‚y # 1 sw Y   ŒCxY w)
Nrk   c                ó„   — | j                  ddd«      }| j                  ddd«      }| j                  ddd«      }||z   |z   S )Nrm   r¥   r$   r•   Úz©r   r"   )rF   rm   r•   r³   s       r   r¤   zCBasicSamplerTestCase.test_partial_fixed_sampling.<locals>.objectiveç   sL   € Ø×#Ñ# C¨¨QÓ/ˆAØ×!Ñ! # r¨1Ó-ˆAØ×#Ñ# C¨¨QÓ/ˆAØ�q‘5˜1‘9Ðr   r$   ©r§   r•   r   Úignorer¥   ©rF   r   rQ   rŒ   )rn   ro   r­   ÚwarningsÚcatch_warningsÚsimplefilterÚ
exceptionsÚExperimentalWarningÚsamplersÚPartialFixedSamplerr\   Útrialsr—   )rC   r\   r:   r¤   Úfixed_paramsÚtrial_paramss         r   Útest_partial_fixed_samplingz0BasicSamplerTestCase.test_partial_fixed_samplingä   sÑ   € Ü×#Ñ#©G«IÔ6ˆó	ð 	�‰�y¨1ˆÔ-ð ˜Q�xˆÜ×$Ñ$Ó&ñ 	]Ü×!Ñ! (¬F×,=Ñ,=×,QÑ,QÔRÜ"ŸO™O×?Ñ?ÀÈeÏmÉmÓ\ˆEŒM÷	]ð 	�‰�y¨1ˆÔ-Ø—|‘| BÑ'×.Ñ.ˆØ˜CÑ  L°Ñ$5Ò5Ð5Ñ5÷	]ð 	]ús   ÁAC+Ã+C4c           
     óT  — t        dg«      t        dd¬«      t        ddd¬«      t        dd¬«      t        ddd¬«      t        ddd¬«      dœ}t        j                  «       5  t        j
                  dt        j                  j                  «        |«       }d d d «       t        j                  j                  ¬	«      }t        d
«      D ]O  }|j                  |¬«      }|j                  |d«       |j                  «       D ]  }|j                  |   dk(  rŒJ ‚ ŒQ y # 1 sw Y   Œ‡xY w)Nr$   )rt   ru   T)rt   ru   r.   rc   )rt   ru   r*   )r†   r‡   rˆ   ÚdÚeÚfr¶   rk   r%   )Úfixed_distributions)r   r
   r	   r¸   r¹   rº   rn   r»   r¼   r:   ro   rr   ÚaskÚtellÚkeysr—   )rC   r\   r@   Úsampler_r:   r{   rF   rL   s           r   Útest_sample_single_distributionz4BasicSamplerTestCase.test_sample_single_distributionù   s  € ä(¨!¨Ó-Ü  Q¨QÔ/Ü  Q¨Q°DÔ9Ü" s°Ô5Ü" s°¸$Ô?Ü" s°¸3Ô?ñ!
Ðô ×$Ñ$Ó&ñ 	!Ü×!Ñ! (¬F×,=Ñ,=×,QÑ,QÔRÙ“yˆH÷	!ô —‘×)Ñ)°(Ð)Ó;ˆô �q“ò 	5ˆAØ—I‘IÐ2G�IÓHˆEØ�J‰J�u˜cÔ"Ø3×8Ñ8Ó:ò 5�
Ø—|‘| JÑ/°1Ó4Ð4Ð4ñ5ñ	5÷	!ð 	!ús   Á"6DÄD'rm   c                ó¤  ‡— dˆfd„}t        j                  «       5  t        j                  dt        j                  j
                  «        |«       }d d d «       t        j                  j                  ¬«      }|j                  |d¬«       t        |j                  «      dk(  sJ ‚t        d„ |j                  D «       «      sJ ‚y # 1 sw Y   ŒuxY w)Nc                ó   •—  ‰| «      S r5   rW   )rF   Úsuggest_method_xs    €r   r¤   zGBasicSamplerTestCase.test_single_parameter_objective.<locals>.objective  s   ø€ Ù# EÓ*Ð*r   r¶   rk   r   rµ   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr5   ©Ústater   ÚCOMPLETE©Ú.0r   s     r   ú	<genexpr>zGBasicSamplerTestCase.test_single_parameter_objective.<locals>.<genexpr>  ó   è ø€ ÒH°a�1—7‘7œj×1Ñ1Õ1ÑHùó   ‚')r·   ©r¸   r¹   rº   rn   r»   r¼   r:   ro   r­   r‘   r¿   rs   )rC   r\   rÏ   r¤   rË   r:   s     `   r   Útest_single_parameter_objectivez4BasicSamplerTestCase.test_single_parameter_objective  s¦   ø€ õ	+ô ×$Ñ$Ó&ñ 	!Ü×!Ñ! (¬F×,=Ñ,=×,QÑ,QÔRÙ“yˆH÷	!ô —‘×)Ñ)°(Ð)Ó;ˆØ�‰�y¨2ˆÔ.ä�5—<‘<Ó  BÒ&Ð&Ð&ÜÑH¸5¿<¹<ÔHÔHÐHÑH÷	!ð 	!ús   œ6CÃCc                óž  — dd„}t        j                  «       5  t        j                  dt        j                  j
                  «        |«       }d d d «       t        j                  j                  ¬«      }|j                  |d¬«       t        |j                  «      dk(  sJ ‚t        d„ |j                  D «       «      sJ ‚y # 1 sw Y   ŒuxY w)Nc                óz   — | j                  dddg«      }|r| j                  ddd«      S | j                  ddd«      S )Nrm   TFr•   r   r$   r³   )r&   r   )rF   rm   s     r   r¤   zLBasicSamplerTestCase.test_conditional_parameter_objective.<locals>.objective!  sE   € Ø×)Ñ)¨#°°e¨}Ó=ˆAÙØ×*Ñ*¨3°°1Ó5Ð5Ø×&Ñ& s¨A¨qÓ1Ð1r   r¶   rk   r   rµ   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr5   rÑ   rÔ   s     r   rÖ   zLBasicSamplerTestCase.test_conditional_parameter_objective.<locals>.<genexpr>/  r×   rØ   r·   rÙ   )rC   r\   r¤   rË   r:   s        r   Ú$test_conditional_parameter_objectivez9BasicSamplerTestCase.test_conditional_parameter_objective   s¥   € ó	2ô ×$Ñ$Ó&ñ 	!Ü×!Ñ! (¬F×,=Ñ,=×,QÑ,QÔRÙ“yˆH÷	!ô —‘×)Ñ)°(Ð)Ó;ˆØ�‰�y¨2ˆÔ.ä�5—<‘<Ó  BÒ&Ð&Ð&ÜÑH¸5¿<¹<ÔHÔHÐHÑH÷	!ð 	!ús   ™6CÃCr•   c                ó¨  ‡‡— dˆˆfd„}t        j                  «       5  t        j                  dt        j                  j
                  «        |«       }d d d «       t        j                  j                  ¬«      }|j                  |d¬«       t        |j                  «      dk(  sJ ‚t        d„ |j                  D «       «      sJ ‚y # 1 sw Y   ŒuxY w)Nc                ó&   •—  ‰| «       ‰| «      z   S r5   rW   )rF   rÏ   Úsuggest_method_ys    €€r   r¤   z]BasicSamplerTestCase.test_combination_of_different_distributions_objective.<locals>.objective9  s   ø€ Ù# EÓ*Ñ-=¸eÓ-DÑDÐDr   r¶   rk   r„   rµ   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr5   rÑ   rÔ   s     r   rÖ   z]BasicSamplerTestCase.test_combination_of_different_distributions_objective.<locals>.<genexpr>D  r×   rØ   r·   rÙ   )rC   r\   rÏ   rá   r¤   rË   r:   s     ``   r   Ú5test_combination_of_different_distributions_objectivezJBasicSamplerTestCase.test_combination_of_different_distributions_objective1  s§   ù€ ö	Eô ×$Ñ$Ó&ñ 	!Ü×!Ñ! (¬F×,=Ñ,=×,QÑ,QÔRÙ“yˆH÷	!ô —‘×)Ñ)°(Ð)Ó;ˆØ�‰�y¨1ˆÔ-ä�5—<‘<Ó  AÒ%Ð%Ð%ÜÑH¸5¿<¹<ÔHÔHÐHÑH÷	!ð 	!ús   ž6CÃCzsecond_low,second_high))r   é   )r   é   )rå   é   c                óÚ  ‡‡‡— d
d„Št        j                  «       5  t        j                  dt        j                  j
                  «        |«       }d d d «       t        j                  j                  ¬«      }|j                  ˆfd„d¬«       |j                  ˆˆˆfd„d¬«       t        |j                  «      dk(  sJ ‚t        d	„ |j                  D «       «      sJ ‚y # 1 sw Y   Œ�xY w)Nc                óX   — | j                  d||«      }|| j                  d||«      z  }|S )Nrm   r•   r´   )rF   rt   ru   Úvs       r   r¤   zDBasicSamplerTestCase.test_dynamic_range_objective.<locals>.objectiveQ  s4   € Ø×#Ñ# C¨¨dÓ3ˆAØ�×"Ñ" 3¨¨TÓ2Ñ2ˆAØˆHr   r¶   rk   c                ó   •—  ‰| dd«      S r   rW   r«   s    €r   r   zCBasicSamplerTestCase.test_dynamic_range_objective.<locals>.<lambda>[  s   ø€ ¡¨1¨a°Ó!4€ r   r   rµ   c                ó   •—  ‰| ‰‰«      S r5   rW   )r   r¤   Úsecond_highÚ
second_lows    €€€r   r   zCBasicSamplerTestCase.test_dynamic_range_objective.<locals>.<lambda>\  s   ø€ ¡¨1¨j¸+Ó!F€ r   rå   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr5   rÑ   rÔ   s     r   rÖ   zDBasicSamplerTestCase.test_dynamic_range_objective.<locals>.<genexpr>_  r×   rØ   )rF   r   rt   r®   ru   r®   rQ   rŒ   rÙ   )rC   r\   rí   rì   rË   r:   r¤   s     ``  @r   Útest_dynamic_range_objectivez1BasicSamplerTestCase.test_dynamic_range_objectiveF  s¹   ú€ ó	ô
 ×$Ñ$Ó&ñ 	!Ü×!Ñ! (¬F×,=Ñ,=×,QÑ,QÔRÙ“yˆH÷	!ô —‘×)Ñ)°(Ð)Ó;ˆØ�‰Ó4¸rˆÔBØ�‰ÕFÐQSˆÔTä�5—<‘<Ó  BÒ&Ð&Ð&ÜÑH¸5¿<¹<ÔHÔHÐHÑH÷	!ð 	!ús   œ6C!Ã!C*N)r\   r]   ra   r	   rQ   rR   )r\   r]   ra   r
   rQ   rR   )r\   r]   r‚   zSequence[CategoricalChoiceType]rQ   rR   ©r\   r]   rQ   rR   )r\   r]   rÏ   úCallable[[Trial], float]rQ   rR   )r\   r]   rÏ   rñ   rá   rñ   rQ   rR   )r\   r]   rí   r®   rì   r®   rQ   rR   )rT   rU   rV   r0   r1   r2   r	   r~   r
   r�   r“   r    r°   rÂ   rÌ   r3   rÚ   rÞ   rã   rï   rW   r   r   r`   r`   W   s:  „ Ø‡[�[×ÑØá˜d CÓ(Ù˜c 3Ó'Ù˜d CÓ(Ù˜d C¨TÔ2Ù˜c 2¨CÔ0Ù˜e T°Ô4ð	
ó
ðAà*ðAð (ðAð 
ò	Aó
ðAð8 ‡[�[×ÑØá˜C Ó$Ù˜A˜rÓ"Ù˜C Ó#Ù˜C ¨!Ô,Ù˜A˜r¨Ô*Ù˜C ¨Ô+Ù˜A˜s¨Ô-ð	
óò
óð
ð" ‡[�[×Ñ˜YÒ(NÓOð=Ø0ð=Ø;Zð=à	ò=ó Pð=ó(#ó@*ó&6ó*5ñ,   Ó$ðIØ0ðIØD\ðIà	òIó %ðIó Iñ"   Ó$Ù Ó$ðIà*ðIð 3ðIð 3ð	Ið
 
òIó %ó %ðIð& ‡[�[×ÑØ ò	
óðIØ0ðIØ>AðIØPSðIà	òIóñIr   r`   c                  ó€  — e Zd Zej                  j                  d edd«       eddd¬«       eddd	¬
«       edd«       eddd¬«       eddd¬
«      g«      ej                  j                  d edd«       eddd¬«       eddd	¬
«       edd«       eddd¬«       eddd¬
«      g«      	 	 	 	 	 	 	 	 dd„«       «       Zdd„Z	ej                  j                  d edd«       eddd¬«       eddd	¬
«       edd«       eddd¬«      g«      	 	 	 	 	 	 dd„«       Z
ej                  j                  dddg«      dd„«       Zy)ÚRelativeSamplerTestCaseÚx_distributionrb   rc   r,   Tr-   re   r   r(   r)   r„   r$   rl   é	   r%   Úy_distributionc                ó´  ‡‡— t        ||¬«      Št        j                  j                   |«       ¬«      Š‰j	                  ‰«      }‰j                  |t        |j                  j                  «       «      «       dˆˆfd„}t        j                  t        d«      D �cg c]	  } |«       ‘Œ c}«      }t        ‰j                  «       «      D ]s  \  }}	t        |	t        t        f«      sJ ‚t        j                   |d d …|f   |	j"                  k\  «      sJ ‚t        j                   |d d …|f   |	j$                  k  «      rŒsJ ‚ t'         |«       ‰j                  «       «      D ]r  \  }
}	t        |
t        j(                  «      rJ ‚t        |
t        j*                  «      rJ ‚t        |	t        «      rt        |
t,        «      rŒ_J ‚t        |
t.        «      rŒrJ ‚ y c c}w )Nrš   rk   c                 ó€   •— ‰j                   j                  ‰t        ‰«      ‰«      } ‰D �cg c]  }| |   ‘Œ	 c}S c c}w r5   ©r\   rJ   r<   ©r—   r   rI   r:   s     €€r   r�   zFRelativeSamplerTestCase.test_sample_relative_numerical.<locals>.sample„  ó:   ø€ Ø—]‘]×2Ñ2°5Ô:KÈEÓ:RÐT`ÓaˆFØ-9Ö: T�F˜4“LÒ:Ð:ùÒ:ó   ¬;r   )rQ   zlist[int | float])Údictrn   r:   ro   rÈ   rÉ   Úsumr—   Úvaluesrp   rq   rr   Ú	enumeraterv   r	   r
   rs   rt   ru   Úziprw   r€   r®   rŒ   )rC   r\   rô   rö   rF   r�   r{   r|   r’   ra   rŽ   rI   r:   s              @@r   Útest_sample_relative_numericalz6RelativeSamplerTestCase.test_sample_relative_numericalc  sŠ  ù€ ô8 59¸>È^Ô4\ˆÜ—‘×)Ñ)±'³)Ð)Ó<ˆØ—	‘	˜,Ó'ˆØ�
‰
�5œ#˜eŸl™l×1Ñ1Ó3Ó4Ô5ö	;ô —‘¬U°2«YÖ7¨™6�8Ò7Ó8ˆÜ(¨×)<Ñ)<Ó)>Ó?ò 		=‰OˆAˆ|ÜØä%Ü#ðôð ð ô —6‘6˜&¢ A ™,¨,×*:Ñ*:Ñ:Ô;Ð;Ð;Ü—6‘6˜&¢ A ™,¨,×*;Ñ*;Ñ;Õ<Ð<Ð<ð		=ô *-©V«X°|×7JÑ7JÓ7LÓ)Mò 	6Ñ%ˆK˜Ü! +¬r¯{©{Ô;Ð;Ð;Ü! +¬r¯z©zÔ:Ð:Ð:Ü˜,¬Ô8Ü! +¬sÕ3Ð3Ð3ä! +¬uÕ5Ð5Ð5ñ	6ùò 8s   ÂGc                ó&  ‡
‡— t        t        g d¢«      t        g d¢«      ¬«      Š
t        j                  j	                   |«       ¬«      Š‰j                  ‰
«      }‰j                  |t        |j                  j                  «       «      «       dˆ
ˆfd„}t        j                  t        d«      D �cg c]	  } |«       ‘Œ c}«      }t        ‰
j                  «       «      D ]O  \  }}t        |t        «      sJ ‚t        j                  |d d …|f   D �cg c]  }||j                   v ‘Œ c}«      rŒOJ ‚  |«       D ]L  }	t        |	t        j"                  «      rJ ‚t        |	t        j$                  «      rJ ‚t        |	t&        «      rŒLJ ‚ y c c}w c c}w )N)r$   r   rl   ©r¥   re   iœÿÿÿrš   rk   c                 ó€   •— ‰j                   j                  ‰t        ‰«      ‰«      } ‰D �cg c]  }| |   ‘Œ	 c}S c c}w r5   rù   rú   s     €€r   r�   zHRelativeSamplerTestCase.test_sample_relative_categorical.<locals>.sample£  rû   rü   r   ©rQ   zlist[float])rý   r   rn   r:   ro   rÈ   rÉ   rþ   r—   rÿ   rp   rq   rr   r   rv   rs   r‚   rw   r€   r®   )rC   r\   rF   r�   r{   r|   r’   ra   ré   rŽ   rI   r:   s             @@r   Ú test_sample_relative_categoricalz8RelativeSamplerTestCase.test_sample_relative_categorical›  sF  ù€ Ü48Ü%¢lÓ3Ô7NÊÓ7_ô5
ˆô —‘×)Ñ)±'³)Ð)Ó<ˆØ—	‘	˜,Ó'ˆØ�
‰
�5œ#˜eŸl™l×1Ñ1Ó3Ó4Ô5ö	;ô —‘¬U°2«YÖ7¨™6�8Ò7Ó8ˆÜ(¨×)<Ñ)<Ó)>Ó?ò 	M‰OˆAˆ|Ü˜lÔ,CÔDÐDÐDÜ—6‘6¸fÂQÈÀT¹lÖK¸˜1 × 4Ñ 4Ò4ÒKÕLÐLÐLð	Mñ "›8ò 	0ˆKÜ! +¬r¯{©{Ô;Ð;Ð;Ü! +¬r¯z©zÔ:Ð:Ð:Ü˜k¬3Õ/Ð/Ð/ñ	0ùò	 8ùò Ls   Â2F	ÄF
c                óP  ‡
‡— t        |t        g d¢«      ¬«      Š
t        j                  j	                   |«       ¬«      Š‰j                  ‰
«      }‰j                  |t        |j                  j                  «       «      «       d
ˆ
ˆfd„}t        j                  t        d«      D �cg c]	  } |«       ‘Œ c}«      }t        ‰
d   t        t        f«      sJ ‚t        j                   |d d …df   ‰
d   j"                  k\  «      sJ ‚t        j                   |d d …df   ‰
d   j$                  k  «      sJ ‚t        ‰
d   t        «      sJ ‚t        j                   |d d …d	f   D �cg c]  }|‰
d   j&                  v ‘Œ c}«      sJ ‚t)         |«       ‰
j                  «       «      D ]x  \  }}	t        |t        j*                  «      rJ ‚t        |t        j,                  «      rJ ‚t        |	t        t        f«      rt        |t.        «      rŒeJ ‚t        |t0        «      rŒxJ ‚ y c c}w c c}w )Nr  rš   rk   c                 ó€   •— ‰j                   j                  ‰t        ‰«      ‰«      } ‰D �cg c]  }| |   ‘Œ	 c}S c c}w r5   rù   rú   s     €€r   r�   zBRelativeSamplerTestCase.test_sample_relative_mixed.<locals>.sampleÄ  rû   rü   r   rm   r   r•   r$   r  )rý   r   rn   r:   ro   rÈ   rÉ   rþ   r—   rÿ   rp   rq   rr   rv   r	   r
   rs   rt   ru   r‚   r  rw   r€   r®   rŒ   )rC   r\   rô   rF   r�   r{   r|   ré   rŽ   ra   rI   r:   s             @@r   Útest_sample_relative_mixedz2RelativeSamplerTestCase.test_sample_relative_mixed°  sà  ù€ ô 59ØÔ 7ºÓ Hô5
ˆô —‘×)Ñ)±'³)Ð)Ó<ˆØ—	‘	˜,Ó'ˆØ�
‰
�5œ#˜eŸl™l×1Ñ1Ó3Ó4Ô5ö	;ô —‘¬U°2«YÖ7¨™6�8Ò7Ó8ˆÜØ˜Ñä!Üðô
ð 	
ð 
ô �v‰v�fšQ ˜T‘l l°3Ñ&7×&;Ñ&;Ñ;Ô<Ð<Ð<Ü�v‰v�fšQ ˜T‘l l°3Ñ&7×&<Ñ&<Ñ<Ô=Ð=Ð=Ü˜, sÑ+Ô-DÔEÐEÐEÜ�v‰v¸vÂaÈÀd¹|ÖL¸!�q˜L¨Ñ-×5Ñ5Ò5ÒLÔMÐMÐMÜ),©V«X°|×7JÑ7JÓ7LÓ)Mò 	6Ñ%ˆK˜Ü! +¬r¯{©{Ô;Ð;Ð;Ü! +¬r¯z©zÔ:Ð:Ð:ÜØä#Ü+ðôô " +¬sÕ3Ð3Ð3ä! +¬uÕ5Ð5Ð5ñ	6ùò 8ùò Ms   Â'HÅ"H#Ún_jobsc                ó‚   —  |«       }t         j                  j                  |¬«      }dd„}|j                  |d|¬«       y )Nrk   c                óˆ   — | j                   �J ‚| j                  ddd«       | j                  ddd«       | j                   €J ‚y)Nrm   re   r   r•   r¥   )Ú_relative_paramsr   )rF   s    r   r¤   zERelativeSamplerTestCase.test_trial_relative_params.<locals>.objectiveè  sM   € Ø×)Ñ)Ð1Ð1Ð1à×Ñ  S¨"Ô-Ø×Ñ  S¨"Ô-Ø×)Ñ)Ð5Ð5Ð5Ør   r   )r§   r  r·   )rn   r:   ro   r­   )rC   r  r\   rË   r:   r¤   s         r   Útest_trial_relative_paramsz2RelativeSamplerTestCase.test_trial_relative_paramsâ  s;   € ñ “9ˆÜ—‘×)Ñ)°(Ð)Ó;ˆó	ð 	�‰�y¨2°fˆÕ=r   N)r\   r]   rô   r   rö   r   rQ   rR   rð   )r\   r]   rô   r   rQ   rR   )r  r®   r\   r]   rQ   rR   )rT   rU   rV   r0   r1   r2   r	   r
   r  r  r
  r  rW   r   r   ró   ró   b  s¥  „ Ø‡[�[×ÑØá˜d CÓ(Ù˜d C¨TÔ2Ù˜c 2¨CÔ0Ù˜A˜rÓ"Ù˜A˜s¨Ô-Ù˜A˜q qÔ)ð	
ó
ð ‡[�[×ÑØá˜d CÓ(Ù˜d C¨TÔ2Ù˜c 2¨CÔ0Ù˜A˜rÓ"Ù˜A˜s¨Ô-Ù˜A˜q qÔ)ð	
ó
ð 6à*ð 6ð )ð 6ð )ð	 6ð
 
ò 6ó
ó
ð, 6óD0ð* ‡[�[×ÑØá˜d CÓ(Ù˜d C¨TÔ2Ù˜c 2¨CÔ0Ù˜A˜rÓ"Ù˜A˜s¨Ô-ð	
ó	ð&6Ø0ð&6ØBRð&6à	ò&6ó	ð&6ðP ‡[�[×Ñ˜X¨¨1 vÓ.ò>ó /ñ>r   ró   c                  ót  — e Zd Zej                  j                  d edd«       edd«       edd«       eddd¬«       edd	d
¬«       eddd
¬«       edd	«       edd	«       edd«       edd	d¬«       edd	d¬«       eddd¬«       eddd¬«       ed«       ed«       ed«      g«      	 	 	 	 	 	 dd„«       Z	y)ÚMultiObjectiveSamplerTestCasera   rb   rc   rd   r,   Tr-   re   r   rf   r)   rg   rh   r   r%   r$   rl   rƒ   r…   r‰   c                ó@  — t         j                  j                  ddg |«       ¬«      }t        d«      D ]è  }|j                  j                  |t        |«      d|«      }|j                  |j                  |«      «      sJ ‚t        |t        «      st        |t        j                  «      rJ ‚t        |t        «      sŒ‰|j                  €Œ–||j                  z  }||j                  z  }t        j                   |«      }t        j"                  j%                  ||«       Œê y )NÚminimizeÚmaximize©Ú
directionsr\   rl   rm   )rn   r:   ro   rr   r\   rN   r<   Ú	_containsr�   rv   r   rp   rw   r	   r*   rt   rx   ry   rz   )rC   r\   ra   r:   r’   r™   Úround_values          r   Ú'test_multi_objective_sample_independentzEMultiObjectiveSamplerTestCase.test_multi_objective_sample_independentô  sú   € ô4 —‘×)Ñ)°jÀ*Ð5MÑW^ÓW`Ð)ÓaˆÜ�s“ò 	GˆAØ—M‘M×4Ñ4ØÔ(¨Ó/°°lóˆEð  ×)Ñ)¨,×*GÑ*GÈÓ*NÔOÐOÐOä˜lÔ,CÔDô & e¬R¯[©[Ô9Ð9Ð9ä˜,Ô(9Õ:Ø×$Ñ$Ñ0ð ˜\×-Ñ-Ñ-�EØ˜\×.Ñ.Ñ.�EÜ"$§(¡(¨5£/�KÜ—J‘J×2Ñ2°;ÀÕFñ%	Gr   N)r\   r]   ra   r   rQ   rR   )
rT   rU   rV   r0   r1   r2   r	   r
   r   r  rW   r   r   r  r  ó  sô   „ Ø‡[�[×ÑØá˜d CÓ(Ù˜c 3Ó'Ù˜d CÓ(Ù˜d C¨TÔ2Ù˜c 2¨CÔ0Ù˜e T°Ô4Ù˜C Ó$Ù˜A˜rÓ"Ù˜C Ó#Ù˜C ¨!Ô,Ù˜A˜r¨Ô*Ù˜C ¨Ô+Ù˜A˜s¨Ô-Ù# IÓ.Ù# OÓ4Ù# HÓ-ð!	
óð*Gà*ðGð 'ðGð 
ò	Gó+ñ*Gr   r  c                  ó   — e Zd Z	 	 	 	 dd„Zy)ÚSingleOnlySamplerTestCasec           	     óö  — t         j                  j                  ddg |«       ¬«      }t        dd«      }t	        j
                  t        «      5  |j                  j                  |t        |«      d|«       d d d «       t	        j
                  t        «      5  t        |«      }|j                  j                  |||j                  j                  ||«      «       d d d «       y # 1 sw Y   ŒnxY w# 1 sw Y   y xY w)Nr  r  rd   rc   rm   )rn   r:   ro   r	   r0   ÚraisesÚ
ValueErrorr\   rN   r<   rJ   rG   )rC   r\   r:   ra   rF   s        r   Ú5test_raise_error_for_samplers_during_multi_objectiveszOSingleOnlySamplerTestCase.test_raise_error_for_samplers_during_multi_objectives%  sÒ   € ô —‘×)Ñ)°jÀ*Ð5MÑW^ÓW`Ð)Óaˆä(¨¨cÓ2ˆÜ�]‰]œ:Ó&ñ 	aØ�M‰M×,Ñ,¨UÔ4EÀeÓ4LÈcÐS_Ô`÷	aô �]‰]œ:Ó&ñ 	Ü% eÓ,ˆEØ�M‰M×)Ñ)Ø�u˜eŸm™m×GÑGÈÈuÓUô÷	ð 	÷	að 	aú÷	ð 	ús   Á(C#ÂAC/Ã#C,Ã/C8Nrð   )rT   rU   rV   r  rW   r   r   r  r  $  s   „ ðà*ðð 
ôr   r  )r   rS   rQ   r   )r:   r   rQ   r   )%Ú
__future__r   Útypingr   r   r¸   Únumpyrp   r0   rn   Úoptuna.distributionsr   r   r   r	   r
   Úoptuna.samplersr   Úoptuna.trialr   r   r   Úcollections.abcr   r   Ú_pytest.mark.structuresr   Úoptuna.studyr   r3   r<   r>   rY   r`   ró   r  r  rW   r   r   ú<module>r)     s¥   ðÝ "å Ý  Û ã Û ã Ý 1Ý 6Ý 8Ý 2Ý 0Ý 'Ý $Ý Ý #ñ Ý(Ý(å5å"óó.ô
(�;ô (÷>"ñ "ôHIÐ/ô HIôVN>Ð2ô N>ôb.GÐ$8ô .GôbÐ 4õ r   