[PURRS-devel] fi_lib++ (2nd attempt)

Roberto Bagnara bagnara at cs.unipr.it
Wed Jan 30 10:49:32 CET 2002


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 at 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)



More information about the PURRS-devel mailing list