:- use_module(library(clpBNR)).
clpBNR_default_precision
which is a positive integer specifying number of digits; otherwise fails. For example, a clpBNR_default_precision
value of 6 (the default) defines a domain width limit of 1e-7
. Numbers have a domain width of 0, so they are always "small
".
If Numeric is a list of numerics, all elements of the list must be "small
". Examples:
?- X::real, small(X). false. ?- X::real(-1e-10,1e-10), small(X). X::real(-1.0000000000000002e-10, 1.0000000000000002e-10). ?- X::real(-1e-10,1e-10), small([X,42]). X::real(-1.0000000000000002e-10, 1.0000000000000002e-10).
Note that this is really only useful for real
intervals; integer
intervals are not small until they become point values.