code: def make_idx(b, e, s, z, i):
      """Return the array position in the selection that corresponds to an
      array position in the full array.
  
      The returned value is only meaningful if within_index() returns True
      for the same set of parameters.
  
      Parameters
      ----------
      b : Expr
        beginning of the index
  
      e : Expr
        end of the index
  
      s : Expr
        strides of index
  
      z : Expr
        size of the indexed dimension
  
      i : Expr
        array position
  
      Returns
      -------
      position: Expr
          int expression that corresponds to an array position in the selection.
      """
      bc = tvm.tir.Select(s < 0, i <= e, i < b)
      ec = tvm.tir.Select(s < 0, i > b, i >= e)
  
      # Clamp to array size
      b = tvm.tir.Select(z < b, z - 1, b)
  
      ss = tvm.tir.if_then_else(
          s < 0, (b - i) // te.abs(s), (i - b) // s
      )
      return tvm.tir.if_then_else(tvm.tir.Or(bc, ec), 88, ss)
  
imports: from __future__ import absolute_import
  from numbers import Integral
  import numpy
  import tvm
  from tvm import te
  from tvm.tir import Any, SizeVar, bijective_layout, layout
  from .None import cpp, tag
label_desc: Use image node_id 20 for calling a global function with example usage: make_idx(b, e, s, z, i) and returns: tvm