Release Notes:Changes to the IC constraint solver, v5.4 to v5.5 |
This release of ECLiPSe sees a substantial cleaning-up of the low level primitives for accessing and manipulating IC variables, and writing constraints. The result should be a more regular and coherent interface. The bulk of the changes are to the ic_kernel module, but many of the changes to ic_kernel are also visible when using the lower-level features available in the ic module.
Changes visible at the ic level
Old name | New name |
delta/2 | get_delta/2 |
get_ic_bounds/3 | get_bounds/3 |
get_ic_domain_size/2 | get_domain_size/2 |
get_var_type/2 | get_solver_type/2 |
is_ic_var/1 | is_solver_var/1 |
median/2 | get_median/2 |
print_ic/2 | print_solver_var/2 |
Old name | New name |
wake_lo | min |
wake_hi | max |
wake_hole | hole |
wake_type | type |
All of the above plus:
Old name | New name |
excl/2 | exclude/2* |
excl_range/3 | exclude_range/3* |
get_ic_integer_bounds/3 | get_integer_bounds/3 |
ic_delayed_goals_number/2 | delayed_goals_number/2 |
ic_excl/2 | ic_exclude/2 |
ic_excl_range/3 | ic_exclude_range/3 |
ic_lwb/2 | ic_impose_min/2 |
ic_msg/3 | msg/3 |
ic_new_bounds/3 | ic_impose_bounds/3 |
ic_upb/2 | ic_impose_max/2 |
lwb/2 | impose_min/2 |
set_ic_bounds/3 | impose_bounds/3 |
upb/2 | impose_max/2 |
* The exclude/2 and exclude_range/3 will now delay by default if the bounds of the variable are larger than (+-)10000000. This is because of limits on the size of domains which can have holes.