class_docstr: A state in the search process. It consists of the current loop structure
  and a list of transformation steps used to construct it.
  Each State corresponds to a specific schedule for its ComputeDAG.
  Parameters
  ----------
  state_object : StateObject
      The StateObject corresponding to C++ internal State object.
  dag : ComputeDAG
      The original ComputeDAG of this State.
  Notes
  -----
  This is a wrapper class of StateObject to deal with copy-on-write property
class_docstr_tok: ["A","state","in","the","search","process",".","It","consists","of","the","current","loop","structure","and","a","list","of","transformation","steps","used","to","construct","it",".","Each","State","corresponds","to","a","specific","schedule","for","its","ComputeDAG",".","Parameters","--","--","--","--","--","state_object",":","StateObject","The","StateObject","corresponding","to","C++","internal","State","object",".","dag",":","ComputeDAG","The","original","ComputeDAG","of","this","State",".","Notes","--","--","-","This","is","a","wrapper","class","of","StateObject","to","deal","with","copy-on-write","property"]
docstr: Schedule primitive corresponding to `te.Stage.split`.
  See also the `te.Stage` for more details.
  This API supports multiple split factors. (e.g. with 2 split factors, the original iterator
  will be split to 3 parts, use `inner_to_outer` to control the split order)
  Parameters
  ----------
  stage : Union[int, Operation, Tensor]
      The Stage to be split, which can be specified by the integer index, Operation,
      or output tensor of the stage.
  iterator : Iterator
      The iterator to be split.
  lengths: List[int]
      The multiple split factors. Can be None to be filled by search policy.
  inner_to_outer: boolean = True
      Whether the factor go from inner to outer, or from outer to inner.
  Returns
  -------
  res_its : List[Iterator]
      The splitted new Iterators.
  Notes
  -----
  If we do split on an iterator which has stages attached at it(by compute_at), the inner
  most iterator of split results will become the new attach point.
docstr_tok: ["Schedule","primitive","corresponding","to","`","te.Stage.split","`",".","See","also","the","`","te.Stage","`","for","more","details",".","This","API","supports","multiple","split","factors",".","(","e.g",".","with","2","split","factors",",","the","original","iterator","will","be","split","to","3","parts",",","use","`","inner_to_outer","`","to","control","the","split","order",")","Parameters","--","--","--","--","--","stage",":","Union","[","int",",","Operation",",","Tensor","]","The","Stage","to","be","split",",","which","can","be","specified","by","the","integer","index",",","Operation",",","or","output","tensor","of","the","stage",".","iterator",":","Iterator","The","iterator","to","be","split",".","lengths",":","List","[","int","]","The","multiple","split","factors",".","Can","be","None","to","be","filled","by","search","policy",".","inner_to_outer",":","boolean","=","True","Whether","the","factor","go","from","inner","to","outer",",","or","from","outer","to","inner",".","Returns","--","--","--","-","res_its",":","List","[","Iterator","]","The","splitted","new","Iterators",".","Notes","--","--","-","If","we","do","split","on","an","iterator","which","has","stages","attached","at","it","(","by","compute_at",")",",","the","inner","most","iterator","of","split","results","will","become","the","new","attach","point","."]
code: def split(self, stage, iterator, lengths, inner_to_outer=True):
      """Schedule primitive corresponding to `te.Stage.split`.
      See also the `te.Stage` for more details.
      This API supports multiple split factors. (e.g. with 2 split factors, the original iterator
      will be split to 3 parts, use `inner_to_outer` to control the split order)
      Parameters
      ----------
      stage : Union[int, Operation, Tensor]
          The Stage to be split, which can be specified by the integer index, Operation,
          or output tensor of the stage.
      iterator : Iterator
          The iterator to be split.
      lengths: List[int]
          The multiple split factors. Can be None to be filled by search policy.
      inner_to_outer: boolean = True
          Whether the factor go from inner to outer, or from outer to inner.
      Returns
      -------
      res_its : List[Iterator]
          The splitted new Iterators.
      Notes
      -----
      If we do split on an iterator which has stages attached at it(by compute_at), the inner
      most iterator of split results will become the new attach point.
      """
      self.state_object, res = _ffi_api.StateSplit(
          self.state_object,
          self._resolve_stage_id(stage),
          iterator,
          lengths,
          inner_to_outer,
      )
      return res
  
imports: import tvm._ffi
  from tvm.te.tensor import Operation, Tensor
  from tvm.runtime import Object
  from .None import _ffi_api
label_desc: Use image node_id 12 for calling the State obj's underlying member method code with example usage: obj.split(stage, iterator, lengths, inner_to_outer) and returns: res