class_docstr: Represent a range in TVM.
  
  You do not need to create a Range explicitly.
  Python lists and tuples will be converted automatically to a Range in API functions.
  
  Parameters
  ----------
  begin : PrimExpr
      The begin value of the range when end is None.
      Otherwise it is the length of the range.
  
  end : Optional[PrimExpr]
      The end value of the range.
  
  span : Optional[Span]
      The location of this node in the source code.
  
  Note
  ----
  The constructor creates the range `[begin, end)`
  if the end argument is not None. Otherwise, it creates `[0, begin)`.
class_docstr_tok: ["Represent","a","range","in","TVM",".","You","do","not","need","to","create","a","Range","explicitly",".","Python","lists","and","tuples","will","be","converted","automatically","to","a","Range","in","API","functions",".","Parameters","--","--","--","--","--","begin",":","PrimExpr","The","begin","value","of","the","range","when","end","is","None",".","Otherwise","it","is","the","length","of","the","range",".","end",":","Optional","[","PrimExpr","]","The","end","value","of","the","range",".","span",":","Optional","[","Span","]","The","location","of","this","node","in","the","source","code",".","Note","--","--","The","constructor","creates","the","range","`","[","begin",",","end",")","`","if","the","end","argument","is","not","None",".","Otherwise",",","it","creates","`","[","0",",","begin",")","`","."]
code: def __ne__(self, other: Object) -> bool:
      return not self.__eq__(other)
  
imports: from numbers import Number
  from typing import Callable, Optional
  import tvm._ffi
  from ..runtime import Object, Scriptable, const, convert
  from .None import _ffi_api
  from .base import Node, Span
  from .type import Type
label_desc: Use image node_id 4 for calling the Range obj's underlying member method code with example usage: obj.__ne__(other) and returns: unknown