[std-interval] Mathematical relations and default initialization
Frederic.Goualard at univ-nantes.fr
Thu Sep 14 11:21:45 PDT 2006
I have just read the latest revision of the proposal (2006-09-05
revision 1) and I would like to comment on two specific issues:
* Mathematical relations
As I understand it from the discussion on the list, these methods
(acos_rel, ...) were inspired from the ones that exist in the gaol
library (the idea is much older, though, and such operators were already
present in BNR Prolog back in the 80s).
Gaol provides an nth_root_rel() operator to compute the relational
inverse nth root of an interval J wrt. an interval I. With constraint
programming methods, this operator is necessary to solve constraints
The nth_root_rel() operator does not appear in the standard. Is this
omission on purpose? If indeed it is, why is it so?
- on Page 12, the signatures for the mathematical relations are wrong
(compare with page 27).
- div_rel() does not appear on page 27 while it is listed on page 12
* Default initialization
I see on page 15 that the default constructor creates an empty interval.
At some point in the discussion, Sylvain gave 6 possible ways of
implementing this constructor:
1- no default constructor at all
5- uninitialized tag
6- see below (something a la "singular iterator")
Possibility 4 was brushed away from the start, and the remaining
possibilities heavily debated. In my opinion, it makes sense to have the
default constructor return "whole" since interval arithmetic is often
used in processes that try to gain some information on the possible
value of a variable (that is, we start from a wide interval and narrow
it down to some reasonably small one).
Frédéric Goualard LINA - FRE CNRS 2729
Univ. of Nantes - Ecole des Mines de Nantes
Tel.: +33 2 51 12 58 38 2, rue de la Houssinière - BP 92208
Fax.: +33 2 51 12 58 12 F-44322 NANTES CEDEX 3
More information about the Std-interval