def flip_ctrlpts_u(ctrlpts, size_u, size_v):
    """ Flips a list of 1-dimensional control points in u-row order to v-row order.

    **u-row order**: each row corresponds to a list of u values (in 2-dimensions, an array of [v][u])
    **v-row order**: each row corresponds to a list of v values (in 2-dimensions, an array of [u][v])

    :param ctrlpts: control points in u-row order
    :type ctrlpts: list, tuple
    :param size_u: size in u-direction
    :type size_u: int
    :param size_v: size in v-direction
    :type size_v: int
    :return: control points in v-row order
    :rtype: list
    """
    new_ctrlpts = []
    for i in range(0, size_u):
        for j in range(0, size_v):
            temp = [float(c) for c in ctrlpts[i + (j * size_u)]]
            new_ctrlpts.append(temp)

    return new_ctrlpts