src/Tools/Metis/metis.ML
changeset 24138 bd3fc8ff6bc9
parent 24133 75063f96618f
child 24315 09b35593d091
equal deleted inserted replaced
24137:8d7896398147 24138:bd3fc8ff6bc9
  5384   fun range NONE NONE = "Z"
  5384   fun range NONE NONE = "Z"
  5385     | range (SOME i) NONE = "{n IN Z | " ^ Int.toString i ^ " <= n}"
  5385     | range (SOME i) NONE = "{n IN Z | " ^ Int.toString i ^ " <= n}"
  5386     | range NONE (SOME j) = "{n IN Z | n <= " ^ Int.toString j ^ "}"
  5386     | range NONE (SOME j) = "{n IN Z | n <= " ^ Int.toString j ^ "}"
  5387     | range (SOME i) (SOME j) =
  5387     | range (SOME i) (SOME j) =
  5388     "{n IN Z | " ^ Int.toString i ^ " <= n <= " ^ Int.toString j ^ "}";
  5388     "{n IN Z | " ^ Int.toString i ^ " <= n <= " ^ Int.toString j ^ "}";
  5389   fun oLeq (SOME (x:int)) (SOME y) = x <= y | oLeq _ _ = true;
  5389   fun oLeq (SOME (x: int)) (SOME y) = x <= y | oLeq _ _ = true;
  5390   fun argToInt arg omin omax x =
  5390   fun argToInt arg omin omax x =
  5391     (case Int.fromString x of
  5391     (case Int.fromString x of
  5392        SOME i =>
  5392        SOME i =>
  5393        if oLeq omin (SOME i) andalso oLeq (SOME i) omax then i else
  5393        if oLeq omin (SOME i) andalso oLeq (SOME i) omax then i else
  5394          raise OptionExit
  5394          raise OptionExit