+
    i                     R    ^ RI Ht ^ RIt^ RIt^ RItR.t ! R R]4      tR tR t	R# )    )NumberNVectorc                   "  a a ] tR t^
t oRtRtRV 3R lltV 3R ltR tR t	R t
R t]tR tR	 tR
 t]tR tR tR tR tR]/R ltV 3R ltR tR t]tR tR tR tR tR t] R 4       t!]!PD                  R 4       t!V3R lR lt#Rt$Vt%V ;t&# )r   zA math-like vector.

Represents an n-dimensional numeric vector. ``Vector`` objects support
vector addition and subtraction, scalar multiplication and division,
negation, rounding, and comparison tests.
c                   < VR Jd   \         P                  ! R\        4       \        V4      \        8X  d   V# \
        SV `  W4      # )Fz'the 'keep' argument has been deprecated)warningswarnDeprecationWarningtyper   super__new__)clsvalueskeep	__class__s   &&&u/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/misc/vector.pyr   Vector.__new__   s?    uMM9" <6!Mws++    c                T   < V P                   P                   R \        SV `  4        R2# )())r   __name__r   __repr__)selfr   s   &r   r   Vector.__repr__   s*    ..))*!EG,<,>+?qAAr   c                *  aa \        S\        4      '       dA   \        V 4      \        S4      8X  g   Q hV P                  V3R  l\	        V S4       4       4      # \        S\
        4      '       d   V P                  VV3R lV  4       4      # \        4       h)c              3   8   <"   T F  w  rS! W4      x  K  	  R # 5iN ).0abops   &  r   	<genexpr>#Vector._vectorOp.<locals>.<genexpr>%   s     !H7Gtq"Q((7Gs   c              3   6   <"   T F  pS! VS4      x  K  	  R # 5ir   r   r   vr"   others   & r   r#   r$   '        !=1"Q,,   )
isinstancer   lenr   zipr   NotImplementedErrorr   r(   r"   s   &ffr   	_vectorOpVector._vectorOp"   sm    eV$$t9E
***>>!Hs47G!HHHeV$$>>!=!===!##r   c                ~   aa \        S\        4      '       d   V P                  VV3R  lV  4       4      # \        4       h)c              3   6   <"   T F  pS! VS4      x  K  	  R # 5ir   r   r&   s   & r   r#   #Vector._scalarOp.<locals>.<genexpr>,   r)   r*   )r+   r   r   r.   r/   s   &ffr   	_scalarOpVector._scalarOp*   s.    eV$$>>!=!===!##r   c                :   a V P                  V3R  lV  4       4      # )c              3   4   <"   T F  pS! V4      x  K  	  R # 5ir   r   )r   r'   r"   s   & r   r#   "Vector._unaryOp.<locals>.<genexpr>0   s     2TbeeTs   )r   )r   r"   s   &fr   _unaryOpVector._unaryOp/   s    ~~2T222r   c                B    V P                  V\        P                  4      # r   )r0   operatoraddr   r(   s   &&r   __add__Vector.__add__2       ~~eX\\22r   c                B    V P                  V\        P                  4      # r   )r0   r=   subr?   s   &&r   __sub__Vector.__sub__7   rB   r   c                .    V P                  V\        4      # r   )r0   _operator_rsubr?   s   &&r   __rsub__Vector.__rsub__:   s    ~~e^44r   c                B    V P                  V\        P                  4      # r   )r5   r=   mulr?   s   &&r   __mul__Vector.__mul__=   rB   r   c                B    V P                  V\        P                  4      # r   )r5   r=   truedivr?   s   &&r   __truediv__Vector.__truediv__B   s    ~~eX%5%566r   c                .    V P                  V\        4      # r   )r5   _operator_rtruedivr?   s   &&r   __rtruediv__Vector.__rtruediv__E   s    ~~e%788r   c                @    V P                  \        P                  4      # r   )r:   r=   posr   s   &r   __pos__Vector.__pos__H       }}X\\**r   c                @    V P                  \        P                  4      # r   )r:   r=   negrY   s   &r   __neg__Vector.__neg__K   r\   r   roundc               $    V P                  V4      # r   )r:   )r   ra   s   &$r   	__round__Vector.__round__N   s    }}U##r   c                d   < \        V\        4      '       d   \        V4      p\        SV `  V4      # r   )r+   listtupler   __eq__)r   r(   r   s   &&r   rh   Vector.__eq__Q   s(    eT""%LEw~e$$r   c                .    V P                  V4      '       * # r   )rh   r?   s   &&r   __ne__Vector.__ne__W   s    ;;u%%%r   c                    \        V 4      # r   )anyrY   s   &r   __bool__Vector.__bool__Z   s    4yr   c                N    \         P                  ! \        R  V  4       4      4      # )c              3   2   "   T F  qV,          x  K  	  R # 5ir   r   )r   xs   & r   r#   !Vector.__abs__.<locals>.<genexpr>`   s     1DqUUDs   )mathsqrtsumrY   s   &r   __abs__Vector.__abs___   s    yy1D1122r   c                    \        V 4      # )z;Return the length of the vector. Equivalent to abs(vector).absrY   s   &r   lengthVector.lengthb   s    4yr   c                &    V \        V 4      ,          # )z+Return the normalized vector of the vector.r{   rY   s   &r   
normalizedVector.normalizedf   s    c$ir   c                n    \        V 4      \        V4      8X  g   Q h\        R \        W4       4       4      # )zSPerforms vector dot product, returning the sum of
``a[0] * b[0], a[1] * b[1], ...``c              3   6   "   T F  w  rW,          x  K  	  R # 5ir   r   )r   r    r!   s   &  r   r#   Vector.dot.<locals>.<genexpr>n   s     6%5TQ155%5s   )r,   rw   r-   r?   s   &&r   dot
Vector.dotj   s0     4yCJ&&&6S%5666r   c                X    \         P                  ! R \        4       V P                  4       # )zAthe 'toInt' method has been deprecated, use round(vector) instead)r   r   r	   rc   rY   s   &r   toIntVector.toIntr   s#    O	
 ~~r   c                N    \         P                  ! R \        4       \        V 4      # )zPthe 'values' attribute has been deprecated, use the vector object itself instead)r   r   r	   rf   rY   s   &r   r   Vector.valuesy   s"    /	

 Dzr   c                    \        R 4      h)z?can't set attribute, the 'values' attribute has been deprecated)AttributeError)r   r   s   &&r   r   r      s    M
 	
r   c                $   < V ^8  d   QhRRRS[ /# )   r(   r   return)bool)format__classdict__s   "r   __annotate__Vector.__annotate__   s     N NX ND Nr   c                   a \        V 4      \        V4      8X  g   Q h\        ;QJ d(    V3R l\        W4       4       F  '       d   K   R# 	  R# ! V3R l\        W4       4       4      # )z5Return True if the vector is close to another Vector.c              3   V   <"   T F  w  r\         P                  ! W3/ SB x  K   	  R # 5ir   )ru   isclose)r   r    r!   kwargss   &  r   r#   !Vector.isclose.<locals>.<genexpr>   s#     M<LDA4<<//<Ls   &)FT)r,   allr-   )r   r(   r   s   &&lr   r   Vector.isclose   sL    4yCJ&&&sMC<LMssMsMsMC<LMMMr   r   )F)'r   
__module____qualname____firstlineno____doc__	__slots__r   r   r0   r5   r:   r@   __radd__rE   rI   rM   __rmul__rQ   rU   rZ   r_   ra   rc   rh   rk   ro   __nonzero__rx   r}   r   r   r   propertyr   setterr   __static_attributes____classdictcell____classcell__)r   r   s   @@r   r   r   
   s      I	,B$$
33 H353 H79++$ $%& K3 7    ]]
 

N N Nr   c                 .    \         P                  ! W4      # r   )r=   rD   r    r!   s   &&r   rH   rH      s    <<r   c                 .    \         P                  ! W4      # r   )r=   rP   r   s   &&r   rT   rT      s    A!!r   )
numbersr   ru   r=   r   __all__rg   r   rH   rT   r   r   r   <module>r      s5        *ANU ANH"r   