* Change: In Anabatic::AutoSegments collections, change the type of all
the flags that where in "unsigned int" (32 bits) to Flags (uint64_t)
as there is now more than 32 flags for functions.
* New: In Ababatic::Constants, added new flag Flags::WithPerpands, which
makes the number of flags tip over 32 bits, thus making mandatory
to uses Flags and not unsigned int.
* New: In Anabatic::AutoSegments_Perpandiculars, manage a new flag
Flags::WithDoglegs to allow to propagate through global segments that
are connecteds via doglegs on local segments. Meaning that there is
a good chance that they could be aligned.
Slighly change the way we propagate on aligned segments: no longer
check for VTee or HTee, but only for same direction and layer as
master.
* New: In Anabatic & Katana, replace all the "int", "long" and their
variants by the less implementation ambiguous "int32_t", "int64_t"
(and variant). This should help to better detect bit trucation in
flags.
Use the type to give a hint about the flags kind:
- Type "Flags", for flags shared among Anabatic & Katana
functions/methods (may also appear in some objects states).
- Type "uint32_t" for flags belonging to an object internal
state of from Hurricane functions flags (those should be
grouped in a Flag subclass in a perfect world).
* Bug: In Anabatic::GCell, new functions getConstraintUMax() to return the
correct bounding box for the last north/east GCell. The GCells do not
own their north/east edges, except for the last ones. Thoses functions
must distinct from getUMax() because for them, the shrink is always
applied. getConstraintBox() uses the "getConstraintUMax()" functions.
* Bug: In Anabatic::AutoContact, initialize the constraint box from the
new GCell::getConstraintUMax(), to manage correctly the boundaries
of the nothernmost & easternmost GCells. The problem was showing for
pins on the north/east side of a circuit, the constraint
* Bug: In Anabatic::AutoContactHTee, Anabatic::AutoContactVTee and
Anabatic::AutoContactTerminal forgot to call the _preCreate() function
in the various create().
* Bug: In Matrix::getUnder(), if on the N/E boundary, decrease by one to
be enclosed in it.