Ë
    öU.jˆà  ã                   ó¤  — d Z ddlZddlZddlmZmZmZ ddlm	Z	 ej                  j                  d   ej                  j                  d   z   ej                  j                  d   z   ej                  j                  d   z   Zd	dii d
diddiddiddiddiddiddii i dœZ G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d «      Z G d!„ d"«      Z G d#„ d$«      Zd%„ Zd&„ Zej6                  j9                  d'g d(¢«      d)„ «       Z G d*„ d+«      Zej6                  j9                  d'ej?                  «       «      d,„ «       Z d-„ Z!ej6                  j9                  d'd.d/ e"«       dd0d1g«      d2„ «       Z#ej6                  j9                  d'ej?                  «       «      d3„ «       Z$ej6                  j9                  d'ej?                  «       «      d4„ «       Z%ej6                  j9                  d5e«      ej6                  j9                  d'ej?                  «       «      d6„ «       «       Z&y)7z(Tests for the array padding functions.

é    N)Úassert_array_equalÚassert_allcloseÚassert_equal)Ú	_as_pairsÚuintÚintÚfloatÚcomplexÚconstant_valuesÚ
end_valuesÚstat_lengthÚreflect_typeÚeven)ÚconstantÚedgeÚlinear_rampÚmaximumÚmeanÚmedianÚminimumÚreflectÚ	symmetricÚwrapÚemptyc                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestAsPairsc                 óö   — t        j                  ddggdz  «      }ddgdggfD ]  }t        |d«      }t        ||«       Œ t	        «       }t        t        |d«      t        j                  ||ggdz  «      «       y)z Test casting for a single value.é   é
   N©ÚnpÚarrayr   r   Úobject©ÚselfÚexpectedÚxÚresultÚobjs        ú_C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\numpy/lib/tests/test_arraypad.pyÚtest_single_valuezTestAsPairs.test_single_value!   sx   € ä—8‘8˜a ˜V˜H r™MÓ*ˆØ�a�S˜A˜3˜%“ˆAÜ˜q "Ó%ˆFÜ˜ Õ*ð !ô ‹hˆÜÜ�c˜2ÓÜ�H‰H�s˜C�j�\ BÑ&Ó'õ	
ó    c                 óÈ  — t        j                  ddggdz  «      }ddgddggfD ]  }t        |d«      }t        ||«       Œ t	        «       }t        t        d|gd«      t        j                  d|ggdz  «      «       t        t        dgdggd«      t        j                  ddgddgg«      «       t        t        dg|ggd«      t        j                  ddg||gg«      «       y)z-Test proper casting for two different values.r   é   r   Úaé   Nr    r$   s        r*   Útest_two_valueszTestAsPairs.test_two_values.   së   € ô —8‘8˜a ˜V˜H r™MÓ*ˆØ�a�&˜A˜q˜6˜(Ó#ˆAÜ˜q "Ó%ˆFÜ˜ Õ*ð $ô ‹hˆÜÜ�s˜C�j "Ó%Ü�H‰H�s˜C�j�\ BÑ&Ó'ô	
ô 	Ü˜�s˜Q˜C�j !Ó$Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ô	
ô
 	Ü˜�u˜s˜e�n aÓ(Ü�H‰H�s˜C�j 3¨ *Ð-Ó.õ	
r,   c                 óh   — d}t        t        d dd¬«      |«       t        t        d dd¬«      |«       y )N)©NNr3   r3   r   F©Úas_indexT)r   r   ©r%   r&   s     r*   Útest_with_nonezTestAsPairs.test_with_noneG   s7   € Ø=ˆÜÜ�d˜A¨Ô.Øô	
ô 	Ü�d˜A¨Ô-Øõ	
r,   c                 óx   — t        j                  d«      j                  d«      }t        t	        |d«      |«       y)z?Test if `x` already matching desired output are passed through.é   )é   r0   r:   N)r!   ÚarangeÚreshaper   r   r6   s     r*   Útest_pass_throughzTestAsPairs.test_pass_throughR   s/   € ä—9‘9˜R“=×(Ñ(¨Ó0ˆÜÜ�h Ó"Øõ	
r,   c           
      óÜ  — t        t        ddgdd¬«      t        j                  ddggdz  t        j                  ¬«      «       t        t        ddgdd¬«      t        j                  dd	ggdz  t        j                  ¬«      «       d
d
gd
ggd
d	gddgd
d	ggd	d
ggddggdz  ddggz   fD ]4  }t        j                  t        d¬«      5  t        |dd¬«       ddd«       Œ6 y# 1 sw Y   ŒAxY w)z Test results if `as_index=True`.gÍÌÌÌÌÌ@gffffff
@r   Tr4   r   ©Údtypegö(\�Âõ@r.   éýÿÿÿéüÿÿÿé   r0   é	   éþÿÿÿznegative values©ÚmatchN)r   r   r!   r"   ÚintpÚpytestÚraisesÚ
ValueError)r%   r'   s     r*   Útest_as_indexzTestAsPairs.test_as_indexZ   sæ   € äÜ�s˜C�j "¨tÔ4Ü�H‰H�q˜!�f�X ‘]¬"¯'©'Ô2ô	
ô 	Ü�s˜D�k 2°Ô5Ü�H‰H�q˜!�f�X ‘]¬"¯'©'Ô2ô	
ð �r�d˜b˜T˜F R¨ G¨a°¨W¸¸A°w°iÀ1ÀbÀ'ÀØ�q�6�(˜Q‘, 1 b ' Ñ*ó,ˆAä—‘œzÐ1BÖCÜ˜!˜R¨$Õ/÷ DÐCñ,çCÐCús   ÃC"Ã"C+	c                 ó¤  — t        j                  t        d¬«      5  t        dgggd«       ddd«       t        j                  t        d¬«      5  t        ddgdd	ggd«       ddd«       t        j                  t        d¬«      5  t        t	        j
                  d
«      d«       ddd«       y# 1 sw Y   ŒƒxY w# 1 sw Y   ŒYxY w# 1 sw Y   yxY w)z"Ensure faulty usage is discovered.zmore dimensions than allowedrF   r   r   Nzcould not be broadcastrC   r0   r.   ©r0   r   )rI   rJ   rK   r   r!   Úones)r%   s    r*   Útest_exceptionszTestAsPairs.test_exceptionsi   s•   € ä�]‰]œ:Ð-KÖLÜ˜˜�u�g˜rÔ"÷ Mä�]‰]œ:Ð-EÖFÜ˜˜1�v  1˜vÐ&¨Ô*÷ Gä�]‰]œ:Ð-EÖFÜ”b—g‘g˜f“o qÔ)÷ GÐF÷	 MÐLúçFÐFúçFÐFús#   œB.ÁB:Â CÂ.B7Â:CÃCN)	Ú__name__Ú
__module__Ú__qualname__r+   r1   r7   r=   rL   rP   © r,   r*   r   r       s    „ ò
ò
ò2	
ò
ò0ó*r,   r   c                   óü   — e Zd Zej                  j                  dej                  «       «      d„ «       Zej                  j                  dg d¢«      d„ «       Z	ej                  j                  dg d¢«      d„ «       Z
y)ÚTestConditionalShortcutsÚmodec                 óÐ   — t        j                  d«      j                  ddd«      }|j                  D �cg c]  }d‘Œ }}t	        |t        j
                  |||¬«      «       y c c}w )Néx   r.   é   r:   ©r   r   ©rW   ©r!   r;   r<   Úshaper   Úpad©r%   rW   ÚtestÚ_Úpad_amts        r*   Útest_zero_padding_shortcutsz4TestConditionalShortcuts.test_zero_padding_shortcutst   sR   € ä�y‰y˜‹~×%Ñ% a¨¨AÓ.ˆØ#'§:¢:Ó.¡:˜a’6 :ˆÐ.Ü˜4¤§¡¨¨g¸DÔ!AÕBùò /s   µ	A#)r   r   r   r   c           	      óþ   — t        j                  d«      j                  ddd«      }|j                  D �cg c]  }d‘Œ }}t	        t        j
                  ||d¬«      t        j
                  |||d¬	«      «       y c c}w )
NrY   r.   rZ   r:   ©rC   rC   r   r\   rC   ©rW   r   r]   r`   s        r*   Útest_shallow_statistic_rangez5TestConditionalShortcuts.test_shallow_statistic_rangez   se   € ä�y‰y˜‹~×%Ñ% a¨¨AÓ.ˆØ#'§:¢:Ó.¡:˜a’6 :ˆÐ.Üœ2Ÿ6™6 $¨°fÔ=ÜŸ6™6 $¨°dÈÔJõ	Lùò /s   µ	A:c           	      óü   — t        j                  d«      j                  dd«      }|j                  D �cg c]  }d‘Œ }}t	        t        j
                  |||¬«      t        j
                  |||d¬«      «       y c c}w )Né   rZ   r:   )r   r   r\   rg   r]   r`   s        r*   Útest_clip_statistic_rangez2TestConditionalShortcuts.test_clip_statistic_range�   sc   € ä�y‰y˜‹}×$Ñ$ Q¨Ó*ˆØ#'§:¢:Ó.¡:˜a’6 :ˆÐ.Üœ2Ÿ6™6 $¨°dÔ;ÜŸ6™6 $¨°dÈÔKõ	Mùò /s   ´	A9N)rQ   rR   rS   rI   ÚmarkÚparametrizeÚ
_all_modesÚkeysrd   rh   rk   rT   r,   r*   rV   rV   s   s€   „ Ø‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñCó 8ðCð
 ‡[�[×Ñ˜VÒ%NÓOñLó PðLð ‡[�[×Ñ˜VÒ%NÓOñMó PñMr,   rV   c                   ó:  — 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ej"                  j%                  dg d¢«      d„ «       Zej"                  j%                  dg d¢«      ej"                  j%                  dg d¢«      d„ «       «       Zd„ Zej"                  j-                  d«      ej"                  j-                  d«      ej"                  j%                  dddg«      d„ «       «       «       Zej"                  j%                  dddg«      d„ «       Zy)ÚTestStatisticc                 óÄ   — t        j                  d«      j                  d«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t        ||«       y )Néd   Úf)©é   é   r   )rN   ©r   )‘ç      à?ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ry   ç        ç      ð?ç       @ç      @ç      @ç      @ç      @ç      @ç       @ç      "@ç      $@ç      &@ç      (@ç      *@ç      ,@ç      .@ç      0@ç      1@ç      2@ç      3@ç      4@ç      5@ç      6@ç      7@ç      8@ç      9@ç      :@ç      ;@ç      <@ç      =@ç      >@ç      ?@ç      @@ç     €@@ç      A@ç     €A@ç      B@ç     €B@ç      C@ç     €C@ç      D@ç     €D@ç      E@ç     €E@ç      F@ç     €F@ç      G@ç     €G@ç      H@ç     €H@ç      I@ç     €I@ç      J@ç     €J@ç      K@ç     €K@ç      L@ç     €L@ç      M@ç     €M@ç      N@ç     €N@ç      O@ç     €O@ç      P@ç     @P@ç     €P@ç     ÀP@ç      Q@ç     @Q@ç     €Q@ç     ÀQ@ç      R@ç     @R@ç     €R@ç     ÀR@ç      S@ç     @S@ç     €S@ç     ÀS@ç      T@ç     @T@ç     €T@ç     ÀT@ç      U@ç     @U@ç     €U@ç     ÀU@ç      V@ç     @V@ç     €V@ç     ÀV@ç      W@ç     @W@ç     €W@ç     ÀW@ç      X@ç     @X@ç     €X@ç     ÀX@rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   rÜ   ©r!   r;   Úastyper_   r"   r   ©r%   r/   Úbs      r*   Útest_check_mean_stat_lengthz)TestStatistic.test_check_mean_stat_lengthŠ   sM   € Ü�I‰I�c‹N×!Ñ! #Ó&ˆÜ�F‰F�1�l F¸
ÔCˆÜ�H‰Hòóˆô& 	˜1˜aÕ r,   c                 ó¢   — t        j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   )‘éc   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   r   rC   r0   r   r.   rZ   r:   é   é   rD   r   é   r9   é   é   é   é   é   é   é   rw   é   é   é   é   rv   é   é   é   é   rj   é   é    é!   é"   é#   é$   é%   é&   é'   é(   é)   é*   é+   é,   é-   é.   é/   é0   é1   é2   é3   é4   é5   é6   é7   é8   é9   é:   é;   é<   é=   é>   é?   é@   éA   éB   éC   éD   éE   éF   éG   éH   éI   éJ   éK   éL   éM   éN   éO   éP   éQ   éR   éS   éT   éU   éV   éW   éX   éY   éZ   é[   é\   é]   é^   é_   é`   éa   éb   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   rä   ©r!   r;   r_   r"   r   rà   s      r*   Útest_check_maximum_1z"TestStatistic.test_check_maximum_1¢   ó@   € Ü�I‰I�c‹NˆÜ�F‰F�1�h 	Ó*ˆÜ�H‰Hò5óˆô& 	˜1˜aÕ r,   c                 ó¨   — t        j                  d«      dz   }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   rC   ru   r   )‘rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   r;  rà   s      r*   Útest_check_maximum_2z"TestStatistic.test_check_maximum_2º   sE   € Ü�I‰I�c‹N˜QÑˆÜ�F‰F�1�h 	Ó*ˆÜ�H‰Hò?óˆô& 	˜1˜aÕ r,   c                 ó¬   — t        j                  d«      dz   }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nrs   rC   ru   r   r   rx   )‘r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   rs   r;  rà   s      r*   Útest_check_maximum_stat_lengthz,TestStatistic.test_check_maximum_stat_lengthÒ   sG   € Ü�I‰I�c‹N˜QÑˆÜ�F‰F�1�h 	°rÔ:ˆÜ�H‰Hò?óˆô& 	˜1˜aÕ r,   c                 ó¢   — t        j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   ©‘r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r;  rà   s      r*   Útest_check_minimum_1z"TestStatistic.test_check_minimum_1ê   s@   € Ü�I‰I�c‹NˆÜ�F‰F�1�h 	Ó*ˆÜ�H‰Hò+óˆô& 	˜1˜aÕ r,   c                 ó¨   — t        j                  d«      dz   }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   r0   ru   r   )‘r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rs   ée   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r0   r;  rà   s      r*   Útest_check_minimum_2z"TestStatistic.test_check_minimum_2  sE   € Ü�I‰I�c‹N˜QÑˆÜ�F‰F�1�h 	Ó*ˆÜ�H‰Hò+óˆô& 	˜1˜aÕ r,   c                 ó¬   — t        j                  d«      dz   }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nrs   rC   ru   r   r   rx   )‘rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rs   r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r3  r;  rà   s      r*   Útest_check_minimum_stat_lengthz,TestStatistic.test_check_minimum_stat_length  sG   € Ü�I‰I�c‹N˜QÑˆÜ�F‰F�1�h 	°rÔ:ˆÜ�H‰Hò5óˆô& 	˜1˜aÕ r,   c                 óÀ   — t        j                  d«      j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t        ||«       y )Nrs   rt   ru   r   ©‘ç     ÀH@rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rL  rÞ   rà   s      r*   Útest_check_medianzTestStatistic.test_check_median2  sL   € Ü�I‰I�c‹N×!Ñ! #Ó&ˆÜ�F‰F�1�h Ó)ˆÜ�H‰HòIóˆô& 	˜1˜aÕ r,   c                 óÎ   — t        j                  g d¢g d¢g d¢g«      }t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d	¢g d¢g«      }t        ||«       y )
N©r   rC   r.   ©r.   rZ   rD   ©rD   ræ   r0   rC   r   )r.   r.   rZ   r.   r.   ©r   r   rC   r.   r   ©rZ   r.   rZ   rD   rZ   ©ræ   rD   ræ   r0   ræ   )r!   r"   r_   r   rà   s      r*   Útest_check_median_01z"TestStatistic.test_check_median_01J  sW   € Ü�H‰H’i¢ªIÐ6Ó7ˆÜ�F‰F�1�a˜Ó"ˆÜ�H‰HÚâÚÚâðóˆô 	˜1˜aÕ r,   c                 óö   — t        j                  g d¢g d¢g d¢g«      }t        j                  |j                  dd«      j                  }t        j                  g d¢g d¢g d¢g d	¢g d¢g«      }t	        ||«       y )
NrO  rP  rQ  rC   r   )rZ   r.   rZ   r.   rZ   rR  rS  rT  )r!   r"   r_   ÚTr   rà   s      r*   Útest_check_median_02z"TestStatistic.test_check_median_02X  sa   € Ü�H‰H’i¢ªIÐ6Ó7ˆÜ�F‰F�1—3‘3˜˜8Ó$×&Ñ&ˆÜ�H‰HÚâÚÚâðóˆô 	˜1˜aÕ r,   c                 óØ   — t        j                  d«      j                  d«      }d|d<   d|d<   t        j                  |ddd	¬
«      }t        j                  g d¢«      }t        ||«       y )Nrs   rt   r|   rC   rÚ   r9  ru   r   ©r   rZ   rx   )‘r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   r|   rz   r|   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÚ   rÜ   rÝ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÚ   rÞ   rà   s      r*   Útest_check_median_stat_lengthz+TestStatistic.test_check_median_stat_lengthf  s_   € Ü�I‰I�c‹N×!Ñ! #Ó&ˆØˆˆ!‰Øˆˆ"‰Ü�F‰F�1�h °fÔ=ˆÜ�H‰Hò?óˆô& 	˜1˜aÕ r,   c                 óÐ   — g d¢g}t        j                  |ddd¬«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )N©r.   rZ   r:   ©rZ   rå   r   r0   rx   )r.   r.   r.   r.   r.   r.   rZ   r:   r:   r:   r:   r:   r:   r:   r:   ©r!   r_   r"   r   rà   s      r*   Útest_check_mean_shape_onez'TestStatistic.test_check_mean_shape_one€  sc   € ÚˆKˆÜ�F‰F�1�f˜f°!Ô4ˆÜ�H‰HÚ:Ú:Ú:Ú:Ú:â:â:Ú:Ú:Ú:Ú:Ú:Ú:ð<óˆô" 	˜1˜aÕ r,   c                 óÀ   — t        j                  d«      j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t        ||«       y )Nrs   rt   ru   r   rK  rÞ   rà   s      r*   Útest_check_mean_2zTestStatistic.test_check_mean_2–  sL   € Ü�I‰I�c‹N×!Ñ! #Ó&ˆÜ�F‰F�1�h Ó'ˆÜ�H‰HòIóˆô& 	˜1˜aÕ r,   rW   )r   r   r   r   c                 óÔ   — t        j                  g d¢«      t        j                  g d¢t         j                  ¬«      z   }t        j                  |d|«      }t	        |d   |d   «       y)z3 Test that appended and prepended values are equal )éÿÿÿÿr0   rd  )r   gê-�™—q=r   r?   rf   r   rd  N)r!   r"   Úfloat64r_   r   )r%   rW   r/   s      r*   Útest_same_prepend_appendz&TestStatistic.test_same_prepend_append®  sJ   € ô �H‰H’[Ó!¤B§H¡Hª]Ä"Ç*Á*Ô$MÑMˆÜ�F‰F�1�f˜dÓ#ˆÜ�Q�q‘T˜1˜R™5Õ!r,   r   ©rE   )rE   )r   rd  ))rZ   r0   )rE   r   ))rB   ©r0   c                 óâ   — t        j                  d«      j                  d«      }d}t        j                  t
        |¬«      5  t        j                  |d||¬«       d d d «       y # 1 sw Y   y xY w)Nrj   ©r:   rZ   ú#index can't contain negative valuesrF   r0   rx   ©r!   r;   r<   rI   rJ   rK   r_   )r%   rW   r   ÚarrrG   s        r*   Útest_check_negative_stat_lengthz-TestStatistic.test_check_negative_stat_length¼  sM   € ô
 �i‰i˜‹m×#Ñ# FÓ+ˆØ5ˆÜ�]‰]œ:¨UÖ3Ü�F‰F�3˜˜4¨[Õ9÷ 4×3Ñ3ús   ÁA%Á%A.c                 ó  — t        j                  d«      }t        j                  |d«      }t        j                  |ddd¬«      }t        j                  g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nrj   rj  ©rN   ©r   r0   r   ©r   rg   )
r:   r:   r:   rZ   r:   rå   ræ   rD   ræ   ræ   )
rC   rC   rC   r   rC   r0   r   r.   r   r   )
rç   rç   rç   r   rç   r9   rè   ré   rè   rè   )
rë   rë   rë   rê   rë   rì   rí   rî   rí   rí   )
rï   rï   rï   rw   rï   rð   rñ   rò   rñ   rñ   )
ró   ró   ró   rv   ró   rô   rõ   rö   rõ   rõ   ©r!   r;   r<   r_   r"   r   rà   s      r*   Útest_simple_stat_lengthz%TestStatistic.test_simple_stat_lengthÆ  st   € Ü�I‰I�b‹MˆÜ�J‰J�q˜&Ó!ˆÜ�F‰F�1Ð&¨VÀÔFˆÜ�H‰HÚ+Ú+â+Ú+Ú5Ú5Ú5Ú5â5Ú5Ú5ð7óˆô 	˜1˜aÕ r,   z)ignore:Mean of empty slice:RuntimeWarningzCignore:invalid value encountered in( scalar)? divide:RuntimeWarningr   r   c                 óÚ   — t        j                  ddgd|d¬«      }t        j                  t         j                  ddt         j                  t         j                  g«      }t	        ||«       y )Nr{   r|   ©rC   r0   r   rx   )r!   r_   r"   Únanr   )r%   rW   rm  r&   s       r*   Útest_zero_stat_length_validz)TestStatistic.test_zero_stat_length_validÛ  sK   € ô �f‰f�b˜"�X˜v t¸Ô;ˆÜ—8‘8œRŸV™V R¨¬R¯V©V´R·V±VÐ<Ó=ˆÜ�S˜(Õ#r,   r   r   c                 ó`  — d}t        j                  t        |¬«      5  t        j                  ddgd|d¬«       d d d «       t        j                  t        |¬«      5  t        j                  ddgd|d¬«       d d d «       t        j                  t        |¬«      5  t        j                  ddgd|d¬«       d d d «       t        j                  t        |¬«      5  t        j                  ddgd|d¬«       d d d «       y # 1 sw Y   ŒÇxY w# 1 sw Y   Œ”xY w# 1 sw Y   ŒaxY w# 1 sw Y   y xY w)	Nz,stat_length of 0 yields no value for paddingrF   r{   r|   r   rx   )rC   r   rC   )rI   rJ   rK   r!   r_   ©r%   rW   rG   s      r*   Útest_zero_stat_length_invalidz+TestStatistic.test_zero_stat_length_invalidå  sÌ   € à>ˆÜ�]‰]œ:¨UÖ3Ü�F‰F�B˜�8˜Q °!Õ4÷ 4ä�]‰]œ:¨UÖ3Ü�F‰F�B˜�8˜Q °&Õ9÷ 4ä�]‰]œ:¨UÖ3Ü�F‰F�B˜�8˜Q °!Õ4÷ 4ä�]‰]œ:¨UÖ3Ü�F‰F�B˜�8˜Q °&Õ9÷ 4Ð3÷ 4Ð3úç3Ð3úç3Ð3úç3Ð3ús/   žD ÁDÂDÃD$Ä D	ÄDÄD!Ä$D-N)rQ   rR   rS   râ   r<  r?  rA  rD  rG  rI  rM  rU  rX  r[  r`  rb  rI   rl   rm   rf  rn  rt  Úfilterwarningsrx  r{  rT   r,   r*   rq   rq   ‰   s?  „ ò!ò0!ò0!ò0!ò0!ò0!ò0!ò0!ò0!ò!ò!ò4!ò,!ð0 ‡[�[×Ñ˜Vò &ó ñ"óð"ð ‡[�[×Ñ˜VÒ%MÓNØ‡[�[×ÑØÒMóñ:óó Oð:ò!ð* ‡[�[×ÑÐ KÓLØ‡[�[×ÑØMóð ‡[�[×Ñ˜V f¨hÐ%7Ó8ñ$ó 9óó Mð
$ð
 ‡[�[×Ñ˜V i°Ð%;Ó<ñ	:ó =ñ	:r,   rq   c                   ó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y)ÚTestConstantc                 ó¦   — t        j                  d«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   )r   rw   ©r   )‘r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   rw   r;  rà   s      r*   Útest_check_constantz TestConstant.test_check_constantó  sB   € Ü�I‰I�c‹NˆÜ�F‰F�1�h 
¸HÔEˆÜ�H‰Hò5óˆô& 	˜1˜aÕ r,   c                 ó¢   — t        j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   rC  r;  rà   s      r*   Útest_check_constant_zerosz&TestConstant.test_check_constant_zeros  s@   € Ü�I‰I�c‹NˆÜ�F‰F�1�h 
Ó+ˆÜ�H‰Hò5óˆô& 	˜1˜aÕ r,   c                 óò   — t        j                  d«      j                  dd«      }t        j                  |ddd¬«      }t        j                  g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nrj   rZ   r:   rv  r   çš™™™™™ñ?©rW   r   )	rC   rC   rC   rC   rC   rC   rC   rC   rC   )	rC   r   rC   r0   r   r.   rZ   rC   rC   )	rC   r:   rå   ræ   rD   r   rç   rC   rC   )	rC   r9   rè   ré   rê   rë   rì   rC   rC   )	rC   rí   rî   rw   rï   rð   rñ   rC   rC   )	rC   rò   rv   ró   rô   rõ   rö   rC   rC   ©r!   r;   r<   r_   r"   r   ©r%   rm  ra   r&   s       r*   Útest_check_constant_floatz&TestConstant.test_check_constant_float#  sl   € ô �i‰i˜‹m×#Ñ# A qÓ)ˆÜ�v‰v�c˜6¨
Ø#&ô(ˆä—8‘8Ú1â1Ú1Ú1Ú1Ú1â1Ú1ð	3óˆô 	˜˜hÕ'r,   c                 ó0  — t        j                  d«      j                  dd«      }|j                  t         j                  «      }t        j
                  |ddd¬«      }t        j                  g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nrj   rZ   r:   ©rv  rv  r   r…  r†  )	r…  r…  r…  r…  r…  r…  r…  r…  r…  )	r…  rz   r{   r|   r}   r~   r   r…  r…  )	r…  r€   r�   r‚   rƒ   r„   r…   r…  r…  )	r…  r†   r‡   rˆ   r‰   rŠ   r‹   r…  r…  )	r…  rŒ   r�   rŽ   r�   r�   r‘   r…  r…  )	r…  r’   r“   r”   r•   r–   r—   r…  r…  ©r!   r;   r<   rß   re  r_   r"   r   )r%   rm  Ú	arr_floatra   r&   s        r*   Útest_check_constant_float2z'TestConstant.test_check_constant_float27  s€   € ô �i‰i˜‹m×#Ñ# A qÓ)ˆØ—J‘JœrŸz™zÓ*ˆ	Ü�v‰v�iÐ!1¸
Ø#&ô(ˆä—8‘8ÚLâLÚLÚLÚLÚLâLÚLð	Nóˆô 	˜˜hÕ'r,   c                 ó²   — t        j                  dt        ¬«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t        ||«       y )Nrs   r?   ru   r   )çš™™™™™ñ¿ç333333ó¿r€  )‘r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r�  r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  r‘  )r!   r;   r	   r_   r"   r   rà   s      r*   Útest_check_constant_float3z'TestConstant.test_check_constant_float3L  sF   € Ü�I‰I�c¤Ô'ˆÜ�F‰F�1�h 
¸LÔIˆÜ�H‰HòIóˆô& 	˜˜1Õr,   c           
      óì   — t        j                  d«      j                  dd«      }t        j                  |ddd¬«      }t        j                  g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nrj   rZ   r:   )©rC   rh  r   r   r†  )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   rC   r0   r   r.   rZ   r   r   )
r   r   r:   rå   ræ   rD   r   rç   r   r   )
r   r   r9   rè   ré   rê   rë   rì   r   r   )
r   r   rí   rî   rw   rï   rð   rñ   r   r   )
r   r   rò   rv   ró   rô   rõ   rö   r   r   r‡  rˆ  s       r*   Ú"test_check_constant_odd_pad_amountz/TestConstant.test_check_constant_odd_pad_amountd  sg   € Ü�i‰i˜‹m×#Ñ# A qÓ)ˆÜ�v‰v�c˜<¨jØ#$ô&ˆä—8‘8Ú5â5Ú5Ú5Ú5Ú5â5ð7ó
ˆô 	˜˜hÕ'r,   c                 óà   — t        j                  d«      j                  dd«      }t        j                  |ddd¬«      }t        j                  g d¢g d¢g d	¢g d
¢g d
¢g«      }t        ||«       y )Nr.   r0   )rv  ©rC   r   r   )rv  ©r   r.   r†  )r   rC   rC   r.   r.   r.   )r   r   rC   r.   r.   r.   )r   r0   r   r.   r.   r.   )r   r0   r0   r.   r.   r.   r‡  rˆ  s       r*   Útest_check_constant_pad_2dz'TestConstant.test_check_constant_pad_2du  sb   € Ü�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ�v‰v�cÐ+°*Ø*:ô<ˆä—8‘8ÚÚÚÚÚð	!ó
ˆô 	˜˜hÕ'r,   c                 ó  — d}t        j                  d|t         j                  ¬«      }t        j                  |dd|j	                  «       ¬«      }t        j                  d|t         j                  ¬«      }t        ||«       d}t        j                  d|t         j                  ¬«      }t        j                  |dd|j	                  «       ¬«      }t        j                  d|t         j                  ¬«      }t        ||«       y )	Nl   ÿÿÿÿ rZ   r?   rC   r   r†  rå   l   ÿÿÿÿ )r!   ÚfullÚuint64r_   Úminr   Úint64)r%   Ú
uint64_maxrm  ra   r&   Ú	int64_maxs         r*   Útest_check_large_integersz&TestConstant.test_check_large_integers‚  s¬   € Ø ˆ
Ü�g‰g�a˜¬2¯9©9Ô5ˆÜ�v‰v�c˜1 :¸s¿w¹w»yÔIˆÜ—7‘7˜1˜j´·	±	Ô:ˆÜ˜4 Ô*àˆ	Ü�g‰g�a˜¬"¯(©(Ô3ˆÜ�v‰v�c˜1 :¸s¿w¹w»yÔIˆÜ—7‘7˜1˜i¬r¯x©xÔ8ˆÜ˜4 Õ*r,   c                 ó"  — t        j                  dt        ¬«      }t        «       }||d<   t        «       }t        «       }t        j                  |dd||f¬«      }t        j                  dt        ¬«      }||d<   ||d<   ||d<   t	        ||«       y )NrC   r?   r   r   )Ú	pad_widthrW   r   rr  r0   )r!   r   r#   r_   r   )r%   rm  Úobj_aÚobj_bÚobj_cr&   s         r*   Útest_check_object_arrayz$TestConstant.test_check_object_array�  s‚   € Ü�h‰h�q¤Ô'ˆÜ“ˆØˆˆA‰Ü“ˆÜ“ˆÜ�f‰f�S A¨JØ&+¨U ^ô5ˆô —8‘8˜D¬Ô/ˆØˆ�‰Øˆ�‰Øˆ�‰ä˜3 Õ)r,   c                 ó„   — t        j                  d«      }t        j                  |g d¢d¬«      }|j                  dk(  sJ ‚y )N©r   r   r0   ©©r   rh  r”  r   r\   ©r   r.   r.   ©r!   Úzerosr_   r^   ©r%   rm  r(   s      r*   Útest_pad_empty_dimensionz%TestConstant.test_pad_empty_dimensionŸ  s5   € Ü�h‰h�yÓ!ˆÜ—‘˜Ò/°jÔAˆØ�|‰|˜yÒ(Ð(Ñ(r,   N)rQ   rR   rS   r�  rƒ  r‰  rŽ  r’  r•  r™  r¡  r§  r°  rT   r,   r*   r~  r~  ò  s4   „ ò!ò0!ò0(ò((ò*ò0(ò"(ò+ò*ó )r,   r~  c                   ó¨   — e Zd Zd„ Zd„ Zej                  j                  ef¬«      d„ «       Z	d„ Z
ej                  j                  de«      d„ «       Zy)	ÚTestLinearRampc                 óÊ   — t        j                  d«      j                  d«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t        ||dd¬	«       y )
Nrs   rt   ru   r   )r.   rZ   )r   )‘r~   g¸…ëQ¸@gq=
×£p@g)\�Âõ(@gáz®Gá
@gš™™™™™	@gR¸…ëQ@g
×£p=
@gÃõ(\�Â@g{®Gáz@g333333@gìQ¸…ë@g¤p=
×£ @g¸…ëQ¸þ?g)\�Âõ(ü?gš™™™™™ù?g
×£p=
÷?g{®Gázô?gìQ¸…ëñ?g¸…ëQ¸î?gš™™™™™é?g{®Gázä?g¸…ëQ¸Þ?g{®GázÔ?g{®GázÄ?rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   g33333“W@gffffffV@gš™™™™9U@gÍÌÌÌÌT@g     àR@g33333³Q@gfffff†P@g33333³N@gš™™™™YL@r®   gfffff¦G@gÍÌÌÌÌLE@g33333óB@gš™™™™™@@g     €<@gÍÌÌÌÌÌ7@gš™™™™3@gÍÌÌÌÌÌ,@gffffff#@r   gñhãˆµøä>)ÚrtolÚatol)r!   r;   rß   r_   r"   r   rà   s      r*   Útest_check_simplez TestLinearRamp.test_check_simple¦  sR   € Ü�I‰I�c‹N×!Ñ! #Ó&ˆÜ�F‰F�1�h ¸&ÔAˆÜ�H‰HòFóˆô& 	˜˜1 4¨dÖ3r,   c                 ó,  — t        j                  d«      j                  dd«      j                  t         j                  «      }t        j
                  |ddd¬«      }t        j                  g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nrw   r.   rZ   )r0   r0   r   r[   ©rW   r   )	rz   rz   rz   rz   rz   rz   rz   rz   rz   )	rz   rz   rz   ry   r{   g      ø?r|   r{   rz   )	rz   rz   rz   r{   r|   r}   r~   r|   rz   )	rz   g      @r   r€   r�   r‚   rƒ   g      @rz   )	rz   r   r„   r…   r†   r‡   rˆ   r�   rz   )	rz   ç      @r‰   rŠ   r‹   rŒ   r�   ç      #@rz   )	rz   g      @r¹  r‚   g      !@rƒ   rº  g      @rz   rŒ  rˆ  s       r*   Útest_check_2dzTestLinearRamp.test_check_2d¾  sx   € Ü�i‰i˜‹m×#Ñ# A qÓ)×0Ñ0´·±Ó<ˆÜ�v‰v�c˜6¨À&ÔIˆÜ—8‘8ÚBÚBÚBÚBÚBÚBÚBÚBðDóEˆô 	˜˜hÕ'r,   )Ú
exceptionsc                 ó>  — ddl m} t        j                   |dd«       |dd«      g«      }t        j                  |ddd¬«      }t        j                   |dd	«       |d
d	«       |dd	«       |dd	«       |dd	«       |dd	«       |dd	«      g«      }t        ||«       y )Nr   )ÚFractionrC   r0   rd  rN   r   r¸  r9   r   r:   éúÿÿÿrB   rE   )Ú	fractionsr¾  r!   r"   r_   r   )r%   r¾  rm  Úactualr&   s        r*   Útest_object_arrayz TestLinearRamp.test_object_arrayÌ  sŸ   € å&Ü�h‰h™  A›©°°Q«Ð8Ó9ˆÜ—‘˜˜V¨-ÀAÔFˆô —8‘8Ù�a˜ÓÙ�a˜ÓÙ�a˜ÓÙ�R˜ÓÙ�R˜ÓÙ�R˜ÓÙ�R˜Óð
ó ˆô 	�V˜XÕ&r,   c                 ó  — t        j                  t        j                  d«      j                  dd«      dd¬«      }t	        |dd…df   d	«       t	        |dd…d
f   d	«       t	        |ddd…f   d	«       t	        |d
dd…f   d	«       y)z!Ensure that end values are exact.r   r0   rZ   )éß   é{   r   r\   Nr   rz   rd  )r!   r_   rO   r<   r   )r%   r/   s     r*   Útest_end_valueszTestLinearRamp.test_end_valuesß  sq   € ä�F‰F”2—7‘7˜2“;×&Ñ& q¨!Ó,¨j¸}ÔMˆÜ�Q’q˜!�t‘W˜bÔ!Ü�Q’q˜"�u‘X˜rÔ"Ü�Q�qš!�t‘W˜bÔ!Ü�Q�rš1�u‘X˜rÕ"r,   r@   c                 ó\  — t        j                  dg|¬«      }t        j                  |ddd¬«      }t        j                  g d¢|¬«      }t        ||«       t        j                  dg|¬«      }t        j                  |ddd¬«      }t        j                  g d¢|¬«      }t        ||«       y)	a<  
        Check correct behavior of unsigned dtypes if there is a negative
        difference between the edge to pad and `end_values`. Check both cases
        to be independent of implementation. Test behavior for all other dtypes
        in case dtype casting interferes with complex dtypes. See gh-14191.
        r   r?   r   r   r¸  )r   rC   r0   r   r0   rC   r   )r   r0   rC   r   rC   r0   r   N)r!   r"   r_   r   )r%   r@   r'   r(   r&   s        r*   Útest_negative_differencez'TestLinearRamp.test_negative_differenceç  s†   € ô �H‰H�a�S Ô&ˆÜ—‘˜˜1 =¸QÔ?ˆÜ—8‘8Ò1¸Ô?ˆÜ�V˜XÔ&ä�H‰H�a�S Ô&ˆÜ—‘˜˜1 =¸QÔ?ˆÜ—8‘8Ò1¸Ô?ˆÜ�V˜XÕ&r,   N)rQ   rR   rS   r¶  r»  rI   rl   ÚxfailÚAssertionErrorrÂ  rÆ  rm   Ú_numeric_dtypesrÈ  rT   r,   r*   r²  r²  ¥  s_   „ ò4ò0(ð ‡[�[×Ñ >Ð"3ÐÓ4ñ'ó 5ð'ò$#ð ‡[�[×Ñ˜W oÓ6ñ'ó 7ñ'r,   r²  c                   óN   — 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y)ÚTestReflectc                 ó¢   — t        j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   )‘rv   rò   rñ   rð   rï   rw   rî   rí   rì   rë   rê   ré   rè   r9   rç   r   rD   ræ   rå   r:   rZ   r.   r   r0   rC   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   r:  r9  r8  r7  r6  r5  r4  r3  r2  r1  r0  r/  r.  r-  r,  r+  r*  r)  r(  r'  r;  rà   s      r*   r¶  zTestReflect.test_check_simpleû  r=  r,   c                 ó¦   — t        j                  d«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   Úodd©r   )‘içÿÿÿéèÿÿÿééÿÿÿéêÿÿÿéëÿÿÿéìÿÿÿéíÿÿÿéîÿÿÿéïÿÿÿéðÿÿÿéñÿÿÿéòÿÿÿéóÿÿÿéôÿÿÿéõÿÿÿéöÿÿÿé÷ÿÿÿéøÿÿÿéùÿÿÿr¿  éûÿÿÿrB   rA   rE   rd  r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rs   rF  éf   ég   éh   éi   éj   ék   él   ém   én   éo   ép   éq   ér   és   ét   éu   év   éw   r;  rà   s      r*   Útest_check_odd_methodz!TestReflect.test_check_odd_method  sB   € Ü�I‰I�c‹NˆÜ�F‰F�1�h 	¸Ô>ˆÜ�H‰Hò?óˆô& 	˜1˜aÕ r,   c                 óØ   — g d¢g d¢g}t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nr]  ©r:   rå   ræ   r^  r   )rå   r:   rå   ræ   rå   r:   rå   ræ   rå   r:   rå   ræ   rå   r:   rå   ©rZ   r.   rZ   r:   rZ   r.   rZ   r:   rZ   r.   rZ   r:   rZ   r.   rZ   r_  rà   s      r*   Útest_check_large_padz TestReflect.test_check_large_pad+  sg   € Úš	Ð"ˆÜ�F‰F�1�f˜iÓ(ˆÜ�H‰HÚ:Ú:Ú:Ú:Ú:â:Ú:â:Ú:Ú:Ú:Ú:Ú:Ú:ð<óˆô$ 	˜1˜aÕ r,   c                 óÌ   — g d¢g}t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nr]  r^  r   rú  r_  rà   s      r*   Útest_check_shapezTestReflect.test_check_shapeB  sa   € ÚˆKˆÜ�F‰F�1�f˜iÓ(ˆÜ�H‰HÚ:Ú:Ú:Ú:Ú:â:â:Ú:Ú:Ú:Ú:Ú:Ú:ð<óˆô" 	˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )N©rC   r0   r   r0   r   )r   r0   rC   r0   r   r0   rC   r_  rà   s      r*   Útest_check_01zTestReflect.test_check_01X  s-   € Ü�F‰F’9˜a Ó+ˆÜ�H‰HÒ*Ó+ˆÜ˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r   r   )	r0   r   r0   rC   r0   r   r0   rC   r0   r_  rà   s      r*   Útest_check_02zTestReflect.test_check_02]  s-   € Ü�F‰F’9˜a Ó+ˆÜ�H‰HÒ0Ó1ˆÜ˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r.   r   )rC   r0   r   r0   rC   r0   r   r0   rC   r0   r   r_  rà   s      r*   Útest_check_03zTestReflect.test_check_03b  s-   € Ü�F‰F’9˜a Ó+ˆÜ�H‰HÒ6Ó7ˆÜ˜1˜aÕ r,   c                 ó€   — t        j                  g d¢ddgd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  rC   r   r   )r0   rC   r0   r   r0   rC   r0   r   r0   rC   r0   r   r0   rC   r_  rà   s      r*   Útest_check_04zTestReflect.test_check_04g  s1   € Ü�F‰F’9˜q "˜g yÓ1ˆÜ�H‰HÒ?Ó@ˆÜ˜1˜aÕ r,   c                 ó€   — t        j                  g d¢ddgd«      }t        j                  g d¢«      }t        ||«       y )N©rC   r0   r   r.   r  r   r   );r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r   r.   r   r0   rC   r0   r_  rà   s      r*   Útest_check_05zTestReflect.test_check_05l  s7   € Ü�F‰F’< " b ¨9Ó5ˆÜ�H‰Hò(ó)ˆô 	˜1˜aÕ r,   c                 ó€   — t        j                  g d¢ddgd«      }t        j                  g d¢«      }t        ||«       y )Nr  rê   r0   r   )r0   r   r.   r.   r   r0   rC   rC   r0   r   r.   r.   r   r0   rC   rC   r0   r   r.   r.   r   r_  rà   s      r*   Útest_check_06zTestReflect.test_check_06w  s7   € Ü�F‰F’< " a ¨+Ó6ˆÜ�H‰Hòó
ˆô
 	˜1˜aÕ r,   c                 ó€   — t        j                  g d¢ddgd«      }t        j                  g d¢«      }t        ||«       y )N)rC   r0   r   r.   rZ   r:   r  r   r   )6r.   rZ   r:   r:   rZ   r.   r   r0   rC   rC   r0   r   r.   rZ   r:   r:   rZ   r.   r   r0   rC   rC   r0   r   r.   rZ   r:   r:   rZ   r.   r   r0   rC   rC   r0   r   r.   rZ   r:   r:   rZ   r.   r   r0   rC   rC   r0   r   r.   rZ   r:   r:   rZ   r.   r_  rà   s      r*   Útest_check_07zTestReflect.test_check_07€  s8   € Ü�F‰FÒ%¨¨A w°Ó<ˆÜ�H‰Hòóˆô 	˜1˜aÕ r,   N)rQ   rR   rS   r¶  r÷  rû  rý  r   r  r  r  r	  r  r  rT   r,   r*   rÍ  rÍ  ú  s9   „ ò!ò0!ò0!ò.!ò,!ò
!ò
!ò
!ò
	!ò!ó	!r,   rÍ  c                   óæ   — e Zd ZdZej
                  j                  d eej                  «       ddhz
  «      «      d„ «       Z
ej
                  j                  dej                  «       «      d„ «       Zy)ÚTestEmptyArrayz<Check how padding behaves on arrays with an empty dimension.rW   r   r   c                 ó  — d}t        j                  t        |¬«      5  t        j                  g d|¬«       d d d «       t        j                  t        |¬«      5  t        j                  t        j
                  d«      d|¬«       d d d «       t        j                  t        |¬«      5  t        j                  t        j                  d«      d|¬«       d d d «       y # 1 sw Y   Œ¨xY w# 1 sw Y   ŒexY w# 1 sw Y   y xY w)NzFcan't extend empty axis 0 using modes other than 'constant' or 'empty'rF   r.   r\   r   )r   r   )r”  r«  )rI   rJ   rK   r!   r_   Úndarrayr®  rz  s      r*   r°  z'TestEmptyArray.test_pad_empty_dimension�  s�   € ðˆä�]‰]œ:¨UÖ3Ü�F‰F�2�q˜tÕ$÷ 4ä�]‰]œ:¨UÖ3Ü�F‰F”2—:‘:˜a“= !¨$Õ/÷ 4ä�]‰]œ:¨UÖ3Ü�F‰F”2—8‘8˜FÓ# \¸Õ=÷ 4Ð3÷	 4Ð3úç3Ð3úç3Ð3ús#   žCÁ,C*Â),C6ÃC'Ã*C3Ã6C?c                 ó|   — t        j                  t        j                  d«      d|¬«      }|j                  dk(  sJ ‚y )N)r0   r   r0   )rr  r«  r”  r\   )ræ   r   r.   )r!   r_   rO   r^   )r%   rW   r(   s      r*   Útest_pad_non_empty_dimensionz+TestEmptyArray.test_pad_non_empty_dimensionž  s0   € ä—‘œŸ™ 	Ó*Ð,>ÀTÔJˆØ�|‰|˜yÒ(Ð(Ñ(r,   N)rQ   rR   rS   Ú__doc__rI   rl   rm   Úsortedrn   ro   r°  r  rT   r,   r*   r  r  Œ  so   „ ÙFà‡[�[×Ñð 	‘�z—‘Ó(¨J¸Ð+@Ñ@ÓAóñ
>óð
>ð ‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñ)ó 8ñ)r,   r  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestSymmetricc                 ó¢   — t        j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   )‘rò   rñ   rð   rï   rw   rî   rí   rì   rë   rê   ré   rè   r9   rç   r   rD   ræ   rå   r:   rZ   r.   r   r0   rC   r   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rä   r:  r9  r8  r7  r6  r5  r4  r3  r2  r1  r0  r/  r.  r-  r,  r+  r*  r)  r(  r;  rà   s      r*   r¶  zTestSymmetric.test_check_simple¥  s@   € Ü�I‰I�c‹NˆÜ�F‰F�1�h Ó,ˆÜ�H‰Hò5óˆô& 	˜1˜aÕ r,   c                 ó¦   — t        j                  d«      }t        j                  |ddd¬«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   rÐ  rÑ  )‘rÒ  rÓ  rÔ  rÕ  rÖ  r×  rØ  rÙ  rÚ  rÛ  rÜ  rÝ  rÞ  rß  rà  rá  râ  rã  r¿  rä  rB   rA   rE   rd  r   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   rä   rs   rF  rå  ræ  rç  rè  ré  rê  rë  rì  rí  rî  rï  rð  rñ  rò  ró  rô  rõ  r;  rà   s      r*   r÷  z#TestSymmetric.test_check_odd_method½  sB   € Ü�I‰I�c‹NˆÜ�F‰F�1�h ¸%Ô@ˆÜ�H‰Hò?óˆô& 	˜1˜aÕ r,   c                 óØ   — g d¢g d¢g}t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nr]  rù  r^  r   ©rZ   r:   r:   rZ   r.   r.   rZ   r:   r:   rZ   r.   r.   rZ   r:   r:   )rå   ræ   ræ   rå   r:   r:   rå   ræ   ræ   rå   r:   r:   rå   ræ   ræ   r_  rà   s      r*   rû  z"TestSymmetric.test_check_large_padÕ  sg   € Úš	Ð"ˆÜ�F‰F�1�f˜kÓ*ˆÜ�H‰HÚ:Ú:Ú:Ú:Ú:â:Ú:â:Ú:Ú:Ú:Ú:Ú:Ú:ð<óˆô& 	˜1˜aÕ r,   c                 óÜ   — g d¢g d¢g}t        j                  |ddd¬«      }t        j                  g d¢g d¢g d¢g d¢g d	¢g d	¢g d
¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nr]  rù  r^  r   rÐ  rÑ  )rA   rE   rE   rd  r   r   rC   r0   r0   r   r.   r.   rZ   r:   r:   )rd  r   r   rC   r0   r0   r   r.   r.   rZ   r:   r:   rå   ræ   ræ   )rC   r0   r0   r   r.   r.   rZ   r:   r:   rå   ræ   ræ   rD   r   r   )r   r.   r.   rZ   r:   r:   rå   ræ   ræ   rD   r   r   rç   r9   r9   )rZ   r:   r:   rå   ræ   ræ   rD   r   r   rç   r9   r9   rè   ré   ré   )rå   ræ   ræ   rD   r   r   rç   r9   r9   rè   ré   ré   rê   rë   rë   )rD   r   r   rç   r9   r9   rè   ré   ré   rê   rë   rë   rì   rí   rí   r_  rà   s      r*   Útest_check_large_pad_oddz&TestSymmetric.test_check_large_pad_oddí  sj   € Úš	Ð"ˆÜ�F‰F�1�f˜k¸Ô>ˆÜ�H‰HÚIÚIÚIÚIÚIâIÚIâIÚIÚIÚIÚIÚIÚIðKóˆô$ 	˜1˜aÕ r,   c                 óÌ   — g d¢g}t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nr]  r^  r   r  r_  rà   s      r*   rý  zTestSymmetric.test_check_shape  sa   € ÚˆKˆÜ�F‰F�1�f˜kÓ*ˆÜ�H‰HÚ:Ú:Ú:Ú:Ú:â:Ú:â:Ú:Ú:Ú:Ú:Ú:ð<óˆô" 	˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r0   r   )r0   rC   rC   r0   r   r   r0   r_  rà   s      r*   r   zTestSymmetric.test_check_01  s-   € Ü�F‰F’9˜a Ó-ˆÜ�H‰HÒ*Ó+ˆÜ˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r   r   )	r   r0   rC   rC   r0   r   r   r0   rC   r_  rà   s      r*   r  zTestSymmetric.test_check_02  s-   € Ü�F‰F’9˜a Ó-ˆÜ�H‰HÒ0Ó1ˆÜ˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r:   r   )rC   r0   r   r   r0   rC   rC   r0   r   r   r0   rC   rC   r0   r   r_  rà   s      r*   r  zTestSymmetric.test_check_03$  s-   € Ü�F‰F’9˜a Ó-ˆÜ�H‰HÒBÓCˆÜ˜1˜aÕ r,   N)rQ   rR   rS   r¶  r÷  rû  r  rý  r   r  r  rT   r,   r*   r  r  ¤  s*   „ ò!ò0!ò0!ò0!ò.!ò,!ò
!ó
!r,   r  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestWrapc                 ó¢   — t        j                  d«      }t        j                  |dd«      }t        j                  g d¢«      }t	        ||«       y )Nrs   ru   r   )‘r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   rw   rï   rð   rñ   rò   rv   ró   rô   rõ   rö   rj   r÷   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  rä   r   rC   r0   r   r.   rZ   r:   rå   ræ   rD   r   rç   r9   rè   ré   rê   rë   rì   rí   rî   r;  rà   s      r*   r¶  zTestWrap.test_check_simple+  s@   € Ü�I‰I�c‹NˆÜ�F‰F�1�h Ó'ˆÜ�H‰Hò5óˆô& 	˜1˜aÕ r,   c                 ó`  — t        j                  d«      }t        j                  |d«      }t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nr9   r˜  )r   r9   r   )r   rç   ræ   rD   r   rç   ræ   rD   r   rç   ræ   rD   r   rç   ræ   rD   r   rç   ræ   rD   r   rç   ræ   rD   r   rç   )r0   r   r   rC   r0   r   r   rC   r0   r   r   rC   r0   r   r   rC   r0   r   r   rC   r0   r   r   rC   r0   r   )r:   rå   r.   rZ   r:   rå   r.   rZ   r:   rå   r.   rZ   r:   rå   r.   rZ   r:   rå   r.   rZ   r:   rå   r.   rZ   r:   rå   rs  rà   s      r*   rû  zTestWrap.test_check_large_padC  sÏ   € Ü�I‰I�b‹MˆÜ�J‰J�q˜&Ó!ˆÜ�F‰F�1�h Ó'ˆÜ�H‰Hò.ò)ò)ò.ò)ò)ò.ò)ò)ò.ò)ò)ò.ò)ò)ò.ò)ò)ò.ò)ò)ò.ò)ò)ò.ðe3/ó5ˆôl 	˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r   r   )	rC   r0   r   rC   r0   r   rC   r0   r   r_  rà   s      r*   r   zTestWrap.test_check_01  s-   € Ü�F‰F’9˜a Ó(ˆÜ�H‰HÒ0Ó1ˆÜ˜1˜aÕ r,   c                 ó|   — t        j                  g d¢dd«      }t        j                  g d¢«      }t        ||«       y )Nrÿ  r.   r   )r   rC   r0   r   rC   r0   r   rC   r0   r   rC   r_  rà   s      r*   r  zTestWrap.test_check_02„  s-   € Ü�F‰F’9˜a Ó(ˆÜ�H‰HÒ6Ó7ˆÜ˜1˜aÕ r,   c                 óˆ   — t        j                  d«      }t        j                  |dd¬«      }t        ||d d…d d…f   «       y )NrZ  )r   rZ   r   r\   rä  )r!   rO   r_   r   rà   s      r*   Útest_pad_with_zerozTestWrap.test_pad_with_zero‰  s;   € Ü�G‰G�F‹OˆÜ�F‰F�1�f 6Ô*ˆÜ˜1˜a    S b S ™kÕ*r,   c                 óH  — t        j                  d«      }t        j                  |dd¬«      }t        t         j                  ||||f   dd |«       t        j                  d«      }t        j                  |dd¬«      }t        t         j                  ||||f   dd |«       y)	zy
        Check wrapping on each side individually if the wrapped area is longer
        than the original array.
        rZ   )r9   r   r   r\   r   N)r   r9   rA   )r!   r;   r_   r   Úr_rà   s      r*   Útest_repeated_wrappingzTestWrap.test_repeated_wrappingŽ  s†   € ô
 �I‰I�a‹LˆÜ�F‰F�1�g FÔ+ˆÜœ2Ÿ5™5  A q¨! Ñ,¨Q¨RÐ0°!Ô4ä�I‰I�a‹LˆÜ�F‰F�1�g FÔ+ˆÜœ2Ÿ5™5  A q¨! Ñ,¨S¨bÐ1°1Õ5r,   c           	      óè   — t        j                  d«      j                  dd«      }t        j                  |ddgd¬«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y	)
zŽ
        Assert that 'wrap' pads only with multiples of the original area if
        the pad width is larger than the original array.
        r.   r0   r—  ©r   rC   r   r\   )r   r0   r   r0   r   r0   )rC   r   rC   r   rC   r   Nrs  rà   s      r*   Ú&test_repeated_wrapping_multiple_originz/TestWrap.test_repeated_wrapping_multiple_origin›  sf   € ô
 �I‰I�a‹L× Ñ   AÓ&ˆÜ�F‰F�1�v˜vÐ&¨VÔ4ˆÜ�H‰HÚÚÚÚÚÚð!ó
ˆô 	˜1˜aÕ r,   N)
rQ   rR   rS   r¶  rû  r   r  r)  r,  r/  rT   r,   r*   r#  r#  *  s&   „ ò!ò0:!òx!ò
!ò
+ò
6ó!r,   r#  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestEdgec                 ó   — t        j                  d«      }t        j                  |d«      }t        j                  |dd«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g	«      }t        ||«       y ©	Nr9   ©r.   r   rp  r   )r   r   r   r   rC   r0   r0   r0   )r   r   r   r   r.   rZ   rZ   rZ   )r:   r:   r:   r:   rå   ræ   ræ   ræ   )rD   rD   rD   rD   r   rç   rç   rç   rs  rà   s      r*   r¶  zTestEdge.test_check_simple®  sl   € Ü�I‰I�b‹MˆÜ�J‰J�q˜&Ó!ˆÜ�F‰F�1Ð&¨Ó/ˆÜ�H‰HÚ%Ú%â%Ú%Ú%Ú)â)Ú)Ú)ð
+óˆô 	˜1˜aÕ r,   c                 ó  — t        j                  g d¢«      }t        j                  |dd«      }t        j                  g d¢«      }t        ||«       t        j                  g d¢g d¢g«      }t        j                  |dd«      }t        j                  |dd«      }t        ||«       t        j                  d«      j                  dd	d
«      }t        j                  |dd«      }t        j                  |dd«      }t        ||«       y )Nrÿ  )rv  r   )rC   rC   r0   r   r   r   r]  r‹  rò   r0   r   r.   )rv  rv  rv  )r!   r"   r_   r   r;   r<   )r%   r/   Úpaddedr&   s       r*   Útest_check_width_shape_1_2z#TestEdge.test_check_width_shape_1_2Á  sÊ   € ô �H‰H’YÓˆÜ—‘˜˜9 fÓ-ˆÜ—8‘8Ò.Ó/ˆÜ˜6 8Ô,ä�H‰H’i¢Ð+Ó,ˆÜ—‘˜˜9 fÓ-ˆÜ—6‘6˜!Ð-¨vÓ6ˆÜ˜6 8Ô,ä�I‰I�b‹M×!Ñ! ! Q¨Ó*ˆÜ—‘˜˜9 fÓ-ˆÜ—6‘6˜!Ð5°vÓ>ˆÜ˜6 8Õ,r,   N)rQ   rR   rS   r¶  r7  rT   r,   r*   r1  r1  ­  s   „ ò!ó&-r,   r1  c                   ó   — e Zd Zd„ Zd„ Zy)Ú	TestEmptyc                 óÎ   — t        j                  d«      j                  dd«      }t        j                  |ddgd¬«      }|j                  dk(  sJ ‚t        ||d	d
…dd…f   «       y )Nrò   r.   r:   rN   r.  r   r\   )rD   r   r0   rA   r   rd  ©r!   r;   r<   r_   r^   r   r¯  s      r*   Útest_simplezTestEmpty.test_simpleÕ  s`   € Ü�i‰i˜‹m×#Ñ# A qÓ)ˆÜ—‘˜˜f fÐ-°GÔ<ˆØ�|‰|˜wÒ&Ð&Ð&Ü�S˜&  2  q¨ t Ñ,Õ-r,   c                 ó„   — t        j                  d«      }t        j                  |g d¢d¬«      }|j                  dk(  sJ ‚y )Nr©  rª  r   r\   r¬  r­  r¯  s      r*   r°  z"TestEmpty.test_pad_empty_dimensionÛ  s5   € Ü�h‰h�yÓ!ˆÜ—‘˜Ò/°gÔ>ˆØ�|‰|˜yÒ(Ð(Ñ(r,   N)rQ   rR   rS   r<  r°  rT   r,   r*   r9  r9  Ô  s   „ ò.ó)r,   r9  c            	      óè   — d„ } t        j                  d«      j                  dd«      }t        j                  |d| «      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        ||«       y )Nc                 ó&   — d| d |d    d| |d    d  y )Nr   r   rC   rT   )Úvectorr£  ÚiaxisÚkwargss       r*   Ú_padwithtensz6test_legacy_vector_functionality.<locals>._padwithtensâ  s$   € Ø "ˆˆ}�	˜!‘ÐØ!#ˆ�	˜!‘ˆ}ˆ~Ñr,   r:   r0   r   )r   r   r   r   r   r   r   )r   r   r   rC   r0   r   r   )r   r   r   r.   rZ   r   r   rs  )rC  r/   rá   s      r*   Ú test_legacy_vector_functionalityrD  á  sf   € ò$ô 	�	‰	�!‹×Ñ˜Q Ó"€AÜ
�‰ˆq�!�\Ó"€AÜ
�‰Ú	%Ú	%â	%Ú	%â	%Ú	%ð	'ó		
€Aô �q˜!Õr,   c                  ó|   — t        j                  dgdd¬«      } t        j                  g d¢«      }t        | |«       y )NrC   r0   r   r\   )r   r   rC   r   r   r_  )r/   rá   s     r*   Útest_unicode_moderF  õ  s.   € Ü
�‰�ˆs�A˜JÔ'€AÜ
�‰’Ó!€AÜ�q˜!Õr,   rW   )r   r   r   r   c                 ó¨   — t        j                  dd ¬«      }d}t        j                  dd ¬«      }t        t        j                  ||| ¬«      |«       y )Nr4  )Ú
fill_valuerp  )rD   ræ   r\   )r!   r›  r   r_   )rW   r/   rc   rá   s       r*   Útest_object_inputrI  û  s@   € ô 	�‰� 4Ô(€AØ€GÜ
�‰� 4Ô(€AÜ”r—v‘v˜a ¨tÔ4°aÕ8r,   c                   ó*  — e Zd Zej                  j                  dg d¢«      ej                  j                  dej                  «       «      d„ «       «       Zej                  j                  dej                  «       «      d„ «       Z	ej                  j                  dg d¢«      ej                  j                  dej                  «       «      d„ «       «       Z
ej                  j                  dd	d
d e«       dfddef edd«      dfdg«      ej                  j                  dej                  «       «      d„ «       «       Zd„ Zej                  j                  dg d¢«      ej                  j                  dej                  «       «      d„ «       «       Zy)ÚTestPadWidthr£  ))r.   rZ   r:   rå   )r”  rh  rr  )rv  r˜  )rZ   r:   ))r   r.   rZ   )r   rC   r0   rW   c                 óÞ   — t        j                  d«      j                  d«      }d}t        j                  t
        |¬«      5  t        j                  |||«       d d d «       y # 1 sw Y   y xY w)Nrj   rj  z(operands could not be broadcast togetherrF   rl  ©r%   r£  rW   rm  rG   s        r*   Útest_misshaped_pad_widthz%TestPadWidth.test_misshaped_pad_width  sK   € ô �i‰i˜‹m×#Ñ# FÓ+ˆØ:ˆÜ�]‰]œ:¨UÖ3Ü�F‰F�3˜	 4Ô(÷ 4×3Ñ3úó   ÁA#Á#A,c                 óÞ   — t        j                  d«      j                  d«      }d}t        j                  t
        |¬«      5  t        j                  |d|«       d d d «       y # 1 sw Y   y xY w)Nrj   rj  zDinput operand has more dimensions than allowed by the axis remappingrF   ))rr  )r.   )rZ   )r«  r”  rh  rl  )r%   rW   rm  rG   s       r*   Útest_misshaped_pad_width_2z'TestPadWidth.test_misshaped_pad_width_2  sL   € ä�i‰i˜‹m×#Ñ# FÓ+ˆðˆä�]‰]œ:¨UÖ3Ü�F‰F�3Ð@À$ÔG÷ 4×3Ñ3úrO  rg  c                 óÞ   — t        j                  d«      j                  d«      }d}t        j                  t
        |¬«      5  t        j                  |||«       d d d «       y # 1 sw Y   y xY w)Nrj   rj  rk  rF   rl  rM  s        r*   Útest_negative_pad_widthz$TestPadWidth.test_negative_pad_width  sK   € ô �i‰i˜‹m×#Ñ# FÓ+ˆØ5ˆÜ�]‰]œ:¨UÖ3Ü�F‰F�3˜	 4Ô(÷ 4×3Ñ3úrO  zpad_width, dtype)Ú3N)ÚwordNr3   N)g333333@N))r0   r   r.   rq  rC   rd  )))gÍÌÌÌÌÌ Àr   rq  Nc                 óP  — t        j                  d«      j                  d«      }d}|�Qt        j                  t
        |¬«      5  t        j                  |t        j                  ||¬«      |«       d d d «       y t        j                  t
        |¬«      5  t        j                  |||«       d d d «       t        j                  t
        |¬«      5  t        j                  |t        j                  |«      |«       d d d «       y # 1 sw Y   y xY w# 1 sw Y   ŒdxY w# 1 sw Y   y xY w)Nrj   rj  z%`pad_width` must be of integral type.rF   r?   )r!   r;   r<   rI   rJ   Ú	TypeErrorr_   r"   )r%   r£  r@   rW   rm  rG   s         r*   Útest_bad_typezTestPadWidth.test_bad_type#  sÅ   € ô �i‰i˜‹m×#Ñ# FÓ+ˆØ7ˆØÐä—‘œy°Ö6Ü—‘�sœBŸH™H Y°eÔ<¸dÔC÷ 7Ð6ô —‘œy°Ö6Ü—‘�s˜I tÔ,÷ 7ä—‘œy°Ö6Ü—‘�sœBŸH™H YÓ/°Ô6÷ 7Ð6÷ 7Ð6ú÷ 7Ð6úç6Ð6ús$   Á-DÂDÃ+DÄDÄDÄD%c                 ó&  — t        j                  d«      }t        j                  |d«      }t        j                  |t        j                  d«      d«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g	«      }t        ||«       y r3  rs  rà   s      r*   Útest_pad_width_as_ndarrayz&TestPadWidth.test_pad_width_as_ndarray;  su   € Ü�I‰I�b‹MˆÜ�J‰J�q˜&Ó!ˆÜ�F‰F�1”b—h‘hÐ/Ó0°&Ó9ˆÜ�H‰HÚ0Ú0â0Ú0Ú0Ú0â0Ú0Ú0ð
2óˆô 	˜1˜aÕ r,   )r   r[   )r[   r[   c                 ó’   — t        j                  d«      j                  dd«      }t        |t        j                  |||¬«      «       y )Nrj   r:   rZ   r\   )r!   r;   r<   r   r_   )r%   r£  rW   rm  s       r*   Útest_zero_pad_widthz TestPadWidth.test_zero_pad_widthN  s5   € ô �i‰i˜‹m×#Ñ# A qÓ)ˆÜ˜3¤§¡ s¨I¸DÔ AÕBr,   )rQ   rR   rS   rI   rl   rm   rn   ro   rN  rQ  rS  r#   r
   rX  rZ  r\  rT   r,   r*   rK  rK    s�  „ Ø‡[�[×Ñ˜[ò +ó ð ‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñ)ó 8óð)ð ‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñHó 8ðHð ‡[�[×ÑØÒKóMà‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñ)ó 8óMð)ð ‡[�[×ÑÐ/ØØØÙ	‹�4ÐØØ	˜fÐ%Ù	��B‹˜ÐØ#ð	2ó 	ð ‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñ7ó 8ó	ð7ò!ð& ‡[�[×Ñ˜[Ò*GÓHØ‡[�[×Ñ˜V Z§_¡_Ó%6Ó7ñCó 8ó IñCr,   rK  c                 ó˜  — t         |    }i }t         j                  «       D ]  }||k7  sŒ	|j                  |«       Œ t        j                  g d¢d| fi |¤Ž |j                  «       D ]V  \  }}dj                  | «      }t        j                  t        |¬«      5  t        j                  g d¢d| fi ||i¤Ž ddd«       ŒX y# 1 sw Y   ŒcxY w)z1Test behavior of pad's kwargs for the given mode.rÿ  rC   z+unsupported keyword arguments for mode '{}'rF   N)
rn   ÚvaluesÚupdater!   r_   ÚitemsÚformatrI   rJ   rK   )rW   ÚallowedÚnot_allowedrB  ÚkeyÚvaluerG   s          r*   Útest_kwargsrf  U  s°   € ô ˜Ñ€GØ€KÜ×#Ñ#Ö%ˆØ�WÓØ×Ñ˜vÕ&ð &ô ‡F�FŠ9�a˜Ñ) Ò)à!×'Ñ'Ö)‰
ˆˆUØ=×DÑDÀTÓJˆÜ�]‰]œ:¨UÖ3Ü�F‰F’9˜a Ñ6¨#¨u¨Ò6÷ 4Ð3ñ *ç3Ð3ús   ÂC Ã C		c                  óv   — t        j                  ddg«      } t        t        j                  | d«      g d¢«       y )NrC   r0   )r   r   rC   rC   r   r   )r!   r"   r   r_   )rm  s    r*   Útest_constant_zero_defaultrh  f  s)   € Ü
�(‰(�A�q�6Ó
€CÜ”r—v‘v˜c 1“~Ò'9Õ:r,   rC   ÚconstTFc                 óº   — dj                  | «      }t        j                  t        |¬«      5  t	        j
                  g d¢d| ¬«       d d d «       y # 1 sw Y   y xY w)Nzmode '{}' is not supportedrF   rÿ  r.   r\   )ra  rI   rJ   rK   r!   r_   )rW   rG   s     r*   Útest_unsupported_moderk  k  s<   € à'×.Ñ.¨tÓ4€EÜ	�‰”z¨Ö	/Ü
�‰Šy˜! $Õ'÷ 
0×	/Ñ	/ús   ­AÁAc                 óÞ   — t        j                  d«      j                  dd«      d d d…d d d…f   }t        j                  |d| «      }|j                  dk(  sJ ‚t        |dd…dd…f   |«       y )Nrò   r.   r:   r0   rN   )rå   ræ   rA   r;  )rW   rm  r(   s      r*   Útest_non_contiguous_arrayrm  r  sl   € ä
�)‰)�B‹-×
Ñ
  1Ó
%¡c¨ c©3¨Q¨3 hÑ
/€CÜ�V‰V�C˜ Ó&€FØ�<‰<˜6Ò!Ð!Ð!Ü�˜˜"˜˜a ˜d˜
Ñ# SÕ)r,   c                 óø   — t        j                  dd¬«      }t        j                  |d| «      j                  d   sJ ‚t        j                  dd¬«      }t        j                  |d| «      j                  d   sJ ‚y)	z5Test if C and F order is preserved for all pad modes.)rZ   r   ÚC)ÚorderrZ   ÚC_CONTIGUOUSÚFÚF_CONTIGUOUSN)r!   rO   r_   Úflags)rW   r'   s     r*   Útest_memory_layout_persistenceru  z  sf   € ô 	�‰�˜sÔ#€AÜ�6‰6�!�Q˜Ó×#Ñ# NÒ3Ð3Ð3Ü
�‰�˜sÔ#€AÜ�6‰6�!�Q˜Ó×#Ñ# NÒ3Ð3Ñ3r,   r@   c                 ó„   — t        j                  d| ¬«      }t        j                  |d|¬«      }|j                  | k(  sJ ‚y )N)r   r0   rC   r?   rC   r\   )r!   r®  r_   r@   )r@   rW   rm  r(   s       r*   Útest_dtype_persistencerw  ƒ  s8   € ô �(‰(�9 EÔ
*€CÜ�V‰V�C˜ Ô&€FØ�<‰<˜5Ò Ð Ñ r,   )'r  rI   Únumpyr!   Únumpy.testingr   r   r   Únumpy.lib._arraypad_implr   Ú_coreÚsctypesrË  rn   r   rV   rq   r~  r²  rÍ  r  r  r#  r1  r9  rD  rF  rl   rm   rI  rK  ro   rf  rh  r#   rk  rm  ru  rw  rT   r,   r*   Ú<module>r}     s–  ðñó ã ß KÑ KÝ .ð ‡H�H×Ñ�VÑØ‡h�h×Ñ�uÑñà‡h�h×Ñ�wÑñ ð 	‡h�h×Ñ�yÑ!ñ"ð ð # AÐ&ØØ  !Ð$Ø˜tÐ$Ø˜DÐ!Ø˜dÐ#Ø˜tÐ$Ø Ð'Ø  &Ð)ØØñ€
÷P*ñ P*÷fMñ M÷,f:ñ f:÷Rp)ñ p)÷fR'ñ R'÷jO!ñ O!÷d)ñ )÷0C!ñ C!÷L@!ñ @!÷F$-ñ $-÷N
)ñ 
)òò(ð ‡�×Ñ˜Ò!IÓJñ9ó Kð9÷NCñ NCðb ‡�×Ñ˜ §¡Ó!2Ó3ñ7ó 4ð7ò ;ð
 ‡�×Ñ˜ ! W©f«h¸¸dÀEÐ!JÓKñ(ó Lð(ð ‡�×Ñ˜ §¡Ó!2Ó3ñ*ó 4ð*ð ‡�×Ñ˜ §¡Ó!2Ó3ñ4ó 4ð4ð ‡�×Ñ˜ /Ó2Ø‡�×Ñ˜ §¡Ó!2Ó3ñ!ó 4ó 3ñ!r,   