docs: def cycle_running_window(iterable, size):
      """Generate n-size cycle running window.
  
      Example::
  
          >>> for i in running_windows([1, 2, 3, 4, 5], size=3):
          ...     print(i)
          [1, 2, 3]
          [2, 3, 4]
          [3, 4, 5]
          [4, 5, 1]
          [5, 1, 2]
  
      **中文文档**
  
      循环位移滑窗函数。
      """
      if size > len(iterable):
          raise ValueError("size can not be greater than length of iterable.")
  
      fifo = collections.deque(maxlen=size)
      cycle = itertools.cycle(iterable)
      counter = itertools.count(1)
      length = len(iterable)
      for i in cycle:
          fifo.append(i)
          if len(fifo) == size:
              yield list(fifo)
              if next(counter) == length:
                  break