Tester l'égalité de deux tableaux

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Tester l'égalité de deux tableaux

Messagepar cerise » Lundi 06 Juin 2011, 12:55

Bonjour,

Je cherche à tester si deux tableaux ont les mêmes éléments. Existe-t-il une fonction qui fasse ça ?

Sinon, j'en programmerai une à la main.

Cerise
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Publicité

Re: Tester l'égalité de deux tableaux

Messagepar OG » Lundi 06 Juin 2011, 12:59

Bonjour

Voici ce que dit la doc
Asymptote includes a full set of vectorized array instructions for arithmetic (including self) and logical operations. These element-by-element instructions are implemented in C++ code for speed. Given

real[] a={1,2};
real[] b={3,2};
then a == b and a >= 2 both evaluate to the vector {false, true}. To test whether all components of a and b agree, use the boolean function all(a == b). One can also use conditionals like (a >= 2) ? a : b, which returns the array {3,2}, or write((a >= 2) ? a : null, which returns the array {2}.


Il semble donc que oui (même taille, mêmes éléments).

O.G.
OG
Modérateur
 
Messages: 2276
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Tester l'égalité de deux tableaux

Messagepar cerise » Lundi 06 Juin 2011, 13:45

Bonjour,

Merci pour ton aide.

En effet, cela fonctionne pour des tableaux dont les éléments sont entiers (ou réels).
"==" fonctionne encore pour des tableaux de tableaux d'entiers, mais a le comportement qu'on attendrait de "all(a == b)", tandis que "all" ne fonctionne plus.
Et pour des tableaux de tableaux de tableaux, cela ne fonctionne plus du tout (et je suis dans ce cas...).

Bon, cela dit, il se trouve que mon grand tableau n'a que deux éléments (qui sont des matrices, donc des tableaux de tableaux) : je teste donc séparément pour ces deux matrices grâce à ta solution, et ça me convient.
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités