|
1 |
| -*** /Users/wimm/Formalizations/Timed_Automata/UPPAAL_Reachability_Checker.ml Thu Apr 13 21:31:04 2017 |
2 |
| ---- UPPAAL_Reachability_Checker.sml Thu Apr 13 21:31:55 2017 |
| 1 | +*** UPPAAL_Reachability_Checker.sml Wed Jun 21 18:33:10 2017 |
| 2 | +--- UPPAAL_Reachability_Checker_patched.sml Wed Jun 21 18:28:27 2017 |
3 | 3 | ***************
|
4 | 4 | *** 255,261 ****
|
5 | 5 |
|
|
174 | 174 | val integer_of_int : int -> IntInf.int
|
175 | 175 | type nat
|
176 | 176 | ***************
|
177 |
| -*** 475,480 **** |
178 |
| ---- 448,458 ---- |
| 177 | +*** 476,481 **** |
| 178 | +--- 449,459 ---- |
179 | 179 | (int instrc option) list -> ((int list) list) list
|
180 | 180 | end = struct
|
181 | 181 |
|
|
188 | 188 |
|
189 | 189 | fun integer_of_int (Int_of_integer k) = k;
|
190 | 190 | ***************
|
191 |
| -*** 1543,1560 **** |
| 191 | +*** 1713,1730 **** |
192 | 192 | end);
|
193 | 193 |
|
194 | 194 | fun new A_ =
|
|
207 | 207 | (a, IntInf.toInt (integer_of_nat i), x)) ();
|
208 | 208 | in
|
209 | 209 | a
|
210 |
| ---- 1521,1538 ---- |
| 210 | +--- 1691,1708 ---- |
211 | 211 | end);
|
212 | 212 |
|
213 | 213 | fun new A_ =
|
|
227 | 227 | in
|
228 | 228 | a
|
229 | 229 | ***************
|
230 |
| -*** 1572,1578 **** |
| 230 | +*** 1742,1748 **** |
231 | 231 | fun image f (Set xs) = Set (map f xs);
|
232 | 232 |
|
233 | 233 | fun make A_ n f =
|
234 | 234 | ! (fn () =>
|
235 | 235 | Array.tabulate (IntInf.toInt (integer_of_nat n),
|
236 | 236 | (f o nat_of_integer) o IntInf.fromInt));
|
237 | 237 |
|
238 |
| ---- 1550,1556 ---- |
| 238 | +--- 1720,1726 ---- |
239 | 239 | fun image f (Set xs) = Set (map f xs);
|
240 | 240 |
|
241 | 241 | fun make A_ n f =
|
|
244 | 244 | (f o nat_of_integer) o IntInf.fromInt));
|
245 | 245 |
|
246 | 246 | ***************
|
247 |
| -*** 1664,1670 **** |
| 247 | +*** 1798,1804 **** |
248 | 248 | | is_none NONE = true;
|
249 | 249 |
|
250 | 250 | fun blit A_ src si dst di len =
|
251 | 251 | ! (fn () =>
|
252 | 252 | array_blit src (integer_of_nat
|
253 | 253 | si) dst (integer_of_nat di) (integer_of_nat len));
|
254 | 254 |
|
255 |
| ---- 1642,1648 ---- |
| 255 | +--- 1776,1782 ---- |
256 | 256 | | is_none NONE = true;
|
257 | 257 |
|
258 | 258 | fun blit A_ src si dst di len =
|
|
261 | 261 | si) dst (integer_of_nat di) (integer_of_nat len));
|
262 | 262 |
|
263 | 263 | ***************
|
264 |
| -*** 2503,2509 **** |
| 264 | +*** 2395,2402 **** |
| 265 | + of (NONE, a2f) => |
| 266 | + (fn f_ => fn () => f_ ((copyi xj) ()) ()) |
| 267 | + (fn xf => |
| 268 | +! (fn f_ => fn () => f_ ((ht_update (B1_, B2_, B3_) (heap_list A_) x_k [xf] a2f) |
| 269 | +! ()) ()) |
| 270 | + (fn x_m => (fn () => (x_m, (op_list_prepend xj a1e, false))))) |
| 271 | + | (SOME x_m, a2f) => |
| 272 | + (fn f_ => fn () => f_ |
| 273 | +--- 2373,2380 ---- |
| 274 | + of (NONE, a2f) => |
| 275 | + (fn f_ => fn () => f_ ((copyi xj) ()) ()) |
| 276 | + (fn xf => |
| 277 | +! (fn f_ => fn () => ((cnt2 := !cnt2 + 1); f_ ((ht_update (B1_, B2_, B3_) (heap_list A_) x_k [xf] a2f) |
| 278 | +! ()) ())) |
| 279 | + (fn x_m => (fn () => (x_m, (op_list_prepend xj a1e, false))))) |
| 280 | + | (SOME x_m, a2f) => |
| 281 | + (fn f_ => fn () => f_ |
| 282 | +*************** |
| 283 | +*** 2406,2412 **** |
| 284 | + then (fn f_ => fn () => f_ |
| 285 | + ((ht_update (B1_, B2_, B3_) (heap_list A_) x_k x_m a2f) ()) ()) |
| 286 | + (fn x_o => (fn () => (x_o, (a1e, false)))) |
| 287 | +! else (fn f_ => fn () => f_ ((copyi xj) ()) ()) |
| 288 | + (fn xf => |
| 289 | + (fn f_ => fn () => f_ |
| 290 | + ((ht_update (B1_, B2_, B3_) (heap_list A_) x_k (xf :: x_m) a2f) ()) |
| 291 | +--- 2384,2390 ---- |
| 292 | + then (fn f_ => fn () => f_ |
| 293 | + ((ht_update (B1_, B2_, B3_) (heap_list A_) x_k x_m a2f) ()) ()) |
| 294 | + (fn x_o => (fn () => (x_o, (a1e, false)))) |
| 295 | +! else (fn f_ => fn () => ((cnt2 := !cnt2 + 1); f_ ((copyi xj) ()) ())) |
| 296 | + (fn xf => |
| 297 | + (fn f_ => fn () => f_ |
| 298 | + ((ht_update (B1_, B2_, B3_) (heap_list A_) x_k (xf :: x_m) a2f) ()) |
| 299 | +*************** |
| 300 | +*** 2685,2691 **** |
265 | 301 | fun push_code (A1_, A2_) g_impl =
|
266 | 302 | (fn x => fn (xa, (xb, (xc, xd))) =>
|
267 | 303 | let
|
268 | 304 | - val _ = Gabow_Skeleton_Statistics.newnode ();
|
269 | 305 | val xf = as_length xa;
|
270 | 306 | val xg = as_push xa x;
|
271 | 307 | val xh = as_push xb xf;
|
272 |
| ---- 2481,2486 ---- |
| 308 | +--- 2663,2668 ---- |
273 | 309 | ***************
|
274 |
| -*** 2517,2523 **** |
| 310 | +*** 2699,2705 **** |
275 | 311 |
|
276 | 312 | fun compute_SCC_tr (A1_, A2_) g =
|
277 | 313 | let
|
278 | 314 | - val _ = Gabow_Skeleton_Statistics.start ();
|
279 | 315 | val xa = ([], ahm_empty (def_hashmap_size A2_ Type));
|
280 | 316 | val a =
|
281 | 317 | foldli (id (gi_V0 g)) (fn _ => true)
|
282 |
| ---- 2494,2499 ---- |
| 318 | +--- 2676,2681 ---- |
283 | 319 | ***************
|
284 |
| -*** 2586,2592 **** |
| 320 | +*** 2768,2774 **** |
285 | 321 | else (a, b)))
|
286 | 322 | xa;
|
287 | 323 | val (aa, _) = a;
|
288 | 324 | - val _ = Gabow_Skeleton_Statistics.stop ();
|
289 | 325 | in
|
290 | 326 | aa
|
291 | 327 | end;
|
292 |
| ---- 2562,2567 ---- |
| 328 | +--- 2744,2749 ---- |
293 | 329 | ***************
|
294 |
| -*** 2948,2954 **** |
| 330 | +*** 3140,3146 **** |
295 | 331 | val xb = mtx_get (heap_DBMEntry heap_int) (suc n) ai (bib, bi) ();
|
296 | 332 | in
|
297 | 333 | mtx_set (heap_DBMEntry heap_int) (suc n) ai (bia, bi)
|
298 | 334 | ! (min (ord_DBMEntry (equal_int, linorder_int)) x (dbm_add_int xa xb)) ()
|
299 | 335 | end);
|
300 | 336 |
|
301 | 337 | fun fw_impl_int n =
|
302 |
| ---- 2923,2929 ---- |
| 338 | +--- 3115,3121 ---- |
303 | 339 | val xb = mtx_get (heap_DBMEntry heap_int) (suc n) ai (bib, bi) ();
|
304 | 340 | in
|
305 | 341 | mtx_set (heap_DBMEntry heap_int) (suc n) ai (bia, bi)
|
|
308 | 344 |
|
309 | 345 | fun fw_impl_int n =
|
310 | 346 | ***************
|
311 |
| -*** 3837,3845 **** |
312 |
| ---- 3812,3823 ---- |
| 347 | +*** 4090,4098 **** |
| 348 | +--- 4065,4076 ---- |
313 | 349 | s_0 na k
|
314 | 350 | then (fn () =>
|
315 | 351 | let
|
|
0 commit comments