vibespatial.predicates.point_relations

Attributes

Functions

classify_point_equals_gpu(→ numpy.ndarray)

classify_point_line_gpu(→ numpy.ndarray)

classify_point_region_gpu(→ numpy.ndarray)

classify_point_predicates_indexed(→ numpy.ndarray)

Evaluate point-family predicates using indexed access into original owned arrays.

classify_point_predicates_indexed_device(predicate, ...)

Evaluate point-vs-point/line/region indexed predicates on device.

Module Contents

vibespatial.predicates.point_relations.POINT_LOCATION_OUTSIDE
vibespatial.predicates.point_relations.POINT_LOCATION_BOUNDARY
vibespatial.predicates.point_relations.POINT_LOCATION_INTERIOR
vibespatial.predicates.point_relations.classify_point_equals_gpu(candidate_rows: numpy.ndarray, left: vibespatial.geometry.owned.OwnedGeometryArray, right: vibespatial.geometry.owned.OwnedGeometryArray) numpy.ndarray
vibespatial.predicates.point_relations.classify_point_line_gpu(candidate_rows: numpy.ndarray, points: vibespatial.geometry.owned.OwnedGeometryArray, lines: vibespatial.geometry.owned.OwnedGeometryArray, *, line_family: vibespatial.geometry.buffers.GeometryFamily) numpy.ndarray
vibespatial.predicates.point_relations.classify_point_region_gpu(candidate_rows: numpy.ndarray, points: vibespatial.geometry.owned.OwnedGeometryArray, regions: vibespatial.geometry.owned.OwnedGeometryArray, *, region_family: vibespatial.geometry.buffers.GeometryFamily) numpy.ndarray
vibespatial.predicates.point_relations.classify_point_predicates_indexed(predicate: str, left_owned: vibespatial.geometry.owned.OwnedGeometryArray, right_owned: vibespatial.geometry.owned.OwnedGeometryArray, left_indices: numpy.ndarray, right_indices: numpy.ndarray) numpy.ndarray

Evaluate point-family predicates using indexed access into original owned arrays.

Avoids the expensive take() buffer copy by pre-gathering family_row_offsets on the host and passing them directly to existing GPU kernels.

Returns a boolean array of length left_indices.size.

vibespatial.predicates.point_relations.classify_point_predicates_indexed_device(predicate: str, left_owned: vibespatial.geometry.owned.OwnedGeometryArray, right_owned: vibespatial.geometry.owned.OwnedGeometryArray, left_indices, right_indices, *, left_tags=None, right_tags=None)

Evaluate point-vs-point/line/region indexed predicates on device.

This is the device-resident companion to classify_point_predicates_indexed(). It intentionally excludes multipoint rows for now because those kernels need subset-style reverse checks that still compose through host masks. Callers must route batches containing multipoints through the existing host-returning path.