It recursively splits the domain of the variable into two parts. If the variable is already bound, it does nothing and succeeds. Otherwise, the goal sets a choice point, and replaces the domain by one of its halves, and calls itself again. The goal execution will be stopped when the variable is bound or when a failure occurs. @see FloatVar
|
|