Ë
    ÿÿæi«T  ã                  ój  — d dl mZ d dlmZ d dlmZ d dlmZ d dlZd dlm	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 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)ÚCallable)ÚSequence)ÚAnyN)ÚMarkDecorator)ÚBaseDistribution)ÚCategoricalChoiceType)ÚCategoricalDistribution)ÚFloatDistribution)ÚIntDistribution)ÚBaseSampler)ÚStudy)ÚFrozenTrial)ÚTrial)Ú
TrialStatec           
     ó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/Volumes/fast/ai/experiments/voice-extract-mac/.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Ô0r   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_methodr2      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 r4   )Úrelative_search_spaceÚrelative_paramsÚunknown_param_value)Úselfr?   r@   rA   s       r   Ú__init__zFixedSampler.__init__-   s   € ð &;ˆÔ"Ø.ˆÔØ#6ˆÕ r   c                ó   — | j                   S r4   )r?   )rB   r9   Útrials      r   Úinfer_relative_search_spacez(FixedSampler.infer_relative_search_space7   s   € ð ×)Ñ)Ð)r   c                ó   — | j                   S r4   )r@   )rB   r9   rE   Úsearch_spaces       r   Úsample_relativezFixedSampler.sample_relative<   s   € ð ×#Ñ#Ð#r   c                ó   — | j                   S r4   )rA   )rB   r9   rE   Ú
param_nameÚparam_distributions        r   Úsample_independentzFixedSampler.sample_independentA   s   € ð ×'Ñ'Ð'r   N)r?   údict[str, BaseDistribution]r@   údict[str, Any]rA   r   ÚreturnÚNone)r9   r   rE   r   rP   rN   )r9   r   rE   r   rH   rN   rP   rO   )
r9   r   rE   r   rK   ÚstrrL   r   rP   r   )Ú__name__Ú
__module__Ú__qualname__rC   rF   rI   rM   © r   r   r=   r=   ,   s¤   „ ð7à:ð7ð (ð7ð !ð	7ð
 
ó7ð*Øð*Ø#.ð*à	$ó*ð
$Øð$Ø#.ð$Ø>Yð$à	ó$ð
(àð(ð ð(ð ð	(ð
 -ð(ð 
ô(r   r=   c                  ó2   — e Zd Zej                  dd„«       Zy)Ú_BaseSamplerTestCasec                ó   — t         ‚r4   )ÚNotImplementedError)rB   s    r   Úsamplerz_BaseSamplerTestCase.samplerL   s   € ä!Ð!r   N)rP   úCallable[[], BaseSampler])rS   rT   rU   r/   Úfixturer[   rV   r   r   rX   rX   K   s   „ Ø‡^�^ò"ó ñ"r   rX   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)Úoptunar9   Úcreate_studyÚnpÚarrayÚranger[   rM   r;   ÚallÚlowÚhighÚ
isinstanceÚfloatingr)   ÚroundÚtestingÚassert_almost_equal)rB   r[   r`   r9   Ú_ÚpointsÚround_pointss          r   Ú
test_floatzBasicSamplerTestCase.test_floatR   s<  € ô  —‘×)Ñ)±'³)Ð)Ó<ˆÜ—‘ô
 ˜sœó	ñ $�Að —‘×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#   rk   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 ri   )rm   r9   rn   ro   rp   rq   r[   rM   r;   rr   rs   rt   ru   Úinteger)rB   r[   r`   r9   rz   r{   s         r   Útest_intzBasicSamplerTestCase.test_inty   sì   € ô —‘×)Ñ)±'³)Ð)Ó<ˆÜ—‘ô
 ˜sœó	ñ $�Að —‘×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 )Nrj   c                 óŠ   •— t        ‰«      } ‰j                  j                  ‰| d‰«      }t        ‰j	                  |«      «      S )Nrl   )r;   r[   rM   ÚfloatÚto_internal_repr)rE   Úparam_valuer`   r9   s     €€r   Úsamplez5BasicSamplerTestCase.test_categorical.<locals>.samplež   s=   ø€ Ü% eÓ,ˆEØŸ-™-×:Ñ:¸5À%ÈÈlÓ[ˆKÜ˜×6Ñ6°{ÓCÓDÐDr   rk   r   r#   )rP   r‹   )r
   rm   r9   rn   ro   Úasarrayrq   rr   Úlenr�   rw   rx   ry   )	rB   r[   r�   rŽ   Úir{   r|   r`   r9   s	          @@r   Útest_categoricalz%BasicSamplerTestCase.test_categorical–   s¹   ù€ ô /¨wÓ7ˆä—‘×)Ñ)±'³)Ð)Ó<ˆö	Eô
 —‘¬u°S¬zÓ:©z¨!™V�X¨zÑ:Ó;ˆô �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 )Nrj   rl   Úy)r�   r…   r†   )Úcategoryrl   re   )ÚparamsÚdistributionsÚvalue)r•   r”   r•   ©rl   r”   )r…   r†   )	rm   r9   rn   r
   Ú	add_trialÚcreate_trialr;   r[   rM   )rB   r[   r9   Ú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 )Nrj   c                ó.   — | j                  ddd«      |z   S )Nrl   re   gš™™™™™É?r   )rE   Ú
base_values     r   Ú	objectivez@BasicSamplerTestCase.test_nan_objective_value.<locals>.objectiveÎ   s   € Ø×&Ñ& s¨C°Ó5¸
ÑBÐBr   r   r#   éÿÿÿÿc                ó   •—  ‰| ‰«      S r4   rV   )r   r‘   r£   s    €€r   r   z?BasicSamplerTestCase.test_nan_objective_value.<locals>.<lambda>Ó   s   ø€ ¡Y¨q°!¤_r   rV   )Ú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#   rV   rª   s    €r   r   z?BasicSamplerTestCase.test_nan_objective_value.<locals>.<lambda>Û   s   ø€ ¡¨1¨a¤r   )rE   r   r¢   r‹   rP   r‹   )rm   rn   rq   ÚoptimizeÚintÚ
best_value)rB   r[   r9   r‘   r£   s      @@r   Útest_nan_objective_valuez-BasicSamplerTestCase.test_nan_objective_valueË   s¸   ù€ Ü×#Ñ#©G«IÔ6ˆó	Cô �r˜1˜bÖ!ˆAØ�N‰NÔ4¸qÈˆNÕKð "ä�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)
Nrj   c                ó„   — | j                  ddd«      }| j                  ddd«      }| j                  ddd«      }||z   |z   S )Nrl   r¤   r#   r”   Úz©r   r!   )rE   rl   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¤   ©rE   r   rP   r‹   )rm   rn   r¬   ÚwarningsÚcatch_warningsÚsimplefilterÚ
exceptionsÚExperimentalWarningÚsamplersÚPartialFixedSamplerr[   Útrialsr–   )rB   r[   r9   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#   )rs   rt   T)rs   rt   r-   rb   )rs   rt   r)   )r…   r†   r‡   ÚdÚeÚfrµ   rj   r$   )Úfixed_distributions)r
   r   r   r·   r¸   r¹   rm   rº   r»   r9   rn   rq   ÚaskÚtellÚkeysr–   )rB   r[   r?   Úsampler_r9   rz   rE   rK   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–ˆAØ—I‘IÐ2G�IÓHˆEØ�J‰J�u˜cÔ"Ø3×8Ñ8Ö:�
Ø—|‘| JÑ/°1Ó4Ð4Ð4ñ ;ñ ÷ 'Ð&ús   Á"6DÄD'rl   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 r4   rV   )rE   Úsuggest_method_xs    €r   r£   zGBasicSamplerTestCase.test_single_parameter_objective.<locals>.objective  s   ø€ Ù# EÓ*Ð*r   rµ   rj   r   r´   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr4   ©Ústater   ÚCOMPLETE©Ú.0r   s     r   Ú	<genexpr>zGBasicSamplerTestCase.test_single_parameter_objective.<locals>.<genexpr>  ó    è ø€ ÐH¹<°a�1—7‘7œj×1Ñ1Õ1¹<ùó   ‚')r¶   ©r·   r¸   r¹   rm   rº   r»   r9   rn   r¬   r�   r¾   rr   )rB   r[   rÎ   r£   rÊ   r9   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 )Nrl   TFr”   r   r#   r²   )r%   r   )rE   rl   s     r   r£   zLBasicSamplerTestCase.test_conditional_parameter_objective.<locals>.objective  sE   € Ø×)Ñ)¨#°°e¨}Ó=ˆAÙØ×*Ñ*¨3°°1Ó5Ð5Ø×&Ñ& s¨A¨qÓ1Ð1r   rµ   rj   r   r´   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr4   rÐ   rÓ   s     r   rÕ   zLBasicSamplerTestCase.test_conditional_parameter_objective.<locals>.<genexpr>)  rÖ   r×   r¶   rØ   )rB   r[   r£   rÊ   r9   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 r4   rV   )rE   rÎ   Úsuggest_method_ys    €€r   r£   z]BasicSamplerTestCase.test_combination_of_different_distributions_objective.<locals>.objective3  s   ø€ Ù# EÓ*Ñ-=¸eÓ-DÑDÐDr   rµ   rj   rƒ   r´   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr4   rÐ   rÓ   s     r   rÕ   z]BasicSamplerTestCase.test_combination_of_different_distributions_objective.<locals>.<genexpr>>  rÖ   r×   r¶   rØ   )rB   r[   rÎ   rà   r£   rÊ   r9   s     ``   r   Ú5test_combination_of_different_distributions_objectivezJBasicSamplerTestCase.test_combination_of_different_distributions_objective+  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 )Nrl   r”   r³   )rE   rs   rt   Úvs       r   r£   zDBasicSamplerTestCase.test_dynamic_range_objective.<locals>.objectiveK  s4   € Ø×#Ñ# C¨¨dÓ3ˆAØ�×"Ñ" 3¨¨TÓ2Ñ2ˆAØˆHr   rµ   rj   c                ó   •—  ‰| dd«      S r   rV   rª   s    €r   r   zCBasicSamplerTestCase.test_dynamic_range_objective.<locals>.<lambda>U  s   ø€ ¡¨1¨a°Ô!4r   r   r´   c                ó   •—  ‰| ‰‰«      S r4   rV   )r   r£   Úsecond_highÚ
second_lows    €€€r   r   zCBasicSamplerTestCase.test_dynamic_range_objective.<locals>.<lambda>V  s   ø€ ¡¨1¨j¸+Ô!Fr   rä   c              3  óV   K  — | ]!  }|j                   t        j                  k(  –— Œ# y ­wr4   rÐ   rÓ   s     r   rÕ   zDBasicSamplerTestCase.test_dynamic_range_objective.<locals>.<genexpr>Y  rÖ   r×   )rE   r   rs   r­   rt   r­   rP   r‹   rØ   )rB   r[   rì   rë   rÊ   r9   r£   s     ``  @r   Útest_dynamic_range_objectivez1BasicSamplerTestCase.test_dynamic_range_objective@  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\   r`   r   rP   rQ   )r[   r\   r`   r   rP   rQ   )r[   r\   r�   zSequence[CategoricalChoiceType]rP   rQ   ©r[   r\   rP   rQ   )r[   r\   rÎ   úCallable[[Trial], float]rP   rQ   )r[   r\   rÎ   rð   rà   rð   rP   rQ   )r[   r\   rì   r­   rë   r­   rP   rQ   )rS   rT   rU   r/   r0   r1   r   r}   r   r€   r’   rŸ   r¯   rÁ   rË   r2   rÙ   rÝ   râ   rî   rV   r   r   r_   r_   Q   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_distributionra   rb   r+   Tr,   rd   r   r'   r(   rƒ   r#   rk   é	   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™   rj   c                 ó€   •— ‰j                   j                  ‰t        ‰«      ‰«      } ‰D �cg c]  }| |   ‘Œ	 c}S c c}w r4   ©r[   rI   r;   ©r–   r   rH   r9   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   )rP   zlist[int | float])Údictrm   r9   rn   rÇ   rÈ   Úsumr–   Úvaluesro   rp   rq   Ú	enumerateru   r   r   rr   rs   rt   Úziprv   r   r­   r‹   )rB   r[   ró   rõ   rE   rŽ   rz   r{   r‘   r`   r�   rH   r9   s              @@r   Útest_sample_relative_numericalz6RelativeSamplerTestCase.test_sample_relative_numerical]  s†  ù€ ô8 59¸>È^Ô4\ˆÜ—‘×)Ñ)±'³)Ð)Ó<ˆØ—	‘	˜,Ó'ˆØ�
‰
�5œ#˜eŸl™l×1Ñ1Ó3Ó4Ô5ö	;ô —‘¬U°2¬YÓ7©Y¨™6�8¨YÑ7Ó8ˆÜ(¨×)<Ñ)<Ó)>Ö?‰OˆAˆ|ÜØä%Ü#ðôð ð ô —6‘6˜&¢ A ™,¨,×*:Ñ*:Ñ:Ô;Ð;Ð;Ü—6‘6˜&¢ A ™,¨,×*;Ñ*;Ñ;Õ<Ð<Ð<ð  @ô *-©V«X°|×7JÑ7JÓ7LÖ)MÑ%ˆK˜Ü! +¬r¯{©{Ô;Ð;Ð;Ü! +¬r¯z©zÔ:Ð:Ð:Ü˜,¬Ô8Ü! +¬sÕ3Ð3Ð3ä! +¬uÕ5Ð5Ð5ñ *Nùò 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   rk   ©r¤   rd   iœÿÿÿr™   rj   c                 ó€   •— ‰j                   j                  ‰t        ‰«      ‰«      } ‰D �cg c]  }| |   ‘Œ	 c}S c c}w r4   rø   rù   s     €€r   rŽ   zHRelativeSamplerTestCase.test_sample_relative_categorical.<locals>.sample�  rú   rû   r   ©rP   zlist[float])rü   r
   rm   r9   rn   rÇ   rÈ   rý   r–   rþ   ro   rp   rq   rÿ   ru   rr   r�   rv   r   r­   )rB   r[   rE   rŽ   rz   r{   r‘   r`   rè   r�   rH   r9   s             @@r   Ú test_sample_relative_categoricalz8RelativeSamplerTestCase.test_sample_relative_categorical•  sC  ù€ Ü48Ü%¢lÓ3Ô7NÊÓ7_ô5
ˆô —‘×)Ñ)±'³)Ð)Ó<ˆØ—	‘	˜,Ó'ˆØ�
‰
�5œ#˜eŸl™l×1Ñ1Ó3Ó4Ô5ö	;ô —‘¬U°2¬YÓ7©Y¨™6�8¨YÑ7Ó8ˆÜ(¨×)<Ñ)<Ó)>Ö?‰OˆAˆ|Ü˜lÔ,CÔDÐDÐDÜ—6‘6¸fÂQÈÀTºlÓK¹l¸˜1 × 4Ñ 4Ò4¸lÑKÕLÐLÐLð  @ñ "ž8ˆKÜ! +¬r¯{©{Ô;Ð;Ð;Ü! +¬r¯z©zÔ:Ð:Ð:Ü˜k¬3Õ/Ð/Ð/ñ $ùò	 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™   rj   c                 ó€   •— ‰j                   j                  ‰t        ‰«      ‰«      } ‰D �cg c]  }| |   ‘Œ	 c}S c c}w r4   rø   rù   s     €€r   rŽ   zBRelativeSamplerTestCase.test_sample_relative_mixed.<locals>.sample¾  rú   rû   r   rl   r   r”   r#   r  )rü   r
   rm   r9   rn   rÇ   rÈ   rý   r–   rþ   ro   rp   rq   ru   r   r   rr   rs   rt   r�   r   rv   r   r­   r‹   )rB   r[   ró   rE   rŽ   rz   r{   rè   r�   r`   rH   r9   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©Y¨™6�8¨YÑ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Ñ%ˆK˜Ü! +¬r¯{©{Ô;Ð;Ð;Ü! +¬r¯z©zÔ:Ð:Ð:ÜØä#Ü+ðôô " +¬sÕ3Ð3Ð3ä! +¬uÕ5Ð5Ð5ñ *Nùò 8ùò Ms   Â'HÅ"H#Ún_jobsc                ó‚   —  |«       }t         j                  j                  |¬«      }dd„}|j                  |d|¬«       y )Nrj   c                óˆ   — | j                   �J ‚| j                  ddd«       | j                  ddd«       | j                   €J ‚y)Nrl   rd   r   r”   r¤   )Ú_relative_paramsr   )rE   s    r   r£   zERelativeSamplerTestCase.test_trial_relative_params.<locals>.objectiveâ  sM   € Ø×)Ñ)Ð1Ð1Ð1à×Ñ  S¨"Ô-Ø×Ñ  S¨"Ô-Ø×)Ñ)Ð5Ð5Ð5Ør   r   )r¦   r
  r¶   )rm   r9   rn   r¬   )rB   r
  r[   rÊ   r9   r£   s         r   Útest_trial_relative_paramsz2RelativeSamplerTestCase.test_trial_relative_paramsÜ  s;   € ñ “9ˆÜ—‘×)Ñ)°(Ð)Ó;ˆó	ð 	�‰�y¨2°fˆÕ=r   N)r[   r\   ró   r   rõ   r   rP   rQ   rï   )r[   r\   ró   r   rP   rQ   )r
  r­   r[   r\   rP   rQ   )rS   rT   rU   r/   r0   r1   r   r   r  r  r	  r  rV   r   r   rò   rò   \  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)ÚMultiObjectiveSamplerTestCaser`   ra   rb   rc   r+   Tr,   rd   r   re   r(   rf   rg   r   r$   r#   rk   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[   rk   rl   )rm   r9   rn   rq   r[   rM   r;   Ú	_containsrŒ   ru   r
   ro   rv   r   r)   rs   rw   rx   ry   )rB   r[   r`   r9   r‘   r˜   Úround_values          r   Ú'test_multi_objective_sample_independentzEMultiObjectiveSamplerTestCase.test_multi_objective_sample_independentî  só   € ô4 —‘×)Ñ)°jÀ*Ð5MÑW^ÓW`Ð)ÓaˆÜ�s–ˆ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ñ% r   N)r[   r\   r`   r   rP   rQ   )
rS   rT   rU   r/   r0   r1   r   r   r
   r  rV   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  rc   rb   rl   )rm   r9   rn   r   r/   ÚraisesÚ
ValueErrorr[   rM   r;   rI   rF   )rB   r[   r9   r`   rE   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ˆÜ�]‰]œ:Õ&Ø�M‰M×,Ñ,¨UÔ4EÀeÓ4LÈcÐS_Ô`÷ 'ô �]‰]œ:Õ&Ü% eÓ,ˆEØ�M‰M×)Ñ)Ø�u˜eŸm™m×GÑGÈÈuÓUô÷ 'Ð&÷ 'Ð&ú÷ 'Ð&ús   Á(C#ÂAC/Ã#C,Ã/C8Nrï   )rS   rT   rU   r  rV   r   r   r  r    s   „ ðà*ðð 
ôr   r  )r   rR   rP   r   )r9   r   rP   r   )$Ú
__future__r   Úcollections.abcr   r   Útypingr   r·   Ú_pytest.mark.structuresr   Únumpyro   r/   rm   Úoptuna.distributionsr   r	   r
   r   r   Úoptuna.samplersr   Úoptuna.studyr   Úoptuna.trialr   r   r   r2   r;   r=   rX   r_   rò   r  r  rV   r   r   Ú<module>r(     s�   ðÝ "å $Ý $Ý Û å 1Û Û ã Ý 1Ý 6Ý 8Ý 2Ý 0Ý 'Ý Ý $Ý Ý #óó.ô
(�;ô (÷>"ñ "ôHIÐ/ô HIôVN>Ð2ô N>ôb.GÐ$8ô .GôbÐ 4õ r   