vibespatial.kernels.predicates

Submodules

Functions

contains_exact(...)

contains_properly_exact(...)

covered_by_exact(...)

covers_exact(...)

crosses_exact(...)

disjoint_exact(...)

intersects_exact(...)

overlaps_exact(...)

touches_exact(...)

within_exact(...)

launch_equals_exact_family(→ None)

Launch equals_exact kernel for a single geometry family.

point_bounds(left, right, *[, dispatch_mode, precision])

Stub for the point bounds kernel on point/polygon inputs.

point_in_polygon(→ list[bool | None])

point_within_bounds(→ list[bool | None])

Package Contents

vibespatial.kernels.predicates.contains_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.contains_properly_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.covered_by_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.covers_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.crosses_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.disjoint_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.intersects_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.overlaps_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.touches_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.within_exact(left: PredicateInput, right: PredicateInput, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.predicates.binary.BinaryPredicateResult
vibespatial.kernels.predicates.launch_equals_exact_family(left_state: vibespatial.geometry.owned.OwnedGeometryDeviceState, right_state: vibespatial.geometry.owned.OwnedGeometryDeviceState, left_buf: vibespatial.geometry.owned.DeviceFamilyGeometryBuffer, right_buf: vibespatial.geometry.owned.DeviceFamilyGeometryBuffer, family: vibespatial.geometry.buffers.GeometryFamily, row_indices_device, tolerance: float, compute_type: str = 'double') None

Launch equals_exact kernel for a single geometry family.

Writes results (0/1) into out_device at positions corresponding to row_indices_device. The caller is responsible for allocating the output buffer and scattering results back.

Parameters

left_state, right_stateOwnedGeometryDeviceState

Device-resident routing metadata (tags, validity, family_row_offsets).

left_buf, right_bufDeviceFamilyGeometryBuffer

Per-family device buffers (x, y, geometry_offsets, part_offsets, ring_offsets).

familyGeometryFamily

Which geometry family these rows belong to.

row_indices_deviceDeviceArray[int32]

Global row indices for the rows in this family batch.

tolerancefloat

Coordinate tolerance for equality.

compute_typestr

“float” or “double” — from PrecisionPlan.

Returns

DeviceArray[int32]

Per-row result (0 or 1) for each row in row_indices_device.

vibespatial.kernels.predicates.point_bounds(left, right, *, dispatch_mode: vibespatial.runtime.ExecutionMode = ExecutionMode.CPU, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO)

Stub for the point bounds kernel on point/polygon inputs.

vibespatial.kernels.predicates.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_within_bounds(points: vibespatial.predicates.point_within_bounds_cpu.PointSequence, polygons_or_bounds: vibespatial.predicates.point_within_bounds_cpu.BoundsSequence | vibespatial.predicates.point_within_bounds_cpu.PointSequence, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) list[bool | None]