def mk_seq_array(lib, shape):
    """
    Constructs an array of the required shape, containing (in C order)
    sequential integer values starting from 1.
    """
    arr = lib.zeros(shape, dtype=int)
    size = np.prod(shape)
    # Don't return the reshaped array directly, instead use it to update
    # the contents of an existing array of the same shape, thus producing a
    # Store without transformations, that has been tiled in the natural way
    arr[:] = lib.arange(1, size + 1).reshape(shape)
    return arr

    Constructs an array of the required shape, containing (in C order)
    sequential integer values starting from 1.
    
tests/integration/utils/generators.py