aboutsummaryrefslogtreecommitdiffstats
path: root/src/hls/Schedule.ml
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-11-13 23:02:05 +0000
committerYann Herklotz <git@yannherklotz.com>2021-11-13 23:02:05 +0000
commita281749329194cdfe0e623d343ccc4d55cf3bc76 (patch)
treea16564ff92c889e1adf168eb1cbe5465c7de5e12 /src/hls/Schedule.ml
parent1ca4288064dcf9759c06f30b06b415dc7b4e45a1 (diff)
downloadvericert-a281749329194cdfe0e623d343ccc4d55cf3bc76.tar.gz
vericert-a281749329194cdfe0e623d343ccc4d55cf3bc76.zip
Move lp_solve to the /temp directory
Diffstat (limited to 'src/hls/Schedule.ml')
-rw-r--r--src/hls/Schedule.ml10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/hls/Schedule.ml b/src/hls/Schedule.ml
index c5443c7..84fbcc3 100644
--- a/src/hls/Schedule.ml
+++ b/src/hls/Schedule.ml
@@ -715,13 +715,15 @@ let parse_soln tree s =
else tree
let solve_constraints constr =
- let oc = open_out "lpsolve.txt" in
+ let (fn, oc) = Filename.open_temp_file "vericert_" "_lp_solve" in
fprintf oc "%s\n" (print_lp constr);
close_out oc;
- Str.split (Str.regexp_string "\n") (read_process "lp_solve lpsolve.txt")
- |> drop 3
- |> List.fold_left parse_soln IMap.empty
+ let res = Str.split (Str.regexp_string "\n") (read_process ("lp_solve " ^ fn))
+ |> drop 3
+ |> List.fold_left parse_soln IMap.empty
+ in
+ Sys.remove fn; res
let subgraph dfg l =
let dfg' = List.fold_left (fun g v -> DFG.add_vertex g v) DFG.empty l in