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-family indexed predicates on device.

classify_homogeneous_point_predicates_indexed_device(...)

Evaluate one point-family pair without relation-row compaction.

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, *, return_device: bool = False) 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, return_device: bool = False) 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, return_device: bool = False) 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, *, precision_plan: vibespatial.runtime.precision.PrecisionPlan | None = None) 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, precision_plan: vibespatial.runtime.precision.PrecisionPlan | None = None)

Evaluate point-family indexed predicates on device.

This is the device-resident companion to classify_point_predicates_indexed(). It covers point, multipoint, lineal, and polygonal relation-pair rows without exporting branch masks to host.

vibespatial.predicates.point_relations.classify_homogeneous_point_predicates_indexed_device(predicate: str, left_owned: vibespatial.geometry.owned.OwnedGeometryArray, right_owned: vibespatial.geometry.owned.OwnedGeometryArray, left_indices, right_indices, *, left_family: vibespatial.geometry.buffers.GeometryFamily, right_family: vibespatial.geometry.buffers.GeometryFamily, precision_plan: vibespatial.runtime.precision.PrecisionPlan, logical_count=None, source_offset=None, launch_capacity: int | None = None, predicate_out=None, relation_out=None)

Evaluate one point-family pair without relation-row compaction.