Rename to rpmroute
The router began as a port of FreeRouting and has grown its own engine (negotiated congestion, tree nets, exact checks, axis escapes), and 'freeroute' was one letter from the project it no longer follows. The package, module and command are now rpmroute; the freeroute command stays as an alias, and the RPMROUTE / RPMROUTE_ORACLE_JAVA variables fall back to the old FREEROUTE names. Version 2026.10.07. Routing is unchanged: a PCBench board routes to a byte-identical session either way.
This commit is contained in:
@@ -6,7 +6,7 @@ containment and degenerate (empty / point / segment) tiles.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from freeroute.geometry import IntBox, IntPoint, IntVector, RationalPoint
|
||||
from rpmroute.geometry import IntBox, IntPoint, IntVector, RationalPoint
|
||||
|
||||
|
||||
def test_measures():
|
||||
|
||||
@@ -5,7 +5,7 @@ Oracles hand-derived from ``geometry/planar/{Direction,IntDirection}.java``.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from freeroute.geometry import Direction, IntDirection, IntPoint, IntVector, Side
|
||||
from rpmroute.geometry import Direction, IntDirection, IntPoint, IntVector, Side
|
||||
|
||||
|
||||
def test_normalized_direction_reduces_by_gcd():
|
||||
|
||||
@@ -5,7 +5,7 @@ Oracles hand-derived from ``geometry/planar/Line.java``.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from freeroute.geometry import IntPoint, Line, RationalPoint, Side
|
||||
from rpmroute.geometry import IntPoint, Line, RationalPoint, Side
|
||||
|
||||
|
||||
def test_side_of_point():
|
||||
@@ -79,7 +79,7 @@ def test_intersection_approx_matches_exact():
|
||||
def test_translate_and_opposite():
|
||||
line = Line.from_coords(0, 0, 4, 0)
|
||||
assert line.opposite().direction().equals(line.direction()) is False
|
||||
from freeroute.geometry import IntVector
|
||||
from rpmroute.geometry import IntVector
|
||||
|
||||
moved = line.translate_by(IntVector(0, 5))
|
||||
assert moved.side_of(IntPoint(2, 5)) == Side.COLLINEAR
|
||||
|
||||
@@ -7,7 +7,7 @@ import random
|
||||
|
||||
import pytest
|
||||
|
||||
from freeroute.geometry import IntBox, IntPoint, ceil_sqrt2, overlaps_2d, segment_octagon
|
||||
from rpmroute.geometry import IntBox, IntPoint, ceil_sqrt2, overlaps_2d, segment_octagon
|
||||
|
||||
|
||||
@pytest.mark.parametrize("r", [0, 1, 2, 3, 1000, 2000, 3000, 12345, 999999])
|
||||
|
||||
@@ -8,7 +8,7 @@ Java ``long``, and rational equality.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from freeroute.geometry import (
|
||||
from rpmroute.geometry import (
|
||||
IntPoint,
|
||||
IntVector,
|
||||
RationalPoint,
|
||||
@@ -139,7 +139,7 @@ def test_rational_point_infinite():
|
||||
|
||||
|
||||
def test_rational_point_contained_in_box_exact():
|
||||
from freeroute.geometry import IntBox
|
||||
from rpmroute.geometry import IntBox
|
||||
|
||||
box = IntBox(0, 0, 2, 2)
|
||||
assert RationalPoint(3, 2, 2).is_contained_in(box) # (1.5, 1.0) inside
|
||||
|
||||
@@ -13,9 +13,9 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from freeroute.geometry import IntPoint, Side
|
||||
from freeroute.geometry.polygon import Polygon
|
||||
from freeroute.geometry.polygon_shape import PolygonShape
|
||||
from rpmroute.geometry import IntPoint, Side
|
||||
from rpmroute.geometry.polygon import Polygon
|
||||
from rpmroute.geometry.polygon_shape import PolygonShape
|
||||
|
||||
|
||||
def pts(*coords):
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from freeroute.geometry import (
|
||||
from rpmroute.geometry import (
|
||||
IntBox,
|
||||
IntPoint,
|
||||
Polyline,
|
||||
|
||||
@@ -16,7 +16,7 @@ Source: ``geometry/planar/{TileShape,Simplex}.java``.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from freeroute.geometry import IntBox, IntPoint, Line, Side, Simplex
|
||||
from rpmroute.geometry import IntBox, IntPoint, Line, Side, Simplex
|
||||
|
||||
|
||||
def _grid(lo: int, hi: int):
|
||||
@@ -162,7 +162,7 @@ def test_get_instance_detects_empty_from_opposing_halfplanes():
|
||||
|
||||
def test_translate_preserves_shape():
|
||||
tri = right_triangle()
|
||||
from freeroute.geometry import IntVector
|
||||
from rpmroute.geometry import IntVector
|
||||
|
||||
moved = tri.translate_by(IntVector(100, 50))
|
||||
for p in _grid(-3, 13):
|
||||
|
||||
Reference in New Issue
Block a user