vibespatial.kernels.predicates¶
Submodules¶
- vibespatial.kernels.predicates.binary_refine
- vibespatial.kernels.predicates.equals_exact
- vibespatial.kernels.predicates.equals_exact_source
- vibespatial.kernels.predicates.point_bounds
- vibespatial.kernels.predicates.point_in_polygon
- vibespatial.kernels.predicates.point_in_polygon_source
- vibespatial.kernels.predicates.point_within_bounds
Functions¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Launch equals_exact kernel for a single geometry family. |
|
Stub for the point bounds kernel on point/polygon inputs. |
|
|
|
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_deviceat positions corresponding torow_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]¶