docs: def _repeat_1d(x, K, out):
      '''
      Repeats each element of a vector many times and repeats the whole
      result many times
  
      Parameters
      ----------
      x : ndarray(ndim=1)
          vector to be repeated
  
      K : scalar(int)
          number of times each element of x is repeated (inner iterations)
  
      out : ndarray(ndim=1)
          placeholder for the result
  
      Returns
      -------
      None
      '''
  
      N = x.shape[0]
      L = out.shape[0] // (K*N)  # number of outer iterations
      # K                        # number of inner iterations
  
      # the result out should enumerate in C-order the elements
      # of a 3-dimensional array T of dimensions (K,N,L)
      # such that for all k,n,l, we have T[k,n,l] == x[n]
  
      for n in range(N):
          val = x[n]
          for k in range(K):
              for l in range(L):
                  ind = k*N*L + n*L + l
                  out[ind] = val