seuls les entiers, les tranches (`:`), les ellipses (`...`), numpy.newaxis (`None`) et les tableaux entiers ou booléens sont des indices valides

Je suis la mise en œuvre de la fft dans le cadre de mes devoirs. Mon problème réside dans la mise en œuvre de mélanger les éléments de données à l'aide de peu d'inversion. Je reçois le message d'avertissement suivant:

DeprecationWarning: à l'aide d'un non-nombre entier au lieu d'un nombre entier d'entraîner une erreur dans l'avenir.

de données[x], [y] = [y], [x]

Et l'auto système de classement (fourni par l'université) renvoie les éléments suivants:

erreur: seuls les nombres entiers, en tranches (:), points de suspension (...), numpy.newaxis (None) et entier booléen ou les tableaux sont valables indices.

Mon code est:

def shuffle_bit_reversed_order(data: np.ndarray) -> np.ndarray:
    """
    Shuffle elements of data using bit reversal of list index.

    Arguments:
    data: data to be transformed (shape=(n,), dtype='float64')

    Return:
    data: shuffled data array
    """

    # implement shuffling by reversing index bits

    size = data.size

    half = size/2;

    for x in range(size):
        xx = np.int(x)
        n = np.int(half)

        y = 0

        while n > 0:
            y += n * np.mod(xx,2)
            n /= 2
            xx = np.int(xx /2)

        if (y > x):

            data[x], data[y] = data[y], data[x]

    return data

J'ai déjà mis en place la fonction fft, mais il ne fonctionnera pas jusqu'à ce que je obtenir ce brassage de la fonction de travail. Je pense que le problème est que mes données est de type 'float64" et j'ai peut-être utilisé comme un entier, mais je ne sais pas comment je peux le résoudre.

source d'informationauteur Uttam