Dear Sirs,
first of all I would like to thank you for fi_lib++.
I have just finished reading the documentation and
it turns out that fi_lib++ has almost all the features
of the library I was writing myself. I have a few questions:
1) What is the official web site for the library?
2) Is there a mailing list for fi_lib++ users and developers?
3) If not, to whom should I report bugs and improvements?
To start with, I am having namespace problems (in my application
I need to define FILIB_NAMESPACES). The problems I have found so
far are solved by the patch attached below.
All the best
Roberto
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it
diff -rcp interval.orig/macro/include/Interval.h
interval/macro/include/Interval.h
*** interval.orig/macro/include/Interval.h Thu Nov 1 11:15:24 2001
--- interval/macro/include/Interval.h Fri Jan 25 18:52:55 2002
***************
*** 33,39 ****
#endif
#ifdef FILIB_NAMESPACES
! namesupersetace filib
{
#endif
--- 33,39 ----
#endif
#ifdef FILIB_NAMESPACES
! namespace filib
{
#endif
diff -rcp interval.orig/macro/include/rounding.h
interval/macro/include/rounding.h
*** interval.orig/macro/include/rounding.h Wed Apr 25 15:48:56 2001
--- interval/macro/include/rounding.h Fri Jan 25 18:54:40 2002
***************
*** 22,33 ****
#define ROUND_UP
#define ROUND_NEAR
static const double ZERO_SUCC=Double::succ(0.0);
static const double ZERO_PRED=Double::pred(0.0);
static const double ONE_SUCC=Double::succ(1.0);
! static const double
ONE_PRED=Double::pred(1.0);
!
#define low(a) ((a)>0)?((a)*ONE_PRED):((a)=0?ZERO_PRED:(a)*ONE_SUCC)
#define high(a)
((a)>0)?((a)*ONE_SUCC):((a)=0?ZERO_SUCC:(a)*ONE_PRED)
--- 22,40 ----
#define ROUND_UP
#define ROUND_NEAR
+ #ifndef FILIB_NAMESPACES
static const double ZERO_SUCC=Double::succ(0.0);
static const double ZERO_PRED=Double::pred(0.0);
static const double ONE_SUCC=Double::succ(1.0);
! static const double ONE_PRED=Double::pred(1.0);
! #else
! static const double ZERO_SUCC=filib::Double::succ(0.0);
! static const double ZERO_PRED=filib::Double::pred(0.0);
!
! static const double ONE_SUCC=filib::Double::succ(1.0);
! static const double ONE_PRED=filib::Double::pred(1.0);
! #endif
#define low(a) ((a)>0)?((a)*ONE_PRED):((a)=0?ZERO_PRED:(a)*ONE_SUCC)
#define high(a) ((a)>0)?((a)*ONE_SUCC):((a)=0?ZERO_SUCC:(a)*ONE_PRED)
Dear Richard,
with cln 1.1.4, `make install' ends up as follows
...
make[1]: Leaving directory `/usr/local/distrib/objdir/doc'
/usr/bin/install -c cln-config /usr/local/bin/cln-config
/usr/bin/install -c -m 644 cln-config.1 /usr/local/share/man/man1/cln-config.1
/usr/bin/install -c -m 644 cln.m4 /usr/local/share/aclocal/cln.m4
/usr/bin/install: cannot stat `cln.m4': No such file or directory
make: *** [install] Error 1
Notice that I am building the library in a separate directory.
The problem seems due to the fact that cln.m4 is looked for
in the build directory instead of the source directory.
The easy workaround is in fact to copy cln.m4 from the source
directory to the build directory just before issuing `make install'.
All the best
Roberto
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it