Commit Graph

35 Commits (1b81bef5b9f97ee1e88d47df669b6a4c7218c04b)

Author SHA1 Message Date
Damien Doligez 8a216cd3bb fix two bugs in commit 12453
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12476 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-24 15:12:37 +00:00
Fabrice Le Fessant 621dd2dd5f Fix PR#5555
Add Hashtbl.reset to resize the bucket table to its initial size.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 08:36:25 +00:00
Xavier Leroy b2166e33f5 - Hashtbl:
. Added optional "random" parameter to Hashtbl.create to randomize
      collision patterns and improve security (PR#5572, CVE-2012-0839)
    . Added "randomize" function and "R" parameter to OCAMLRUNPARAM
      to turn randomization on by default (PR#5572, CVE-2012-0839)
- Filename: on-demand (lazy) initialization of the PRNG used by "temp_file".



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-19 13:17:40 +00:00
Xavier Leroy bd3e65ea7a PR#5349: "replace" uses new key instead of reusing old key.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11205 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-18 09:40:21 +00:00
Xavier Leroy 8e33ab4f2d Improve backward compatibility for Hashtbl functorial interface:
Hashtbl.Make returns a "create" function without an optional seed parameter.
(Which would be ignored anyway.)
Hashtbl.MakeSeeded returns a "create" function with an optional seed parameter.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11204 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-18 09:35:27 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Xavier Leroy e6d76ed5b1 Hashtbl again: simplified interface for seeding; seed is now an optional parameter of the "create" function, and it is the user's responsibility to generate a random seed if desired.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11063 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-04 08:08:40 +00:00
Xavier Leroy aea227fdeb Better hashing!
- New generic hash function based on Murmur 3, with better statistical
  properties (PR#5225), and better speed
- Make sure equal floats hash equally (PR#5222)
- Breadth-first traversal instead of depth-first
- Added seeded hash functions and seeded functorial interface to Hashtbl.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11056 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-05-29 09:52:27 +00:00
Damien Doligez 0e5ca9dca5 nettoyage
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-25 18:34:07 +00:00
Basile Starynkevitch 2c8fe3ae6b added length function.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-03-23 12:37:19 +00:00
Damien Doligez 0c7aecb88d depollution suite (et fin?) (PR#1914 et PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-02 19:23:29 +00:00
Xavier Leroy f009490d09 Utiliser compare x y = 0 au lieu de x = y lorsqu'on compare des cles qui peuvent etre le flottant nan
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-21 16:04:26 +00:00
Damien Doligez 1915402f26 elargissement de la spec de la fonction de hash
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4305 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-01-23 17:52:46 +00:00
Xavier Leroy 7501784c80 MAJ en-tetes pour mentionner la 'special exception' sur la LGPL
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4144 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-12-07 13:41:02 +00:00
Xavier Leroy d3db3052c3 Bug dans l'interface fonctorielle pour add et resize
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4021 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-11-19 15:37:19 +00:00
Xavier Leroy 1a1d67bb95 Revu strategie de redimensionnement des hashtables; ajout Hashtbl.copy.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-10-25 11:32:36 +00:00
Jacques Garrigue ea299bbbc1 passage aux labels stricts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-09-06 08:52:32 +00:00
Xavier Leroy 371e5b9cde Ajout de Hashtbl.fold (PR#195)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3544 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-06-25 08:33:25 +00:00
Xavier Leroy d48c6cfaea Ajout de Hashtbl.replace. Pas d'allocation dans Hashtbl.find
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3262 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-28 12:24:25 +00:00
Xavier Leroy e508598e0f Meilleur comportement de resize quand on s'approche de max_array_length
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2880 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-29 13:06:40 +00:00
Damien Doligez a9127cb36f unicite de la fonction de hash
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2627 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-29 19:04:12 +00:00
Jérôme Vouillon 764f2c83c3 Bug in the function "mem" of the functorial interface
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2601 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-25 22:39:23 +00:00
Xavier Leroy cc0f32b054 Changement de la licence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Damien Doligez 10270afb11 array.mli: documentation des cas d'erreur de make, make_matrix
string.mli: documentation des cas d'erreur de create, make
buffer.ml, buffer.mli: blindage de create
hashtbl.ml, hashtbl.mli: blindage de create
pervasives.ml: fix typo dans bool_of_string
gc.mli: utilisation de {r with l=v} dans l'exemple


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2411 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-10-02 12:09:43 +00:00
Pierre Weis 36dea1c565 Added Hashtbl.mem to test if a given key is bound into the table.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2271 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-11 09:46:14 +00:00
Xavier Leroy 0ad8241289 Typo dans message d'erreur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1936 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 15:14:15 +00:00
Damien Doligez b8ccccff49 Makefiles: fix disparition de weak.cmo
Changement de type des fonctions iter


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-31 12:59:29 +00:00
Xavier Leroy d096a45961 hashtbl.ml: un parametre inutilise lors du redimensionnement.
list.ml: List.length tail-rec.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-21 10:46:38 +00:00
Pierre Weis 430e94aa72 Test explicite de la taille minimale des tables de hachage.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1256 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-04 08:02:34 +00:00
Xavier Leroy 9548bd7e5d Char, String: ajout fonctions uppercase, lowercase, capitalize, uncapitalize.
Filename: mort aux ;;, utiliser String.lowercase
Hashtbl: corrige la fuite de Hashtbl.remove, ajout interface fonctorielle.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1129 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-31 16:03:04 +00:00
Xavier Leroy 2301d778e7 Renommage en Objective Caml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Jérôme Vouillon 7974a9d8b1 Extension objets.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-22 11:15:41 +00:00
Xavier Leroy e4066357b1 Ajout des notices de copyright
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy 7fcb1d47c5 Annotations "noalloc" sur les primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@144 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 11:39:02 +00:00
Xavier Leroy 61bd8ace6b Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00