code: def test_quadtree_point_in_polygon_small(dtype):
      x_min = 0
      x_max = 8
      y_min = 0
      y_max = 8
      scale = 1
      max_depth = 3
      min_size = 12
      points_x = small_points_x.astype(dtype)
      points_y = small_points_y.astype(dtype)
      points = cuspatial.GeoSeries.from_points_xy(
          cudf.DataFrame(
              {
                  "x": points_x,  # x
                  "y": points_y,  # y
              }
          ).interleave_columns()
      )
      poly_points_x = small_poly_xs.astype(dtype)
      poly_points_y = small_poly_ys.astype(dtype)
      poly_points = cudf.DataFrame(
          {"x": poly_points_x, "y": poly_points_y}
      ).interleave_columns()
  
      polygons = cuspatial.GeoSeries.from_polygons_xy(
          poly_points,
          small_ring_offsets,
          small_poly_offsets,
          cp.arange(len(small_poly_offsets)),
      )
      point_indices, quadtree = cuspatial.quadtree_on_points(
          points,
          x_min,
          x_max,
          y_min,
          y_max,
          scale,
          max_depth,
          min_size,
      )
      xy = cudf.DataFrame(
          {"x": poly_points_x, "y": poly_points_y}
      ).interleave_columns()
      polygons = cuspatial.GeoSeries.from_polygons_xy(
          xy,
          small_ring_offsets,
          small_poly_offsets,
          cp.arange(len(small_poly_offsets)),
      )
      poly_bboxes = cuspatial.polygon_bounding_boxes(polygons)
      intersections = cuspatial.join_quadtree_and_bounding_boxes(
          quadtree,
          poly_bboxes,
          x_min,
          x_max,
          y_min,
          y_max,
          scale,
          max_depth,
      )
      polygons_and_points = cuspatial.quadtree_point_in_polygon(
          intersections, quadtree, point_indices, points, polygons
      )
      cudf.testing.assert_frame_equal(
          polygons_and_points,
          cudf.DataFrame(
              {
                  "polygon_index": cudf.Series(
                      [
                          3,
                          3,
                          3,
                          3,
                          3,
                          3,
                          3,
                          3,
                          1,
                          1,
                          1,
                          1,
                          1,
                          1,
                          1,
                          1,
                          1,
                          0,
                          3,
                      ],
                      dtype=np.uint32,
                  ),
                  "point_index": cudf.Series(
                      [
                          28,
                          29,
                          30,
                          31,
                          32,
                          33,
                          34,
                          35,
                          45,
                          46,
                          47,
                          48,
                          49,
                          50,
                          51,
                          52,
                          54,
                          62,
                          60,
                      ],
                      dtype=np.uint32,
                  ),
              }
          ),
      )
  
file_path: cuspatial/python/cuspatial/cuspatial/tests/spatial/join/test_spatial_join.py
imports: import cupy
  import numpy
  import pytest
  import cudf
  import cuspatial
label_desc: Use image node_id 4 for calling a global function with example usage: test_quadtree_point_in_polygon_small(dtype) without return types