vibespatial.kernels.predicates.point_in_polygon

Attributes

cp

Functions

classify_point_coordinates_single_region_device(...[, ...])

Classify raw device coordinates against one polygonal family row.

launch_point_region_candidate_rows(points, regions)

Return device-resident candidate rows for aligned point/region bounds hits.

get_last_gpu_substage_timings(→ dict[str, float] | None)

Return sub-stage timing breakdown from the most recent GPU point-in-polygon call.

point_in_polygon(→ list[bool | None])

point_in_polygon_expression(points, polygons, *[, ...])

Return private point-in-polygon predicate results as a NativeExpression.

Module Contents

vibespatial.kernels.predicates.point_in_polygon.cp = None
vibespatial.kernels.predicates.point_in_polygon.classify_point_coordinates_single_region_device(point_x, point_y, regions: vibespatial.geometry.owned.OwnedGeometryArray, *, region_family: vibespatial.geometry.buffers.GeometryFamily, region_row: int = 0, compute_type: str = 'double')

Classify raw device coordinates against one polygonal family row.

Physical shape: one coordinate per thread, one reused region, and one byte of output per coordinate. This avoids constructing point geometries or an N-row broadcast index when a grouped polygon consumer already owns flat coordinate buffers and authoritative offsets.

vibespatial.kernels.predicates.point_in_polygon.launch_point_region_candidate_rows(points: vibespatial.geometry.owned.OwnedGeometryArray, regions: vibespatial.geometry.owned.OwnedGeometryArray)

Return device-resident candidate rows for aligned point/region bounds hits.

vibespatial.kernels.predicates.point_in_polygon.get_last_gpu_substage_timings() dict[str, float] | None

Return sub-stage timing breakdown from the most recent GPU point-in-polygon call.

vibespatial.kernels.predicates.point_in_polygon.point_in_polygon(points: vibespatial.predicates.support.PointSequence, polygons: vibespatial.predicates.support.PointSequence, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO, _return_device: bool = False) list[bool | None]
vibespatial.kernels.predicates.point_in_polygon.point_in_polygon_expression(points: vibespatial.predicates.support.PointSequence, polygons: vibespatial.predicates.support.PointSequence, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO, source_token: str | None = None, operation: str = 'point_in_polygon')

Return private point-in-polygon predicate results as a NativeExpression.

Physical shape: row-aligned point-vs-polygon predicate flow. The existing staged PIP pipeline produces a dense bool vector; sanctioned native consumers can compare it into a NativeRowSet instead of exporting a public bool Series.