diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2010-05-31 12:46:27 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2010-05-31 12:46:27 +0000 |
commit | b0c511558cf7e742a39e3f27df08a210ba159955 (patch) | |
tree | 6c234a024bad7e0d088603d769ce4cb25f155344 /stdlib | |
parent | 3671db5389465f1a65c299fc01311404f1ac7815 (diff) |
small optimization of Array.concat
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10482 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/array.ml | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/stdlib/array.ml b/stdlib/array.ml index 4eb0cadf2..d1cbd6557 100644 --- a/stdlib/array.ml +++ b/stdlib/array.ml @@ -78,10 +78,11 @@ let concat_aux init al = ;; let concat al = - let rec find_init = function - [] -> [||] + let rec find_init aa = + match aa with + | [] -> [||] | a :: rem -> - if length a > 0 then concat_aux (unsafe_get a 0) al else find_init rem + if length a > 0 then concat_aux (unsafe_get a 0) aa else find_init rem in find_init al let sub a ofs len = |