From 8745f6b56fe3c523a8730baed1fc1f7cc54b377b Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 31 May 2018 18:42:27 +0100 Subject: Fix for Jenkins build Looks like Jenkins is still on OCaml 4.02.3. We should probably upgrade to 4.05 at some point. --- src/sail_lib.ml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/sail_lib.ml b/src/sail_lib.ml index 082df4c1..8a3072c2 100644 --- a/src/sail_lib.ml +++ b/src/sail_lib.ml @@ -540,8 +540,16 @@ let rec pow x = function | 0 -> 1 | n -> x * pow x (n - 1) +(* FIXME: Copy split_on_char from util.ml until we upgrade Jenkins to OCaml 4.05 *) +let rec split_on_char sep str = + try + let sep_pos = String.index str sep in + String.sub str 0 sep_pos :: split_on_char sep (String.sub str (sep_pos + 1) (String.length str - (sep_pos + 1))) + with + | Not_found -> [str] + let real_of_string str = - match String.split_on_char '.' str with + match split_on_char '.' str with | [whole; frac] -> let whole = Rational.of_int (int_of_string whole) in let frac = Rational.div (Rational.of_int (int_of_string frac)) (Rational.of_int (pow 10 (String.length frac))) in -- cgit v1.2.3