Revision 333e3a25
Added by Pierre-Loïc Garoche over 5 years ago
src/dimension.ml | ||
---|---|---|
338 | 338 |
| _ -> raise (Unify (dim1, dim2)) |
339 | 339 |
in unif dim1 dim2 |
340 | 340 |
|
341 |
let rec expr_replace_var fvar e =
|
|
342 |
{ e with dim_desc = expr_replace_var_desc fvar e.dim_desc } |
|
343 |
and expr_replace_var_desc fvar e = |
|
344 |
let re = expr_replace_var fvar in
|
|
341 |
let rec rename fnode fvar e =
|
|
342 |
{ e with dim_desc = expr_replace_var_desc fnode fvar e.dim_desc }
|
|
343 |
and expr_replace_var_desc fnode fvar e =
|
|
344 |
let re = rename fnode fvar in
|
|
345 | 345 |
match e with |
346 | 346 |
| Dvar |
347 | 347 |
| Dunivar |
348 | 348 |
| Dbool _ |
349 | 349 |
| Dint _ -> e |
350 | 350 |
| Dident v -> Dident (fvar v) |
351 |
| Dappl (id, el) -> Dappl (id, List.map re el) |
|
351 |
| Dappl (id, el) -> Dappl (fnode id, List.map re el)
|
|
352 | 352 |
| Dite (g,t,e) -> Dite (re g, re t, re e) |
353 | 353 |
| Dlink e -> Dlink (re e) |
354 | 354 |
|
Also available in: Unified diff
[general] Refactor get_node_eqs to produce (eqs, auts) with automatons