§
    fŠtj(2  ã                   ó
  — d dl Z d dlZd dlmZ d dlZd dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZmZ ej        j        Z eej        ¦  «         G d„ d¦  «        ¦   «         Z eej        ¦  «         G d	„ d
¦  «        ¦   «         ZdS )é    N)Úraises)Ústats)ÚnormÚexpon)Úmake_xp_test_case)Úxp_assert_closeÚxp_assert_equalÚxp_assert_lessc                   óh   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestEntropyc                 óD  — |                      g d¢¦  «        }|                      g d¢¦  «        }t          j        ||¦  «        }t          j        ||¦  «        }t          ||                      d¦  «        ¦  «         t	          | |                      d¦  «        ¦  «         d S )N)ç      à?çš™™™™™É?ç333333Ó?)çš™™™™™¹?g      Ð?gÍÌÌÌÌÌä?ç        )Úasarrayr   Úentropyr	   r
   )ÚselfÚxpÚpkÚqkÚeselfÚedoubles         ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/stats/tests/test_entropy.pyÚtest_entropy_positivez!TestEntropy.test_entropy_positive   s�   € à�ZŠZ˜˜˜Ñ(Ô(ˆØ�ZŠZÐ)Ð)Ð)Ñ*Ô*ˆÝ”˜b "Ñ%Ô%ˆÝ”-  BÑ'Ô'ˆÝ˜˜rŸzšz¨"™~œ~Ñ.Ô.Ð.Ý˜�x §¢¨B¡¤Ñ0Ô0Ð0Ð0Ð0ó    c                 óH  — |                      d¦  «        }t          j        |d¬¦  «        }t          |                     |dz
  ¦  «        |                     d¦  «        ¦  «         |                      d¦  «        }|                     |                     d¦  «        dk     d|¦  «        }t          j        ||¦  «        }t          j        ||d¬¦  «        }t          |                     ||z  t          j	        d¦  «        z
  ¦  «        |                     d¦  «        ¦  «         d S )Né   ç       @©Úbaseg      @gñhãˆµøä>é   )
Úonesr   r   r
   Úabsr   ÚwhereÚarangeÚmathÚlog)r   r   r   ÚSr   ÚS2s         r   Útest_entropy_basezTestEntropy.test_entropy_base   sè   € Ø�WŠW�R‰[Œ[ˆÝŒM˜" 2Ð&Ñ&Ô&ˆÝ�r—v’v˜a "™f‘~”~ r§z¢z°%Ñ'8Ô'8Ñ9Ô9Ð9à�WŠW�R‰[Œ[ˆØ�XŠX�b—i’i ‘m”m aÒ'¨¨RÑ0Ô0ˆÝŒM˜"˜bÑ!Ô!ˆÝŒ]˜2˜r¨Ð+Ñ+Ô+ˆÝ�r—v’v˜a ™d¥T¤X¨b¡\¤\Ñ1Ñ2Ô2°B·J²J¸uÑ4EÔ4EÑFÔFÐFÐFÐFr   c                 óž   — |                      g d¢¦  «        }t          t          j        |¦  «        |                      d¦  «        ¦  «         d S )N)r   ç      ð?r    g ŠöR^ä?©r   r   r   r   )r   r   Úxs      r   Útest_entropy_zerozTestEntropy.test_entropy_zero&   sO   € à�JŠJ�|�|�|Ñ$Ô$ˆÝ�œ aÑ(Ô(ØŸ
š
Ð#6Ñ7Ô7ñ	9ô 	9ð 	9ð 	9ð 	9r   c                 óî   — |                      ddgddgddgg¦  «        }|                      ddgddgddgg¦  «        }t          t          j        ||¦  «        |                      ddg¦  «        ¦  «         d S )Nr   r   ç333333ã?r   r   gN!ü0ç¾È?çÈó2íÒÇ?r/   ©r   r   r   r   s       r   Útest_entropy_2dzTestEntropy.test_entropy_2d,   sˆ   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆØ�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨"Ñ-Ô-ØŸ
š
 I¨zÐ#:Ñ;Ô;ñ	=ô 	=ð 	=ð 	=ð 	=r   c                 ó¤  — |                      ddgddgddgg¦  «        }|                      ddgddgddgg¦  «        }t          t          j        ||¦  «        |                      |j        dg¦  «        ¦  «         |                      ddgddgddgg¦  «        }t          t          j        ||¦  «        |                      ddg¦  «        ¦  «         d S )	Nr   r   r3   r   r   r   r4   g¯^fTðFÆ?)r   r   r   r   Úinfr5   s       r   Útest_entropy_2d_zeroz TestEntropy.test_entropy_2d_zero2   sä   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆØ�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨"Ñ-Ô-ØŸ
š
 B¤F¨JÐ#7Ñ8Ô8ñ	:ô 	:ð 	:ð �ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨"Ñ-Ô-ØŸ
š
 J°
Ð#;Ñ<Ô<ñ	>ô 	>ð 	>ð 	>ð 	>r   c                 ó´   — |                      ddgddgddgg¦  «        }t          t          j        |d¬¦  «        |                      g d¢¦  «        ¦  «         d S )	Nr   r   r3   r   r   é   ©Úaxis)çæòöR^ä?r>   gD%¬†+å?r/   ©r   r   r   s      r   Ú$test_entropy_base_2d_nondefault_axisz0TestEntropy.test_entropy_base_2d_nondefault_axis<   sn   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨qÐ1Ñ1Ô1ØŸ
š
Ð#GÐ#GÐ#GÑHÔHñ	Jô 	Jð 	Jð 	Jð 	Jr   c                 óò   — |                      ddgddgddgg¦  «        }|                      ddgddgddgg¦  «        }t          t          j        ||d¬¦  «        |                      g d¢¦  «        ¦  «         d S )	Nr   r   r3   r   r   r;   r<   )ç{[<þ“Í?rB   g¾C8¯XÀ?r/   r5   s       r   Útest_entropy_2d_nondefault_axisz+TestEntropy.test_entropy_2d_nondefault_axisA   s”   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆØ�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨"°1Ð5Ñ5Ô5ØŸ
š
Ð#GÐ#GÐ#GÑHÔHñ	Jô 	Jð 	Jð 	Jð 	Jr   c                 ó  — |                      ddgddgddgg¦  «        }|                      ddgddgg¦  «        }d}t          j        t          |¬¦  «        5  t	          j        ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r3   r   r   ú/Array shapes are incompatible for broadcasting.©Úmatch)r   Úpytestr   Ú
ValueErrorr   r   )r   r   r   r   Úmessages        r   Útest_entropy_raises_value_errorz+TestEntropy.test_entropy_raises_value_errorG   sÔ   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆØ�ZŠZ˜#˜s˜ c¨3 ZÐ0Ñ1Ô1ˆØCˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	"ð 	"ÝŒM˜"˜bÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   ÁA:Á:A>ÂA>c                 ó®   — |                      ddgddgddgg¦  «        }t          t          j        |d¬¦  «        t          j        |¦  «        ¦  «         d S ©Nr   r   r3   r   r   r   r<   r/   r?   s      r   Ú1test_base_entropy_with_axis_0_is_equal_to_defaultz=TestEntropy.test_base_entropy_with_axis_0_is_equal_to_defaultN   s`   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨qÐ1Ñ1Ô1Ýœ bÑ)Ô)ñ	+ô 	+ð 	+ð 	+ð 	+r   c                 óî   — |                      ddgddgddgg¦  «        }|                      ddgddgddgg¦  «        }t          t          j        ||d¬¦  «        t          j        ||¦  «        ¦  «         d S rM   r/   r5   s       r   Ú,test_entropy_with_axis_0_is_equal_to_defaultz8TestEntropy.test_entropy_with_axis_0_is_equal_to_defaultS   sˆ   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆØ�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¨"°1Ð5Ñ5Ô5Ýœ b¨"Ñ-Ô-ñ	/ô 	/ð 	/ð 	/ð 	/r   c                 ó¸   — |                      ddgddgddgg¦  «        }t          t          j        |j        ¦  «        t          j        |d¬¦  «        ¦  «         d S ©Nr   r   r3   r   r   r;   r<   ©r   r   r   r   ÚTr?   s      r   Útest_base_entropy_transposedz(TestEntropy.test_base_entropy_transposedY   sb   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¤dÑ+Ô+Ýœ b¨qÐ1Ñ1Ô1ñ	3ô 	3ð 	3ð 	3ð 	3r   c                 ó  — |                      ddgddgddgg¦  «        }|                      ddgddgddgg¦  «        }t          t          j        |j        |j        ¦  «        t          j        ||d¬¦  «        ¦  «         d S rR   rS   r5   s       r   Útest_entropy_transposedz#TestEntropy.test_entropy_transposed^   sŒ   € Ø�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆØ�ZŠZ˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=ˆÝ�œ b¤d¨B¬DÑ1Ô1Ýœ b¨"°1Ð5Ñ5Ô5ñ	7ô 	7ð 	7ð 	7ð 	7r   c                 óÎ  — t           j                             d¦  «        }|                     |                     d¦  «        ¦  «        }|                     |                     d¦  «        ¦  «        }t	          j        ||d¬¦  «        }t          |d         t	          j        ||d         ¦  «        ¦  «         t          |d         t	          j        ||d	         ¦  «        ¦  «         d S )
Nl   Ü@”UáC<é   )é   r;   éÿÿÿÿr<   r   )r   .r;   )r;   .)ÚnpÚrandomÚdefault_rngr   r   r   r	   )r   r   Úrngr0   ÚyÚress         r   Útest_entropy_broadcastingz%TestEntropy.test_entropy_broadcastingd   s´   € ÝŒi×#Ò#Ð$5Ñ6Ô6ˆØ�JŠJ�s—z’z !‘}”}Ñ%Ô%ˆØ�JŠJ�s—z’z &Ñ)Ô)Ñ*Ô*ˆÝŒm˜A˜q rÐ*Ñ*Ô*ˆÝ˜˜Aœ¥¤¨a°°6´Ñ ;Ô ;Ñ<Ô<Ð<Ý˜˜Aœ¥¤¨a°°6´Ñ ;Ô ;Ñ<Ô<Ð<Ð<Ð<r   c                 óð   — |                      d¦  «        }|                      d¦  «        }d}t          j        t          |¬¦  «        5  t	          j        ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)é
   r;   é   )é   rZ   rE   rF   ©r$   rH   r   rI   r   r   )r   r   r0   r`   rJ   s        r   Útest_entropy_shape_mismatchz'TestEntropy.test_entropy_shape_mismatchl   s´   € Ø�GŠG�KÑ Ô ˆØ�GŠG�GÑÔˆØCˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	 ð 	 ÝŒM˜!˜QÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   ÁA+Á+A/Á2A/c                 óÈ   — |                      d¦  «        }d}t          j        t          |¬¦  «        5  t	          j        |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrd   z!`base` must be a positive number.rF   éþÿÿÿr!   rg   ©r   r   r0   rJ   s       r   Útest_input_validationz!TestEntropy.test_input_validations   s¤   € Ø�GŠG�B‰KŒKˆØ5ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	&ð 	&ÝŒM˜! "Ð%Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ³AÁAÁAN)Ú__name__Ú
__module__Ú__qualname__r   r,   r1   r6   r9   r@   rC   rK   rN   rP   rU   rW   rb   rh   rl   © r   r   r   r      sþ   € € € € € ð1ð 1ð 1ð	Gð 	Gð 	Gð9ð 9ð 9ð=ð =ð =ð>ð >ð >ðJð Jð Jð
Jð Jð Jð"ð "ð "ð+ð +ð +ð
/ð /ð /ð3ð 3ð 3ð
7ð 7ð 7ð=ð =ð =ð ð  ð  ð&ð &ð &ð &ð &r   r   c                   ó  — e Zd ZdZej                             ddd ej        d edd¬¦  «         ed	d¬¦  «        g¬
¦  «        dg¦  «        Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ ¦   «         ZdddddœZdddddœZeeeeiZe	ej                             deeg¦  «        d„ ¦   «         ¦   «         Zej                             dg d ¢¦  «        d!„ ¦   «         Ze	ej                             d"g d#¢¦  «        d$„ ¦   «         ¦   «         Zd%S )&ÚTestDifferentialEntropyzº
    Vasicek results are compared with the R package vsgoftest.

    # library(vsgoftest)
    #
    # samp <- c(<values>)
    # entropy.estimate(x = samp, window = <window_length>)

    ÚmethodÚvasicekúvan esÚcorreaÚarray_api_strictzInvalid fancy indexing)Úreasonz
dask.array)ÚmarksÚebrahimic                 ó  — t           j                             d¦  «        }|                     d¦  «        }|                     |                     ¦   «         ¦  «        }t          j        |d¬¦  «        }t          ||                     d¦  «        ¦  «         t          j        |dd¬¦  «        }t          ||                     d¦  «        ¦  «         t          j        |d	d¬¦  «        }t          ||                     d
¦  «        ¦  «         d S )Nr   éd   rt   ©rs   ç- ô{õ?r;   )Úwindow_lengthrs   ç¡ €˜äóñ?r#   ç=£&—õ?©	r\   r]   ÚRandomStateÚstandard_normalr   Útolistr   Údifferential_entropyr   )r   r   Úrandom_stateÚvaluesr   s        r   Ú!test_differential_entropy_vasicekz9TestDifferentialEntropy.test_differential_entropy_vasicek’   sñ   € å”y×,Ò,¨QÑ/Ô/ˆØ×-Ò-¨cÑ2Ô2ˆØ—’˜FŸMšM™OœOÑ,Ô,ˆåÔ,¨V¸IÐFÑFÔFˆÝ˜ §¢Ð,=Ñ!>Ô!>Ñ?Ô?Ð?åÔ,¨VÀ1Ø4=ð?ñ ?ô ?ˆå˜ §¢Ð,=Ñ!>Ô!>Ñ?Ô?Ð?åÔ,¨VÀ1Ø4=ð?ñ ?ô ?ˆå˜ §¢Ð,=Ñ!>Ô!>Ñ?Ô?Ð?Ð?Ð?r   c                 ó4  — t           j                             d¦  «        }|                     d¦  «        }|                     |                     ¦   «         ¦  «        }t          j        |dd¬¦  «        }|                     g d¢¦  «        }t          ||¦  «         t          j        |ddd¬¦  «        }|                     g d¢¦  «        }t          ||¦  «         t          j        |dd	d¬¦  «        }|                     g d
¢¦  «        }t          ||¦  «         d S )Nr   ©rY   r|   r;   rt   )r=   rs   )r~   gUZdpxõ?gEÄ7ÿL³ô?)r=   r   rs   )r€   gzGÃÀ¨¥ñ?gt¤Åèò?r#   )r�   gl+ÛÉ�jõ?g×o4d­ô?r‚   )r   r   r‡   rˆ   r   Úrefs         r   Ú4test_differential_entropy_vasicek_2d_nondefault_axiszLTestDifferentialEntropy.test_differential_entropy_vasicek_2d_nondefault_axis£   s  € Ý”y×,Ò,¨QÑ/Ô/ˆØ×-Ò-¨hÑ7Ô7ˆØ—’˜FŸMšM™OœOÑ,Ô,ˆåÔ,¨V¸!ÀIÐNÑNÔNˆØ�jŠjÐRÐRÐRÑSÔSˆÝ˜ Ñ%Ô%Ð%åÔ,¨V¸!È1Ø4=ð?ñ ?ô ?ˆà�jŠjÐQÐQÐQÑRÔRˆÝ˜ Ñ%Ô%Ð%åÔ,¨V¸!È1Ø4=ð?ñ ?ô ?ˆà�jŠjÐRÐRÐRÑSÔSˆÝ˜ Ñ%Ô%Ð%Ð%Ð%r   c                 óª  — t           j                             d¦  «        }|                     d¦  «        }|                     |                     ¦   «         ¦  «        }d}|j        d         }dd|dz  |hD ]^}|                     ||¬¦  «        }t          t          |¬¦  «        5  t          j        ||d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   Œ_d S )
Nr   r‹   zhWindow length \({window_length}\) must be positive and less than half the sample size \({sample_size}\).r;   r[   rZ   )r   Úsample_sizerF   )r   r=   )r\   r]   rƒ   r„   r   r…   ÚshapeÚformatÚassert_raisesrI   r   r†   )r   r   r‡   rˆ   Ú	error_strr�   r   Úformatted_error_strs           r   Ú,test_differential_entropy_raises_value_errorzDTestDifferentialEntropy.test_differential_entropy_raises_value_error·   s0  € Ý”y×,Ò,¨QÑ/Ô/ˆØ×-Ò-¨hÑ7Ô7ˆØ—’˜FŸMšM™OœOÑ,Ô,ˆð<ð 	ð
 ”l 1”oˆà  ! [°!¡^°[ÐAð 	ð 	ˆMà"+×"2Ò"2Ø+Ø'ð #3ñ #ô #Ðõ
 �zÐ1DÐEÑEÔEð ð ÝÔ*ØØ"/Øðñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð	ð 	s   Â#CÃC	ÃC	c                 ó0  — t           j                             d¦  «        }|                     d¦  «        }|                     |                     ¦   «         ¦  «        }t          j        |d¬¦  «        }t          j        |¦  «        }t          ||¦  «         d S )Nr   )r|   rY   r<   r‚   )r   r   r‡   rˆ   r   Údefault_entropys         r   Ú>test_base_differential_entropy_with_axis_0_is_equal_to_defaultzVTestDifferentialEntropy.test_base_differential_entropy_with_axis_0_is_equal_to_defaultÑ   s~   € Ý”y×,Ò,¨QÑ/Ô/ˆØ×-Ò-¨hÑ7Ô7ˆØ—’˜FŸMšM™OœOÑ,Ô,ˆåÔ,¨V¸!Ð<Ñ<Ô<ˆÝÔ4°VÑ<Ô<ˆÝ˜ Ñ1Ô1Ð1Ð1Ð1r   c                 ó2  — t           j                             d¦  «        }|                     d¦  «        }|                     |                     ¦   «         ¦  «        }t          t          j        |j	        ¦  «        t          j        |d¬¦  «        ¦  «         d S )Nr   r‹   r;   r<   )
r\   r]   rƒ   r„   r   r…   r   r   r†   rT   )r   r   r‡   rˆ   s       r   Ú)test_base_differential_entropy_transposedzATestDifferentialEntropy.test_base_differential_entropy_transposedÚ   s‚   € Ý”y×,Ò,¨QÑ/Ô/ˆØ×-Ò-¨hÑ7Ô7ˆØ—’˜FŸMšM™OœOÑ,Ô,ˆåÝÔ& v¤xÑ0Ô0ÝÔ& v°AÐ6Ñ6Ô6ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óª  — t          j        d¦  «        }|                     |                     ¦   «         ¦  «        }d}t	          j        t          |¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t	          j        t          |¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nrd   z+`base` must be a positive number or `None`.rF   rj   r!   z`method` must be one of...z	ekki-ekkir}   )	r\   r$   r   r…   rH   r   rI   r   r†   rk   s       r   rl   z-TestDifferentialEntropy.test_input_validationä   sC  € ÝŒG�B‰KŒKˆØ�JŠJ�q—x’x‘z”zÑ"Ô"ˆà?ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	3ð 	3ÝÔ& q¨rÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð /ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	>ð 	>ÝÔ& q°Ð=Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s$   ÁA<Á<B ÂB Â$CÃCÃCc                 ó  — t           j                             d¦  «        }|                     |                     d¬¦  «        ¦  «        }t	          j        |¦  «        }t	          j        |d ¬¦  «        }t          ||d¬¦  «         d S )Nl   ‚eYðÙ'rd   )Úsize)r   ç{®Gázt?©Úrtol)r\   r]   r^   r   r   r†   r   )r   r   r_   r0   rŒ   ra   s         r   Útest_window_length_is_nonez2TestDifferentialEntropy.test_window_length_is_noneð   sw   € ÝŒi×#Ò#Ð$6Ñ7Ô7ˆØ�JŠJ�s—z’z r�zÑ*Ô*Ñ+Ô+ˆÝÔ(¨Ñ+Ô+ˆÝÔ(¨¸$Ð?Ñ?Ô?ˆÝ˜˜S uÐ-Ñ-Ô-Ð-Ð-Ð-r   c                 óv  — |dk    rdnd}t           j                             |d¬¦  «        }|                     |                     ¦   «         ¦  «        }|                     t          t           j                             ¦   «         ¦  «        ¦  «        }t          j        ||¬¦  «        }t          ||d¬¦  «         d S )	Nrv   é'  i@B r   ©r�   r‡   r}   rž   rŸ   )	r   r   Úrvsr   r…   Úfloatr   r†   r   )r   rs   r   Únr¥   Úexpectedra   s          r   Útest_consistencyz(TestDifferentialEntropy.test_consistency÷   sž   € ð ˜xÒ'Ð'ˆEˆE¨WˆÝŒj�nŠn !°!ˆnÑ4Ô4ˆØ�jŠj˜Ÿš™œÑ&Ô&ˆØ—:’:�e¥E¤J×$6Ò$6Ñ$8Ô$8Ñ9Ô9Ñ:Ô:ˆÝÔ(¨°VÐ<Ñ<Ô<ˆÝ˜˜X¨EÐ2Ñ2Ô2Ð2Ð2Ð2r   )gòÒMbXÉ?ç�•C‹lç»?)g‰A`åÐ"Ë?g)\�Âõ(¼?)gHáz®GÁ?gyé&1¬¼?)gü©ñÒMbÀ?rª   )rt   ru   rv   rz   )g¢E¶óýÔÈ?ç‹lçû©ñÂ?)g¶óýÔxéÆ?gßO�—nÃ?)g×£p=
×Ã?gÛù~j¼tÃ?)g‡ÙÎ÷SÃ?r«   Údistc                 ó†  — d\  }}}| j         |         |         }|                     |d         ¦  «        |                     |d         ¦  «        }	}|                     ||fd¬¦  «        }
|                     |
                     ¦   «         ¦  «        }
|                     t	          |                     ¦   «         ¦  «        ¦  «        }t          j        |
||d¬¦  «        }t          | 	                    | 
                    ||z
  dz  ¦  «        ¦  «        |d¬	¦  «         t          |                     |d¬
¦  «        |	d¬	¦  «         d S )N)r£   é2   é   r   r;   r¤   r[   )r   rs   r=   rZ   rž   )Úatol)Ú
correctiongü©ñÒMb`?)Úrmse_std_casesr   r¥   r…   r¦   r   r   r†   r   ÚsqrtÚmeanÚstd)r   rs   r¬   r   Úrepsr§   Úmr¨   Úrmse_expectedÚstd_expectedr¥   Útrue_entropyra   s                r   Útest_rmse_stdz%TestDifferentialEntropy.test_rmse_std  s,  € ð "‰
ˆˆa�ØÔ& tÔ,¨VÔ4ˆØ&(§j¢j°¸!´Ñ&=Ô&=¸r¿zºzÈ(ÐSTÌ+Ñ?VÔ?V�|ˆØ�hŠh˜T 1˜I°AˆhÑ6Ô6ˆØ�jŠj˜Ÿš™œÑ&Ô&ˆØ—z’z¥%¨¯ª©¬Ñ"7Ô"7Ñ8Ô8ˆÝÔ(¨¸AØ06¸RðAñ Aô Aˆå˜Ÿš §¢¨¨|Ñ);¸aÑ(?Ñ @Ô @ÑAÔAØ%¨Eð	3ñ 	3ô 	3ð 	3å˜Ÿš˜s¨q˜Ñ1Ô1°<ÀeÐLÑLÔLÐLÐLÐLr   z	n, method))r#   ru   )re   rz   )ié  rt   c                 ó  — t           j                             |fd¬¦  «        }|                     |                     ¦   «         ¦  «        }t          j        |¦  «        }t          j        ||¬¦  «        }t          ||¦  «         d S )Nr   r¤   r}   )r   r   r¥   r   r…   r†   r	   )r   r§   rs   r   r¥   Úres1Úres2s          r   Útest_method_autoz(TestDifferentialEntropy.test_method_auto&  sq   € õ Œj�nŠn 1 $°QˆnÑ7Ô7ˆØ�jŠj˜Ÿš™œÑ&Ô&ˆÝÔ)¨#Ñ.Ô.ˆÝÔ)¨#°fÐ=Ñ=Ô=ˆÝ˜˜dÑ#Ô#Ð#Ð#Ð#r   Údtype)NÚfloat32Úfloat64c                 óÂ  — g d¢}t          |t          |¦  «        d ¦  «        }t          |t          |¦  «        |                     d¦  «        j        ¦  «        }t	          j        |                     ||¬¦  «        |¬¦  «        }t	          j        |                     ||j        ¬¦  «        |¬¦  «        }t          ||                     ||¬¦  «        d         ¦  «         d S )N)r;   r;   rZ   rY   rY   é   é   rÅ   é   r¯   r#   é	   rd   rf   r.   )rÀ   r}   rp   )ÚgetattrÚstrr   rÀ   r   r†   rÂ   r   )	r   r   rs   rÀ   r0   Údtype_inÚ	dtype_outra   rŒ   s	            r   Útest_dtypes_gh21192z+TestDifferentialEntropy.test_dtypes_gh211922  sÂ   € ð 9Ð8Ð8ˆÝ˜2�s 5™zœz¨4Ñ0Ô0ˆÝ˜B¥ E¡
¤
¨B¯JªJ°r©N¬NÔ,@ÑAÔAˆ	ÝÔ(¨¯ª°A¸X¨Ñ)FÔ)FÈvÐVÑVÔVˆÝÔ(¨¯ª°A¸R¼Z¨Ñ)HÔ)HÐQWÐXÑXÔXˆÝ˜˜RŸZšZ¨°9˜ZÑ=Ô=¸bÔAÑBÔBÐBÐBÐBr   N)rm   rn   ro   Ú__doc__rH   ÚmarkÚparametrizeÚparamÚskip_xp_backendsÚmethodsr‰   r�   r•   r˜   rš   rl   r¡   r©   Únorm_rmse_std_casesÚexpon_rmse_std_casesr   r   r²   r»   r¿   rÌ   rp   r   r   rr   rr   z   s'  € € € € € ðð ð Œk×%Ò% hØØØˆŒØà Ð Ð!3Ð<TÐUÑUÔUØ Ð  Ð6NÐOÑOÔOðð	
ñ 	
ô 	
ð 	ð1ñ ô €Gð@ð @ð @ð"&ð &ð &ð(ð ð ð42ð 2ð 2ð
ð 
ð 
ð
>ð 
>ð 
>ð.ð .ð .ð ð3ð 3ñ „Wð3ð '5Ø%3Ø%3Ø'5ð	ð Ðð (6Ø&4Ø&4Ø(6ð	ð Ðð Ð/ØÐ1ð3€Nð Ø„[×Ò˜V d¨E ]Ñ3Ô3ðMð Mñ 4Ô3ñ „WðMð  „[×Ò˜[ð +ð +ð +ñ ô ð
$ð $ñô ð
$ð Ø„[×Ò˜WÐ&BÐ&BÐ&BÑCÔCð	Cð 	Cñ DÔCñ „Wð	Cð 	Cð 	Cr   rr   )r(   rH   r   r’   Únumpyr\   Úscipyr   Úscipy.statsr   r   Úscipy._lib._array_apir   Úscipy._lib._array_api_no_0dr   r	   r
   rÎ   rÑ   r   r   r†   rr   rp   r   r   ú<module>rÚ      sZ  ðØ €€€Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð à Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð ”;Ô/Ð àÐ�5”=Ñ!Ô!ðf&ð f&ð f&ð f&ð f&ñ f&ô f&ñ "Ô!ðf&ðR Ð�5Ô-Ñ.Ô.ðBCð BCð BCð BCð BCñ BCô BCñ /Ô.ðBCð BCð BCr   