From 8b2f5deb147f302b940589202bdef328a3e7e17c Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 12 Jun 2014 11:56:13 +0200 Subject: [PATCH] bugfix in CCArray --- core/CCArray.ml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/core/CCArray.ml b/core/CCArray.ml index 16fab34d..69d6f445 100644 --- a/core/CCArray.ml +++ b/core/CCArray.ml @@ -37,20 +37,21 @@ let foldi f acc a = in recurse acc 0 let reverse_in_place a = - let n = Array.length a in - for i = 0 to (n-1)/2 do - let t = a.(i) in - a.(i) <- a.(n-i-1); - a.(n-i-1) <- t; - done + if a = [| |] then () + else + let n = Array.length a in + for i = 0 to (n-1)/2 do + let t = a.(i) in + a.(i) <- a.(n-i-1); + a.(n-i-1) <- t; + done (*$T + reverse_in_place [| |]; true + reverse_in_place [| 1 |]; true let a = [| 1; 2; 3; 4; 5 |] in \ reverse_in_place a; \ a = [| 5;4;3;2;1 |] -*) - -(*$T let a = [| 1; 2; 3; 4; 5; 6 |] in \ reverse_in_place a; \ a = [| 6;5;4;3;2;1 |]