V}> d Z ddlmZmZmZ G d de Z G d de Z G d dee Zd Z d
Z
G d d Z G d
dee Z G d dee Z
d Zg dgfdZdgfdZd Zd ZdS )a Support functions for RE simplification.
This module is intended for use by the RE module.
It is in a separate module to keep RE itself cleaner
since the algorithm, 'rectangle selection', is a quite
separate part that depends on some tricky heuristics.
The primary entry function is
chooserects(lines, gauges)
It chooses 'the best' rectangles from lines to base simplification on.
A weight on atoms is given by gauges.
pr() gives some example usages of chooserects.
) immbitset mutbitsetimmbitrangec 2 e Zd ZdZd Zd Zd Zd dZd ZdS )
Rect)widthlinesgainmemolnos all_linescommon_partc ^ || _ || _ |rt | dk rJ i | _ d S )N )r r lenr
)selfr r s e/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/guppy/etc/RE_Rect.py__init__z
Rect.__init__ s4
.c%jjAooo.
c || _ t fd| j D | _ | | _ d S )Nc : g | ]}t | S id).0linelnobyids r