Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 1.07 KB | None | 0 0
  1. let compute_One_2 subgraph (s,t) str =
  2.   let subgraph =
  3.     GraphInnermost.Dp_graph.fold_vertex
  4.     (fun v l ->
  5.       (GraphInnermost.Dp_graph.V.label v) :: l
  6.     )
  7.     subgraph
  8.     []
  9.   in
  10.   let uts = ut_component ((s,t)::subgraph) in
  11.   let constraints =
  12.     List.map
  13.       (fun (s,t) ->
  14.             Printf.sprintf
  15.               "\t%s >= %s"
  16.               (Debug.pprint_term s)
  17.               (Debug.pprint_term t)
  18.       )
  19.       subgraph
  20.   in
  21.   let conj = Util.string_of_strlist constraints "/\\ " in
  22.    let uts_constraints =
  23.       List.map
  24.         (fun (s,t) ->
  25.               Printf.sprintf
  26.                 "\t%s >= %s"
  27.                 (Debug.pprint_term s)
  28.                 (Debug.pprint_term t)
  29.         )
  30.         (RuleSet.elements uts)
  31.     in
  32.     let uts_conj = Util.string_of_strlist uts_constraints "/\\ " in
  33.     Printf.sprintf
  34.       "(ordering_solve (order_constraints %s_algebra \"%s\"))"
  35.       str
  36.       (Util.string_of_strlist
  37.         [conj; uts_conj;
  38.           Printf.sprintf "%s > %s" (Debug.pprint_term s) (Debug.pprint_term t)]
  39.         "/\\"
  40.       )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement