/[mldonkey]/mldonkey/src/utils/cdk/list2.ml
ViewVC logotype

Diff of /mldonkey/src/utils/cdk/list2.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by spiralvoice, Sun Jul 10 23:19:16 2005 UTC revision 1.4 by spiralvoice, Mon Jul 18 00:52:31 2005 UTC
# Line 72  let rec cut_rec n list r = Line 72  let rec cut_rec n list r =
72  let cut n list =  let cut n list =
73    if n < 0 then failwith "List2.sub: invalid parameter";    if n < 0 then failwith "List2.sub: invalid parameter";
74    cut_rec n list []    cut_rec n list []
75      
76  let tail_map f list =  let tail_map f list =
77    List.rev (List.rev_map f list)    List.rev (List.rev_map f list)
78    
79    
# Line 105  let max list = Line 105  let max list =
105    match list with    match list with
106      [] -> raise Not_found      [] -> raise Not_found
107    | m :: tail -> iter m tail    | m :: tail -> iter m tail
108    
109    let shuffle list =
110      let a = Array.of_list list in
111      let len = Array.length a in
112      for i = 0 to len-1 do
113        let p = Random.int (len-1) in
114        let tmp = a.(i) in
115        a.(i) <- a.(p);
116        a.(p) <- tmp;
117      done;
118      Array.to_list a

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26