class_docstr: Base class for binary predicates that are defined in terms of the equals
  basic predicate.  `EqualsPredicateBase` implements utility functions that
  are used within many equals-related binary predicates.
  
  Used by:
  (Point, Point)
  (Point, Polygon)
  (LineString, Polygon)
  (Polygon, Point)
  (Polygon, MultiPoint)
  (Polygon, LineString)
  (Polygon, Polygon)
class_docstr_tok: ["Base","class","for","binary","predicates","that","are","defined","in","terms","of","the","equals","basic","predicate",".","`","EqualsPredicateBase","`","implements","utility","functions","that","are","used","within","many","equals-related","binary","predicates",".","Used","by",":","(","Point",",","Point",")","(","Point",",","Polygon",")","(","LineString",",","Polygon",")","(","Polygon",",","Point",")","(","Polygon",",","MultiPoint",")","(","Polygon",",","LineString",")","(","Polygon",",","Polygon",")"]
docstr: Compute the pairwise length equality of two offset arrays. Consider
  the following example:
  
  lhs = [0, 3, 5, 7]
  rhs = [0, 2, 4, 6]
  
  _offset_equals(lhs, rhs) returns [False, True, True, True]. The first
  element is False because the first object in lhs has 3 points, while
  the first object in rhs has 2 points. The remaining elements are True
  because the remaining objects in lhs and rhs have the same number of
  points.
  
  Parameters
  ----------
  lhs : cudf.Series
      left-hand-side offset array
  rhs : cudf.Series
      right-hand-side offset array
  
  Returns
  -------
  cudf.Series
      pairwise length equality
docstr_tok: ["Compute","the","pairwise","length","equality","of","two","offset","arrays",".","Consider","the","following","example",":","lhs","=","[","0",",","3",",","5",",","7","]","rhs","=","[","0",",","2",",","4",",","6","]","_offset_equals","(","lhs",",","rhs",")","returns","[","False",",","True",",","True",",","True","]",".","The","first","element","is","False","because","the","first","object","in","lhs","has","3","points",",","while","the","first","object","in","rhs","has","2","points",".","The","remaining","elements","are","True","because","the","remaining","objects","in","lhs","and","rhs","have","the","same","number","of","points",".","Parameters","--","--","--","--","--","lhs",":","cudf.Series","left-hand-side","offset","array","rhs",":","cudf.Series","right-hand-side","offset","array","Returns","--","--","--","-","cudf.Series","pairwise","length","equality"]
code: def _offset_equals(self, lhs, rhs):
      """Compute the pairwise length equality of two offset arrays. Consider
      the following example:
  
      lhs = [0, 3, 5, 7]
      rhs = [0, 2, 4, 6]
  
      _offset_equals(lhs, rhs) returns [False, True, True, True]. The first
      element is False because the first object in lhs has 3 points, while
      the first object in rhs has 2 points. The remaining elements are True
      because the remaining objects in lhs and rhs have the same number of
      points.
  
      Parameters
      ----------
      lhs : cudf.Series
          left-hand-side offset array
      rhs : cudf.Series
          right-hand-side offset array
  
      Returns
      -------
      cudf.Series
          pairwise length equality
      """
      lhs_lengths = lhs[:-1] - lhs[1:]
      rhs_lengths = rhs[:-1] - rhs[1:]
      return lhs_lengths == rhs_lengths
  
imports: from __future__ import annotations
  from typing import Generic, TypeVar
  import cupy
  import cudf
  from cudf import Series
  import cuspatial
  from cuspatial.core.binpreds.binpred_interface import BinPred, EqualsOpResult, ImpossiblePredicate, NotImplementedPredicate, PreprocessorResult
  from cuspatial.utils.binpred_utils import LineString, MultiPoint, Point, Polygon, _false_series
label_desc: Use image node_id 1 for calling the EqualsPredicateBase obj's underlying member method code with example usage: obj._offset_equals(lhs, rhs) and returns: unknown