[ Reference Manual | Alphabetic Index ]

# library(ic_kernel)

Low-level interface to the common kernel of the IC solver [more]

## Predicates

> delayed_goals_number(?, ?)
>   No description available
> exclude(?Var, ++Excl)
>   Exclude the element Excl from the domain of Var.
> exclude_range(?Var, ++Lo, ++Hi)
>   Exclude the elements Lo..Hi from the domain of Var.
> get_bounds(?, ?, ?)
>   No description available
> get_delta(?, ?)
>   No description available
> get_domain(?, ?)
>   No description available
> get_domain_as_list(?, ?)
>   No description available
> get_domain_size(?, ?)
>   No description available
> get_finite_integer_bounds(?, ?, ?)
>   No description available
> get_float_bounds(?, ?, ?)
>   No description available
> get_ic_attr(?X, -Attr)
>   Returns the IC attribute of a variable, creating a new attribute if necessary.
> get_integer_bounds(?, ?, ?)
>   No description available
> get_max(?, ?)
>   No description available
> get_median(?, ?)
>   No description available
> get_min(?, ?)
>   No description available
> get_solver_type(?, ?)
>   No description available
> get_threshold(?)
>   No description available
> ic_event(++Event)
>   Indicates that the specified event has occured.
> ic_stat(++Command)
>   Enables/disables/resets/prints stats gathering information
> ic_stat_get(-StatsList)
>   Returns the list of stats events description=value pairs
> ic_stat_register_event(++Event, ++Description)
>   Registers a new stats event to be collected
> impose_bounds(?Var, ++Lo, ++Hi)
>   Update (if required) the bounds of Var.
> impose_domain(?Var, ?DomVar)
>   Restrict (if required) the domain of Var t othe domain of DomVar.
> impose_max(?Var, ++Bound)
>   Update (if required) the upper bound of Var.
> impose_min(?Var, ++Bound)
>   Update (if required) the lower bound of Var.
> integers(?)
>   No description available
> is_exact_solver_var(?)
>   No description available
> is_in_domain(?, ?)
>   No description available
> is_in_domain(?, ?, ?)
>   No description available
> is_solver_type(?)
>   No description available
> is_solver_var(?)
>   No description available
> msg(?Var1, ?Var2, ?MSG)
>   Computes the most specific generalisation of Var1 and Var2 that is expressible with ic variables.
> print_solver_var(?, ?)
>   No description available
> reals(?)
>   No description available
> set_threshold(?)
>   No description available
> set_threshold(?, ?)
>   No description available
> set_var_type(?Var, ++Type)
>   Sets the type of the given variable to the given type.
> set_vars_type(?Vars, ++Type)
>   Sets the type of the given variables to the given type.
> tr_ic_c_constant(?, ?)
>   No description available
> tr_ic_kernel_out(?, ?)
>   No description available
> tr_ria_binop(?, ?)
>   No description available
> tr_ria_binop1(?, ?)
>   No description available
> tr_ria_binop7(?, ?)
>   No description available
> tr_ria_ternop(?, ?)
>   No description available
> tr_ria_ternop1(?, ?)
>   No description available
> tr_ria_ternop9(?, ?)
>   No description available
> tr_ria_unop(?, ?)
>   No description available
> tr_ria_unop1(?, ?)
>   No description available
> tr_ria_unop5(?, ?)
>   No description available

## Structures

> struct ic(var_type, lo, hi, bitmap, min, max, hole, type)
>   No description available

## Reexports

> reexport ria_unop / 5 from sepia_kernel
> reexport ria_binop / 7 from sepia_kernel
> reexport ria_ternop / 9 from sepia_kernel

## Other Exports

> export macro(ic_status_failed / 0, tr_ic_c_constant / 2, [])
> export macro(ic_status_unknown / 0, tr_ic_c_constant / 2, [])
> export macro(ic_status_entailed / 0, tr_ic_c_constant / 2, [])
> export macro(ic_unify_bound_implied / 0, tr_ic_c_constant / 2, [])
> export macro(ic_unify_bound_tight / 0, tr_ic_c_constant / 2, [])
> export macro(ic_unify_bound_fuzzy / 0, tr_ic_c_constant / 2, [])
> export macro(ria_unop / 1, tr_ria_unop1 / 2, [])
> export macro(ria_unop / 5, tr_ria_unop5 / 2, [])
> export macro(ria_binop / 1, tr_ria_binop1 / 2, [])
> export macro(ria_binop / 7, tr_ria_binop7 / 2, [])
> export macro(ria_ternop / 1, tr_ria_ternop1 / 2, [])
> export macro(ria_ternop / 9, tr_ria_ternop9 / 2, [])
> export portray(set_var_type / 2, tr_ic_kernel_out / 2, [goal])
> export portray(set_vars_type / 2, tr_ic_kernel_out / 2, [goal])

## Description

This module provides a low-level interface to the core of the IC solver; that is, a set of predicates for accessing and manipulating IC variables. It is not intended for use by general user code (use the interface provided by the `ic' module for that), but rather for those wishing to implement their own constraints which use IC variables. This could either be to augment IC by providing new constraints or functionality, or to build a complete constraint solver capable of cooperating with any other solver which also uses the common numeric variable format provided by IC.

## About

- Author: Warwick Harvey

Generated from ic_kernel.eci on 2020-02-26 22:26