Commit Graph

46 Commits (ac0152bc6200535734d4a6d5f84196a2ef8acf03)

Author SHA1 Message Date
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
Damien Doligez 0ed38a9fb1 bumped version to 4.00.0 (per Xavier's decision)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12212 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 22:27:57 +00:00
Damien Doligez 1a4f7bd6ab doc: stats since 3.13.0; clean up whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11995 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-06 13:42:04 +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
Alain Frisch b2520d12ea Document the fact that Hashtbl.length runs in constant time.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-18 12:54:57 +00:00
Damien Doligez 984fc2d8e3 typo dans un commentaire
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6854 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-05-04 13:36:47 +00:00
Xavier Leroy c8db125eae Removed misleading comment about mutable keys
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6578 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-10 08:46:22 +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 6c5d5d9e03 MAJ documentation:
- comportement de nan avec les comparaisons et avec la fonction compare
- exceptions levees par les acces hors-bornes
- exceptions de debordement dans les conversions string -> int


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5963 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-21 16:06:08 +00:00
Xavier Leroy dc5c604800 Doc de iter et fold
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5617 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-23 13:19:35 +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
Maxence Guesdon b7c2dcaa7e Changements niveaux de titres dan les commmentaires
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-12-28 23:13:35 +00:00
Xavier Leroy e9cc0ac2ff Nettoyage commentaires de doc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4152 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-12-10 12:33:55 +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
Maxence Guesdon 966c128bc9 commentaires après
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4082 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-12-03 22:01:28 +00:00
Maxence Guesdon 7c6c78a292 Modification emplacements et syntaxe commentaire spour OCamldoc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3925 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-10-26 22:37:35 +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
Jacques Garrigue 19fede7478 passage aux labels legers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-03 01:57:52 +00:00
Jacques Garrigue 54467b98f5 ajout du label size: pour Hashtbl.create et Buffer.create
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2870 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-26 13:30:26 +00:00
Damien Doligez a3ee3353a6 amelioration doc create
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-13 19:04:16 +00:00
Jacques Garrigue 296fc05470 Merge olabl branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 16:07:38 +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 95933de17c Corrections mineures sur la documentation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1933 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 09:55:50 +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
Damien Doligez 03ec746bf1 deTABisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-19 15:42:21 +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
Damien Doligez b98d994046 hashtbl.mli: changé "unpredictable" en "unspecified"
header.c: supprimé l'appel à strlen (qui planterait sur big endian 64 bits)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@958 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-05 17:35:43 +00:00
Pierre Weis e844057f4c val --> value :)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@910 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-28 15:10:28 +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 d0012c733a MAJ des commentaires de doc dans les interfaces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 13:15:01 +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 997fb206a7 Printf.sprintf et String.concat dans stdlib
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-05 10:05:18 +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