§
    ‚Øj¡/  ã                   ó˜  — d dl Z d dlZd dlZd dlZd dlmZ d dlm	Z	 d dlm
Z
 d„ Zej                              e j        ¦   «         dk    d¬¦  «        d	„ ¦   «         Zej                              e j        ¦   «         dk    d¬¦  «        d
„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z e	dgd¬¦  «        d„ ¦   «         Z e	dgd¬¦  «        d„ ¦   «         Z e	dgdd¬¦  «        d„ ¦   «         Zd„ Z e	dgdd¬¦  «        d„ ¦   «         Z e	dgdd¬¦  «        d„ ¦   «         Z e	dgdd¬¦  «        d „ ¦   «         Z e	d!gdd¬¦  «        d"„ ¦   «         Z e	d#gdd¬¦  «        d$„ ¦   «         Zd%„ Zd&„ Zd'„ Z  e	d(gdd¬¦  «        d)„ ¦   «         Z!d*„ Z"d+„ Z#d,„ Z$d-„ Z%d3d.„Z&d3d/„Z'ej         (                    d0g d1¢¦  «         e
¦   «         d2„ ¦   «         ¦   «         Z)dS )4é    N)Úpyplot)Úimage_comparison)Úcheck_figures_equalc                 ó(  — t          j        t          j        ddt           j        z  d¦  «        t          j        ddt           j        z  d¦  «        ¦  «        \  }}t          j        |¦  «        }t          j        |¦  «        } | j        ||fi |¤Ž}|S )Nr   é   é   )ÚnpÚmeshgridÚarangeÚpiÚcosÚsinÚquiver)ÚaxÚkwargsÚXÚYÚUÚVÚQs          ú‘/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_quiver.pyÚdraw_quiverr      s~   € ÝŒ;•r”y  A­¬¡I¨qÑ1Ô1Ý”y  A­¬¡I¨qÑ1Ô1ñ3ô 3�D€A€qå
Œˆq‰	Œ	€AÝ
Œˆq‰	Œ	€AàˆŒ	�!�QÐ!Ð!˜&Ð!Ð!€AØ€Hó    ÚCPythonzRequires CPython)Úreasonc                  óä   — t          j        ¦   «         \  } }t          |¦  «        }|j        }t	          j        |¦  «        }|                     ¦   «          ~t	          j        |¦  «        |k     sJ ‚d S ©N)ÚpltÚsubplotsr   r   ÚsysÚgetrefcountÚremove)Úfigr   r   ÚttXÚorig_refcounts        r   Útest_quiver_memory_leakr&      se   € õ Œl‰nŒn�G€Cˆå�B‰Œ€AØ
Œ#€CÝ”O CÑ(Ô(€MØ‡H‚H�J„J€Jà	åŒ?˜3ÑÔ -Ò/Ð/Ð/Ð/Ð/Ð/r   c            
      ó  — t          j        ¦   «         \  } }t          |¦  «        }|                     |dddddddi¬¦  «        }t	          j        |¦  «        }|                     ¦   «          t	          j        |¦  «        |k     sJ ‚d S )	Nç      à?gq=
×£pí?r   ú$2 \frac{m}{s}$ÚWÚweightÚbold©ÚlabelposÚfontproperties)r   r   r   Ú	quiverkeyr    r!   r"   )r#   r   r   Úqkr%   s        r   Útest_quiver_key_memory_leakr2   %   s‹   € õ Œl‰nŒn�G€Cˆå�B‰Œ€Aà	�Š�a˜˜d AÐ'9Ø"Ø&.°Ð%7ð 
ñ 
9ô 
9€Bõ ”O BÑ'Ô'€MØ‡I‚I�K„K€KÝŒ?˜2ÑÔ Ò.Ð.Ð.Ð.Ð.Ð.r   c            	      ó6  — ddg} t          j        t          d¬¦  «        5  t          j        | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        | | | | | | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   z7takes from 2 to 5 positional arguments but 1 were given©Úmatchz7takes from 2 to 5 positional arguments but 6 were given)ÚpytestÚraisesÚ	TypeErrorr   r   )r   s    r   Útest_quiver_number_of_argsr9   4   s1  € Ø	
ˆAˆ€AÝ	ŒÝØKð
Mñ 
Mô 
Mð ð õ 	Œ
�1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÝØKð
Mñ 
Mô 
Mð %ð %õ 	Œ
�1�a˜˜A˜q !Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s#    AÁAÁAÁ'BÂBÂBc                  ój  — ddg} g d¢}t          j        t          d¬¦  «        5  t          j        | || | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        | | || ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        | | | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        | | | | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r   )r   r   é   z?X and Y must be the same size, but X.size is 2 and Y.size is 3.r4   zMArgument U has a size 3 which does not match 2, the number of arrow positionszMArgument V has a size 3 which does not match 2, the number of arrow positionszMArgument C has a size 3 which does not match 2, the number of arrow positions)r6   r7   Ú
ValueErrorr   r   )ÚX2ÚX3s     r   Útest_quiver_arg_sizesr?   @   sj  € Ø
ˆQˆ€BØ	ˆˆ€BÝ	ŒÝð  >ð
@ñ 
@ô 
@ð #ð #õ 	Œ
�2�r˜2˜rÑ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
ŒÝð  Bð
Dñ 
Dô 
Dð #ð #õ 	Œ
�2�r˜2˜rÑ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
ŒÝð  Bð
Dñ 
Dô 
Dð #ð #õ 	Œ
�2�r˜2˜rÑ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
ŒÝð  Bð
Dñ 
Dô 
Dð 'ð 'õ 	Œ
�2�r˜2˜r 2Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 'sG   ¤AÁAÁAÁ.BÂBÂBÂ8CÃC Ã#C ÄD(Ä(D,Ä/D,c                  óˆ  — t          j        ¦   «         \  } }t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        \  }}t          j        |¦  «        x}}t          j                             dd¦  «        dz
  dz  }|                     |||||¬¦  «         | j	         
                    ¦   «          d S )Né   é
   r(   é–   ©Úangles)r   r   r	   r
   r   Ú	ones_likeÚrandomÚrandr   ÚcanvasÚdraw©r#   r   r   r   r   r   Úphis          r   Útest_no_warningsrM   U   s›   € ÝŒl‰nŒn�G€CˆÝŒ;•r”y ‘}”}¥b¤i°¡m¤mÑ4Ô4�D€A€qÝŒL˜‰OŒOÐ€AˆÝŒ9�>Š>˜"˜bÑ!Ô! BÑ&¨#Ñ
-€CØ‡I‚Iˆa��A�q €IÑ%Ô%Ð%Ø„J‡O‚OÑÔÐÐÐr   c                  ó^  — t          j        ¦   «         \  } }t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        \  }}t          j        |¦  «        t          j        |¦  «        }}|                     ||dd¬¦  «         | j         	                    ¦   «          d S )NrB   r   )Ú
headlengthÚheadaxislength)
r   r   r	   r
   r   r   r   r   rI   rJ   )r#   r   r   r   r   r   s         r   Útest_zero_headlengthrQ   ^   sƒ   € õ Œl‰nŒn�G€CˆÝŒ;•r”y ‘}”}¥b¤i°¡m¤mÑ4Ô4�D€A€qÝŒ6�!‰9Œ9•b”f˜Q‘i”i€q€AØ‡I‚Iˆa�˜q°€IÑ3Ô3Ð3Ø„J‡O‚OÑÔÐÐÐr   zquiver_animated_test_image.pngÚmpl20)Ústylec            
      ó�   — t          j        ¦   «         \  } }t          |d¬¦  «        }|                     |ddddddd	i¬
¦  «         d S )NT)Úanimatedr(   g)\�Âõ(ì?r   r)   r*   r+   r,   r-   )r   r   r   r0   ©r#   r   r   s      r   Útest_quiver_animaterW   h   sd   € õ Œl‰nŒn�G€CˆÝ�B Ð&Ñ&Ô&€AØ‡L‚L��C˜˜qÐ"4Ø¨x¸Ð.@ð ñ Bô Bð Bð Bð Br   zquiver_with_key_test_image.pngc                  ó¼   — t          j        ¦   «         \  } }|                     d¦  «         t          |¦  «        }|                     |dddddddd	d
dœ¬¦	  «	         d S )Nçš™™™™™¹?r(   gffffffî?r   z"$2\, \mathrm{m}\, \mathrm{s}^{-1}$iöÿÿÿÚfigurer*   r,   Úlarge)r+   Úsize)ÚangleÚcoordinatesr.   r/   )r   r   Úmarginsr   r0   rV   s      r   Útest_quiver_with_keyr`   q   st   € åŒl‰nŒn�G€CˆØ‡J‚Jˆs�O„O€OÝ�B‰Œ€AØ‡L‚L��C˜˜qØ6ØØ%ØØ+1¸7Ð CÐ Cð ñ Eô Eð Eð Eð Er   zquiver_single_test_image.pngTÚ_classic_test)Úremove_textrS   c                  ó”   — t          j        ¦   «         \  } }|                     d¦  «         |                     dgdgdgdg¦  «         d S )NrY   r   r   )r   r   r_   r   ©r#   r   s     r   Útest_quiver_singlere   ~   sH   € õ Œl‰nŒn�G€CˆØ‡J‚Jˆs�O„O€OØ‡I‚Iˆqˆc�A�3˜˜˜a˜SÑ!Ô!Ð!Ð!Ð!r   c                  ó(  — t          j        ¦   «         \  } }t          t          j        dg¦  «        t          j        dg¦  «        ¬¦  «        }|                     dgdg|d         |d         ¦  «        }d|d         d<   |j        d         dk    sJ ‚d S )Nçš™™™™™ñ?g       @)ÚuÚvr   rh   ri   r   )r   r   Údictr	   Úarrayr   r   )r#   r   ÚuvÚq0s       r   Útest_quiver_copyrn   †   s~   € ÝŒl‰nŒn�G€CˆÝ	•”˜#˜‘”¥2¤8¨S¨E¡?¤?Ð	3Ñ	3Ô	3€BØ	�Š�A�3˜˜˜R œW b¨¤gÑ	.Ô	.€BØ€B€s„GˆA�JØŒ4�Œ7�cŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r   zquiver_key_pivot.pngc                  óD  — t          j        ¦   «         \  } }t          j        ddt          j        z  d…ddt          j        z  d…f         \  }}|                     t          j        |¦  «        t          j        |¦  «        ¦  «        }|                     dd¦  «         | 	                    dd¦  «         | 
                    |ddddd¬	¦  «         | 
                    |dddd
d
¬	¦  «         | 
                    |ddddd¬	¦  «         | 
                    |ddddd¬	¦  «         d S )Nr   r   y              $@éþÿÿÿé   r(   r   ÚN)r.   ÚEÚSr*   )r   r   r	   Úmgridr   r   r   r   Úset_xlimÚset_ylimr0   )r#   r   rh   ri   Úqs        r   Útest_quiver_key_pivotry   Ž   s  € åŒl‰nŒn�G€CˆåŒ8�A�a�œ‘g˜c�M 1 Q¥r¤u¡W¨S =Ð0Ô1�D€A€qà
�	Š	•"”&˜‘)”)�RœV A™YœYÑ'Ô'€AØ‡K‚K��BÑÔÐØ‡K‚K��BÑÔÐØ‡L‚L��C˜˜A˜s¨S€LÑ1Ô1Ð1Ø‡L‚L��A�s˜A˜s¨S€LÑ1Ô1Ð1Ø‡L‚L��C˜˜A˜s¨S€LÑ1Ô1Ð1Ø‡L‚L��A�s˜A˜s¨S€LÑ1Ô1Ð1Ð1Ð1r   zquiver_key_xy.pngc                  ó  — t          j        d¦  «        } t          j        d¦  «        }| t           j        dz  z  }t          j        d|z  ¦  «        }|j        }|j        }t          j        d¦  «        \  }}t          |d¦  «        D ]‚\  }}	| 
                    dd¦  «         |                     dd¦  «         |                     | |||d	d
ddd
|	¬¦
  «
        }
t          dd¦  «        D ]!\  }}|                     |
|dd|dd¬¦  «         Œ"Œƒd S )Né   é   y              ð?r   )rl   Úxyéÿÿÿÿgš™™™™™É¿çš™™™™™É?Úmiddler}   gš™™™™™©?)ÚpivotÚunitsÚwidthÚscaleÚscale_unitsrE   )r   r(   çš™™™™™é?)r   é-   éZ   r†   r   Ú Úb)r   r   r   r]   ÚlabelÚcolor)r	   r   Úzerosr   ÚexpÚrealÚimagr   r   Úziprv   rw   r   r0   )r   r   rE   rl   r   r   r#   Úaxsr   Ú	angle_strrx   Úxr]   s                r   Útest_quiver_key_xyr•   �   s+  € õ 	Œ	�!‰Œ€AÝ
Œ�‰Œ€AØ•"”%˜!‘)‰_€FÝ	Œ��V‘Ñ	Ô	€BØ
Œ€AØ
Œ€AÝŒ|˜A‰Œ�H€CˆÝ˜S ,Ñ/Ô/ð Oð O‰ˆˆIØ
�Š�B˜ÑÔÐØ
�Š�D˜#ÑÔÐØ�IŠI�a˜˜A˜q¨Ø ¨Ø¨4Ø&ð ñ (ô (ˆõ ˜O¨[Ñ9Ô9ð 	Oð 	O‰HˆAˆuØ�LŠL˜˜a 3¨!°5ÀÈ#ˆLÑNÔNÐNÐNð	OðOð Or   zbarbs_test_image.pngc                  ó$  — t          j        ddd¦  «        } t          j        | | ¦  «        \  }}d|z  d|z  }}t          j        ¦   «         \  }}|                     ||||t          j        ||¦  «        ddt          ddd¬	¦  «        d
¬¦	  «	         d S )Néûÿÿÿé   é   TFç      Ð?r   ç333333Ó?©Ú	emptybarbÚspacingÚheightÚviridis)Ú
fill_emptyÚroundingÚsizesÚcmap)r	   Úlinspacer
   r   r   ÚbarbsÚhypotrj   ©r”   r   r   r   r   r#   r   s          r   Ú
test_barbsr©   µ   sœ   € å
Œ�B˜˜1ÑÔ€AÝŒ;�q˜!ÑÔ�D€A€qØˆa‰4��A‘€q€AÝŒl‰nŒn�G€CˆØ‡H‚HˆQ��1�a�œ ! Q™œ°DÀ5Ý $°¸CÐ@Ñ@Ô@Øð ñ ô ð ð ð r   zbarbs_pivot_test_image.pngc                  ó.  — t          j        ddd¦  «        } t          j        | | ¦  «        \  }}d|z  d|z  }}t          j        ¦   «         \  }}|                     ||||dddt          ddd	¬
¦  «        ¬¦  «         |                     ||dd¬¦  «         d S )Nr—   r˜   r™   TFç333333û?rš   r   r›   rœ   )r¡   r¢   r�   r£   é1   Úblack)ÚsÚc)r	   r¥   r
   r   r   r¦   rj   Úscatterr¨   s          r   Útest_barbs_pivotr±   À   sª   € õ 	Œ�B˜˜1ÑÔ€AÝŒ;�q˜!ÑÔ�D€A€qØˆa‰4��A‘€q€AÝŒl‰nŒn�G€CˆØ‡H‚HˆQ��1�a D°5ÀÝ $°¸CÐ@Ñ@Ô@ð ñ Bô Bð Bà‡J‚Jˆq�!�r˜W€JÑ%Ô%Ð%Ð%Ð%r   zbarbs_test_flip.pngc                  ó  — t          j        ddd¦  «        } t          j        | | ¦  «        \  }}d|z  d|z  }}t          j        ¦   «         \  }}|                     ||||dddt          ddd	¬
¦  «        |dk     ¬¦	  «	         dS )z'Test barbs with an array for flip_barb.r—   r˜   r™   TFr«   rš   r   r›   rœ   r   )r¡   r¢   r�   r£   Ú	flip_barbN)r	   r¥   r
   r   r   r¦   rj   r¨   s          r   Útest_barbs_flipr´   Ì   s˜   € õ 	Œ�B˜˜1ÑÔ€AÝŒ;�q˜!ÑÔ�D€A€qØˆa‰4��A‘€q€AÝŒl‰nŒn�G€CˆØ‡H‚HˆQ��1�a D°5ÀÝ $°¸CÐ@Ñ@Ô@Ø˜1’uð ñ ô ð ð ð r   c                  ó  — t          j        ¦   «         \  } }t          j        dg¦  «        }t          j        dg¦  «        }|                     dgdg||¦  «        }d|d<   |j        d         dk    sJ ‚d|d<   |j        d         dk    sJ ‚d S )Nrg   gš™™™™™@r   r   )r   r   r	   rk   r¦   rh   ri   )r#   r   rh   ri   Úb0s        r   Útest_barb_copyr·   Ø   s†   € ÝŒl‰nŒn�G€CˆÝ
Œ�#�‰Œ€AÝ
Œ�#�‰Œ€AØ	�Š�1�#˜�s˜A˜qÑ	!Ô	!€BØ€A€a�DØŒ4�Œ7�cŠ>ˆ>ˆ>ˆ>Ø€A€a�DØŒ4�Œ7�cŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r   c                  ó6  — t          j        d¦  «        } t          j        d¦  «        }t           j                             dt          j        d¦  «        z  ¦  «        }t           j                             dt          j        |¦  «        z  ¦  «        }t           j        j        |d<   t           j        j        |d<   t          j        ¦   «         \  }}t          j
        t          ¦  «        5  |                     | |||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z=Test error handling when given differing sized masked arrays.r;   g      .@)r|   r   N)r	   r   Úmark   ÚonesrF   Úmaskedr   r   r6   r7   r<   r¦   )r”   Úyrh   ri   r#   r   s         r   Útest_bad_masked_sizesr½   ã   s  € å
Œ	�!‰Œ€AÝ
Œ	�!‰Œ€AÝ
Œ�Š�C�"œ' $™-œ-Ñ'Ñ(Ô(€AÝ
Œ�Š�C�"œ, q™/œ/Ñ)Ñ*Ô*€AÝŒ5Œ<€A€a�DÝŒ5Œ<€A€a�DÝŒl‰nŒn�G€CˆÝ	Œ•zÑ	"Ô	"ð ð Ø
�Š��A�q˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ã(DÄDÄDc                  óX  — t          j        ¦   «         \  } }t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        \  }}t          j        |¦  «        x}}t          j                             dd¦  «        dz
  dz  }|                     |||||d¬¦  «         d S )NrA   rB   r(   rC   r}   ©rE   r…   )	r   r   r	   r
   r   rF   rG   rH   r   rK   s          r   Útest_angles_and_scalerÀ   ð   s‹   € åŒl‰nŒn�G€CˆÝŒ;•r”y ‘}”}¥b¤i°¡m¤mÑ4Ô4�D€A€qÝŒL˜‰OŒOÐ€AˆÝŒ9�>Š>˜"˜bÑ!Ô! BÑ&¨#Ñ
-€CØ‡I‚Iˆa��A�q °$€IÑ7Ô7Ð7Ð7Ð7r   zquiver_xy.pngc            	      ó
  — t          j        t          d¬¦  «        ¬¦  «        \  } }|                     ddddddd¬¦  «         |                     dd¦  «         |                     dd¦  «         |                     ¦   «          d S )	NÚequal)Úaspect)Ú
subplot_kwr   r   r}   )rE   r…   r„   rg   )r   r   rj   r   rv   rw   Úgridrd   s     r   Útest_quiver_xyrÆ   ù   s~   € õ Œl¥d°'Ð&:Ñ&:Ô&:Ð;Ñ;Ô;�G€CˆØ‡I‚Iˆa��A�q °4¸q€IÑAÔAÐAØ‡K‚K��3ÑÔÐØ‡K‚K��3ÑÔÐØ‡G‚G�I„I€I€I€Ir   c                  óÊ  — t          j        ¦   «         \  } }t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        \  }}t          j        |¦  «        x}x}}|                     |||||¬¦  «        }|                     |dddd¦  «        }| j         	                    ¦   «          t          |j                             ¦   «         ¦  «        dk    sJ ‚d S )Nr   rD   r   ÚLabel)r   r   r	   r
   r   rF   r   r0   rI   rJ   ÚlenÚvectorÚ	get_paths)	r#   r   r   r   r   r   rE   rx   r1   s	            r   Útest_quiverkey_anglesrÌ     sÂ   € õ Œl‰nŒn�G€CˆåŒ;•r”y ‘|”|¥R¤Y¨q¡\¤\Ñ2Ô2�D€A€qÝ”\ !‘_”_Ð$€AÐ$ˆˆFà
�	Š	�!�Q˜˜1 Vˆ	Ñ,Ô,€AØ	�Š�a˜˜A˜q 'Ñ	*Ô	*€Bà„J‡O‚OÑÔÐÝˆrŒy×"Ò"Ñ$Ô$Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*Ð*r   c                  óJ  — ddidddœddig} | D �]}t          j        t           j         t           j        d¦  «        }t          j        |¦  «        t           j        z  dz  }t          j        |¦  «        }t          j        |¦  «        }t          j        ¦   «         }|                     d¬¦  «        } |j        ||||fi |¤Ž}| 	                    |d	d	d
d¦  «        }	|j
                             ¦   «          t          |	j                             ¦   «         ¦  «        d
k    sJ ‚�Œd S )NrE   r}   r¿   r…   rq   é   Úaitoff)Ú
projectionr   r   ú1 units)r	   r¥   r   rF   Ú
zeros_liker   rZ   Úadd_subplotr   r0   rI   rJ   rÉ   rÊ   rË   )
Úkwargs_listÚkwargs_dictr”   r¼   ÚvxÚvyr#   r   rx   r1   s
             r   Útest_quiverkey_angles_xy_aitoffrØ     s!  € ð 
�4ÐØ¨Ð-Ð-Ø	˜Ðð€Kð #ð /ñ /ˆåŒK�œ˜¥¤ rÑ*Ô*ˆÝŒL˜‰OŒO�bœeÑ# aÑ'ˆÝŒ]˜1ÑÔˆÝŒ\˜!‰_Œ_ˆåŒj‰lŒlˆØ�_Š_¨ˆ_Ñ1Ô1ˆØˆBŒI�a˜˜B Ð2Ð2 kÐ2Ð2ˆØ�\Š\˜!˜Q  1 iÑ0Ô0ˆàŒ
�ŠÑÔÐÝ�2”9×&Ò&Ñ(Ô(Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ñ.ð/ð /r   c            	      óˆ  — ddidddœddig} | D ]²}g d¢}g d¢}g d¢}g d¢}t          j        ¦   «         \  }} |j        ||||fi |¤Ž}|                     |dd	d
dd¬¦  «         |                     |ddd
d¦  «        }	|j                             ¦   «          t          |	j                             ¦   «         ¦  «        d
k    sJ ‚Œ³d S )NrE   r}   r¿   r…   )r   r~   r   )r   r~   r   )r   r~   r   r›   rg   r   zQuiver key, length = 1rs   )r   r   r   r‹   r.   r   rÑ   )	r   r   r   r0   rI   rJ   rÉ   rÊ   rË   )
rÔ   rÕ   r   r   r   r   r#   r   rx   r1   s
             r   Ú+test_quiverkey_angles_scale_units_cartesianrÚ   /  s  € ð 
�4ÐØ¨Ð-Ð-Ø	˜Ðð€Kð #ð /ð /ˆØˆJˆJˆØˆJˆJˆØˆJˆJˆØˆJˆJˆå”,‘.”.‰ˆˆRØˆBŒI�a˜˜A˜qÐ0Ð0 KÐ0Ð0ˆØ
�Š�Q˜# ¨Ø3¸cð 	ñ 	Cô 	Cð 	Cà�\Š\˜!˜Q  1 iÑ0Ô0ˆàŒ
�ŠÑÔÐÝ�2”9×&Ò&Ñ(Ô(Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ð.ð/ð /r   c                  ó2  — t          j        ¦   «         \  } }t          j        t          j        d¦  «        t          j        d¦  «        ¦  «        \  }}t          j        |¦  «        x}}|                     ||||¦  «        }|                     dd¦  «         dS )zBCheck that it is possible to set all arrow UVC to the same numbersr   r   r   N)r   r   r	   r
   r   rF   r   Úset_UVC)r#   r   r   r   r   r   rx   s          r   Útest_quiver_setuvc_numbersrÝ   J  sv   € õ Œl‰nŒn�G€CˆåŒ;•r”y ‘|”|¥R¤Y¨q¡\¤\Ñ2Ô2�D€A€qÝŒL˜‰OŒOÐ€Aˆà
�	Š	�!�Q˜˜1ÑÔ€AØ‡I‚Iˆa��O„O€O€O€Or   c                 ó<  — t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        ||¦  «        \  }}d\  }}|                      ¦   «         }|                     ||||d¬¦  «        }	|                     dd¦  «         |                     dd¦  «         |€;|                     |	d	d	d
ddd¬¦  «         |                     |	ddddddd¬¦  «         dS |                     |	d	d	d
ddd|¬¦  «         |                     |	ddddddd|¬¦	  «	         dS )z/Draw Quiver and QuiverKey using zorder argumentr   rÎ   ©r   r   r€   ©r�   r(   ç      @Nr|   é   Údatar   Úblue©r^   r‹   rŒ   r   é   r   rˆ   ©r^   r‹   rŒ   r]   )r^   r‹   rŒ   Úzorder)r^   r‹   rŒ   r]   rè   )r	   r   r
   r   r   rv   rw   r0   )
r#   rè   r”   r¼   r   r   r   r   r   rx   s
             r   Údraw_quiverkey_zorder_argumentré   V  sf  € å
Œ	�!�Q˜ÑÔ€AÝ
Œ	�!�Q˜ÑÔ€AÝŒ;�q˜!ÑÔ�D€A€qØ�D€A€qà	�Š‰Œ€BØ
�	Š	�!�Q˜˜1 Hˆ	Ñ-Ô-€AØ‡K‚K��SÑÔÐØ‡K‚K��SÑÔÐØ€~Ø
�Š�Q˜˜1˜b¨fØ fð 	ñ 	.ô 	.ð 	.à
�Š�Q˜˜Q °Ø f°Bð 	ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	�Š�Q˜˜1˜b¨fØ f°Vð 	ñ 	=ô 	=ð 	=à
�Š�Q˜˜Q °Ø f°B¸vð 	ñ 	Gô 	Gð 	Gð 	Gð 	Gr   c           
      ó  — t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        ||¦  «        \  }}d\  }}|                      ¦   «         }|                     ||||d¬¦  «        }	|                     dd¦  «         |                     dd¦  «         |                     |	ddd	d
dd¬¦  «        }
|                     |	dddd
ddd¬¦  «        }|�,|
                     |¦  «         |                     |¦  «         dS dS )z*Draw Quiver and QuiverKey using set_zorderr   rÎ   rß   r€   rà   r(   rá   r|   râ   rã   r   rä   rå   r   ræ   r   rˆ   rç   N)	r	   r   r
   r   r   rv   rw   r0   Ú
set_zorder)r#   rè   r”   r¼   r   r   r   r   r   rx   Úqk1Úqk2s               r   Údraw_quiverkey_setzorderrî   m  s  € å
Œ	�!�Q˜ÑÔ€AÝ
Œ	�!�Q˜ÑÔ€AÝŒ;�q˜!ÑÔ�D€A€qØ�D€A€qà	�Š‰Œ€BØ
�	Š	�!�Q˜˜1 Hˆ	Ñ-Ô-€AØ‡K‚K��SÑÔÐØ‡K‚K��SÑÔÐØ
�,Š,�q˜!˜Q °Ø ¨ð ñ 0ô 0€Cà
�,Š,�q˜#˜q "°&Ø ¨°bð ñ :ô :€CàÐØ�Š�vÑÔÐØ�Š�vÑÔÐÐÐð Ðr   rè   )r   r   r˜   Nc                 óJ   — t          | |¬¦  «         t          ||¬¦  «         d S )N)rè   )ré   rî   )Úfig_testÚfig_refrè   s      r   Útest_quiverkey_zorderrò   �  s0   € õ # 8°FÐ;Ñ;Ô;Ð;Ý˜W¨VÐ4Ñ4Ô4Ð4Ð4Ð4r   r   )*Úplatformr    Únumpyr	   r6   Ú
matplotlibr   r   Úmatplotlib.testing.decoratorsr   r   r   ÚmarkÚskipifÚpython_implementationr&   r2   r9   r?   rM   rQ   rW   r`   re   rn   ry   r•   r©   r±   r´   r·   r½   rÀ   rÆ   rÌ   rØ   rÚ   rÝ   ré   rî   Úparametrizerò   © r   r   ú<module>rü      s  ðØ €€€Ø 
€
€
€
à Ð Ð Ð Ø €€€à $Ð $Ð $Ð $Ð $Ð $Ø :Ð :Ð :Ð :Ð :Ð :Ø =Ð =Ð =Ð =Ð =Ð =ðð ð ð „×ÒÐ2�HÔ2Ñ4Ô4¸	ÒAØ-ð ñ /ô /ð
0ð 
0ñ/ô /ð
0ð „×ÒÐ2�HÔ2Ñ4Ô4¸	ÒAØ-ð ñ /ô /ð
/ð 
/ñ/ô /ð
/ð	%ð 	%ð 	%ð'ð 'ð 'ð*ð ð ðð ð ð ÐÐ3Ð4¸GÐDÑDÔDðBð Bñ EÔDðBð ÐÐ3Ð4¸GÐDÑDÔDð	Eð 	Eñ EÔDð	Eð ÐÐ1Ð2ÀØ'ð)ñ )ô )ð"ð "ñ)ô )ð"ðð ð ð ÐÐ)Ð*¸ÀGÐLÑLÔLð2ð 2ñ MÔLð2ð ÐÐ&Ð'°TÀÐQÑQÔQðOð Oñ RÔQðOð. ÐÐ)Ð*¸ÀOÐTÑTÔTðð ñ UÔTðð ÐÐ/Ð0¸dØ'ð)ñ )ô )ð&ð &ñ)ô )ð&ð ÐÐ(Ð)°tÀ?ÐSÑSÔSðð ñ TÔSððð ð ð
ð 
ð 
ð8ð 8ð 8ð Ð�?Ð#°¸_ÐMÑMÔMðð ñ NÔMðð+ð +ð +ð/ð /ð /ð:/ð /ð /ð6	ð 	ð 	ðGð Gð Gð Gð.ð ð ð ð( „×Ò˜ ? ? ?Ñ3Ô3ØÐÑÔð5ð 5ñ Ôñ 4Ô3ð5ð 5ð 5r   