
    'jy                        d dl mZ ddlT ddlT ddlT ddlT ddlT ddlT ddlT ddl	T ddl
T ddlT ddlT ddlT ddlT ddlT ddlT ddlT ddlT ddlT ddlT ddlT ddlT dZdZeeddee         dee         d	efd
Zddeded	efdZdS )    )Iterable   )*g-q=g&.>rel_tolabs_tolabreturnc                Z    t          fdt          | |          D                       S )Nc              3   N   K   | ]\  }}|                     |           V   dS )r   N)isclose).0v1v2r   r   s      M/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/math/__init__.py	<genexpr>z close_vectors.<locals>.<genexpr>%   sM       ( (2r zz"gwz?? ( ( ( ( ( (    )allzip)r	   r
   r   r   s     ``r   close_vectorsr   #   sI     ( ( ( ( ( AYY( ( ( ( ( (r           valueroundingc                 `    |dk    rt          |           S d|z  }t          | |z            |z  S )a  Extended rounding function.

    The argument `rounding` defines the rounding limit:

    ======= ======================================
    0       remove fraction
    0.1     round next to x.1, x.2, ... x.0
    0.25    round next to x.25, x.50, x.75 or x.00
    0.5     round next to x.5 or x.0
    1.0     round to a multiple of 1: remove fraction
    2.0     round to a multiple of 2: xxx2, xxx4, xxx6 ...
    5.0     round to a multiple of 5: xxx5 or xxx0
    10.0    round to a multiple of 10: xx10, xx20, ...
    ======= ======================================

    Args:
        value: float value to round
        rounding: rounding limit

    r   g      ?)round)r   r   factors      r   xroundr   )   s9    * 1}}U||(]F  6))r   N)r   )typingr   _ctypesconstruct2dconstruct3dparametrizebsplinebezierbezier_interpolationeulerspiralucsbulgearclinecircleellipseboxshapebboxoffset2dtransformtools
curvetoolspolylineABS_TOLREL_TOLAnyVecUVecboolr   floatr    r   r   <module>r<      s        
                         # # # #                                                        

 "7( ( (Xf% ((4. (7;( ( ( (* *% *5 *% * * * * * *r   