[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] Changes to mldonkey/src/utils/cdk/list2.ml
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] Changes to mldonkey/src/utils/cdk/list2.ml |
Date: |
Sun, 17 Jul 2005 20:52:34 -0400 |
Index: mldonkey/src/utils/cdk/list2.ml
diff -u mldonkey/src/utils/cdk/list2.ml:1.3 mldonkey/src/utils/cdk/list2.ml:1.4
--- mldonkey/src/utils/cdk/list2.ml:1.3 Sun Jul 10 23:19:16 2005
+++ mldonkey/src/utils/cdk/list2.ml Mon Jul 18 00:52:31 2005
@@ -72,8 +72,8 @@
let cut n list =
if n < 0 then failwith "List2.sub: invalid parameter";
cut_rec n list []
-
-let tail_map f list =
+
+let tail_map f list =
List.rev (List.rev_map f list)
@@ -105,3 +105,14 @@
match list with
[] -> raise Not_found
| m :: tail -> iter m tail
+
+let shuffle list =
+ let a = Array.of_list list in
+ let len = Array.length a in
+ for i = 0 to len-1 do
+ let p = Random.int (len-1) in
+ let tmp = a.(i) in
+ a.(i) <- a.(p);
+ a.(p) <- tmp;
+ done;
+ Array.to_list a