You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 1244 Reporter: administrator Status: closed Resolution: not a bug Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
Voici problème sur lequel j'ai longtemps séché. Je ne crois pas que ce soit
expliqué dans la doc...
J'ai besoin de compter le nombre d'occurrence de motifs dans un ensemble. Un
motif est un tableau, ici à un seul élément. Je parcours mon ensemble, et je
rajoute chaque motif rencontré dans une table.
Le problème, c'est que je réutilise à chaque fois le même tableau: les
différents motifs se mélangent, en tout cas quand la table est petite.
Par contre, si j'ajoute à la table une copie du tableau, cela semble marcher.
NB: Par contre, pour extraire le motif, il ne semble pas être nécessaire de
faire une copie.
Amicalement,
Luc.
let test n size=
let entry = Array.create 1 0 in (* Tableau de taille 1 )
let table = Hashtbl.create size in ( Table de hachage )
for i = 0 to n-1 do
entry.(0) <- i; ( Modifier physiquement le tableau )
Hashtbl.add table entry (2i) (* Puis l'ajouter à la table )
done;
entry.(0) <- 0; ( Essayer de retrouver la première valeur *)
Hashtbl.find table entry
;;
Original bug ID: 1244
Reporter: administrator
Status: closed
Resolution: not a bug
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: Luc Bougé
Version: 3.04
OS: Linux
Submission from: hydromel.irisa.fr (131.254.12.62)
Voici problème sur lequel j'ai longtemps séché. Je ne crois pas que ce soit
expliqué dans la doc...
J'ai besoin de compter le nombre d'occurrence de motifs dans un ensemble. Un
motif est un tableau, ici à un seul élément. Je parcours mon ensemble, et je
rajoute chaque motif rencontré dans une table.
Le problème, c'est que je réutilise à chaque fois le même tableau: les
différents motifs se mélangent, en tout cas quand la table est petite.
Par contre, si j'ajoute à la table une copie du tableau, cela semble marcher.
NB: Par contre, pour extraire le motif, il ne semble pas être nécessaire de
faire une copie.
Amicalement,
Luc.
let test n size=
let entry = Array.create 1 0 in (* Tableau de taille 1 )
let table = Hashtbl.create size in ( Table de hachage )
for i = 0 to n-1 do
entry.(0) <- i; ( Modifier physiquement le tableau )
Hashtbl.add table entry (2i) (* Puis l'ajouter à la table )
done;
entry.(0) <- 0; ( Essayer de retrouver la première valeur *)
Hashtbl.find table entry
;;
test 10 1;;
test 10 10;;
test 10 100000;;
(* Solution:
Hashtbl.add table entry ... -> Hashtbl.add table (Array.copy entry) ...
*)
The text was updated successfully, but these errors were encountered: