Merged revisions 53941-53943,53950,53952-53953,53956,53958,53961,53963,53965 via svnmerge from

svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch

........
  r53941 | lrineau | 2010-02-01 10:48:57 +0100 (Mon, 01 Feb 2010) | 2 lines
  
  Fix the CHANGES (typo, and forgot PT3 in 6.5)
........
  r53942 | penarand | 2010-02-01 11:54:35 +0100 (Mon, 01 Feb 2010) | 1 line
  
  changed the calls to the pow() functions in VC environments
........
  r53943 | penarand | 2010-02-01 11:59:26 +0100 (Mon, 01 Feb 2010) | 2 lines
  
  used standard number types to avoid VC errors and eliminated warnings in VC due to implicit casts
........
  r53950 | stayeb | 2010-02-01 12:55:10 +0100 (Mon, 01 Feb 2010) | 1 line
  
  Fix warning (MSVS2k8).
........
  r53952 | lrineau | 2010-02-01 13:07:16 +0100 (Mon, 01 Feb 2010) | 2 lines
  
  Remove the version number from strings of environment_variables.ini
........
  r53953 | hemmer | 2010-02-01 13:18:54 +0100 (Mon, 01 Feb 2010) | 2 lines
  
  fix license header 
........
  r53956 | penarand | 2010-02-01 13:42:57 +0100 (Mon, 01 Feb 2010) | 3 lines
  
  added Sylvain L. and myself to the AUTHORS file
........
  r53958 | lrineau | 2010-02-01 14:24:35 +0100 (Mon, 01 Feb 2010) | 2 lines
  
  Remove the CGAL version numbers from that file.
........
  r53961 | lrineau | 2010-02-01 15:32:55 +0100 (Mon, 01 Feb 2010) | 3 lines
  
  - Update to 3.6.
  - Add g++-4.4 in supported g++ versions.
........
  r53963 | penarand | 2010-02-01 15:41:32 +0100 (Mon, 01 Feb 2010) | 3 lines
  
  eliminated special treatment of pow() function on different compilers
........
  r53965 | lrineau | 2010-02-01 15:43:44 +0100 (Mon, 01 Feb 2010) | 15 lines
  
  Backport from trunk:
    | ------------------------------------------------------------------------
    | r53944 | afabri | 2010-02-01 12:21:50 +0100 (Mon, 01 Feb 2010) | 1 line
    | Changed paths:
    |    M /trunk/Minkowski_sum_3/doc_tex/Minkowski_sum_3/PkgDescription.tex
    | 
    | Add ccPkgLicense and \ccPkgDemo
    | ------------------------------------------------------------------------
    | r53945 | afabri | 2010-02-01 12:28:33 +0100 (Mon, 01 Feb 2010) | 1 line
    | Changed paths:
    |    M /trunk/Convex_decomposition_3/doc_tex/Convex_decomposition_3/PkgDescription.tex
    | 
    | Add ccPkgLicense
    | ------------------------------------------------------------------------
........
This commit is contained in:
Laurent Rineau 2010-02-01 14:45:09 +00:00
parent 439ac1c864
commit b7d60899b4
12 changed files with 79 additions and 60 deletions

View File

@ -144,8 +144,8 @@ Algebraic_1::Algebraic_1(mpfr_srcptr src){
Gmpfr r(src);
mpfi_init2(mpfi(),r.get_precision());
mpfi_set_fr(mpfi(),r.fr());
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->left));
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->right));
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->left)!=0);
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->right)!=0);
RS_polynomial_1 *rsp=new RS_polynomial_1(r.to_fraction().mpq());
set_pol(*rsp);
set_nr(0);
@ -186,8 +186,8 @@ inline
Algebraic_1::Algebraic_1(const Gmpfr &r){
mpfi_init2(mpfi(),r.get_precision());
mpfi_set_fr(mpfi(),r.fr());
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->left));
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->right));
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->left)!=0);
CGAL_assertion(mpfr_equal_p(r.fr(),&mpfi()->right)!=0);
RS_polynomial_1 *rsp=new RS_polynomial_1(r.to_fraction().mpq());
set_pol(*rsp);
set_nr(0);

View File

@ -148,7 +148,7 @@ bool Algebraic_1::is_consistent()const{
inline
bool Algebraic_1::is_point()const{
return(mpfr_equal_p(&(mpfi()->left),&(mpfi()->right)));
return(mpfr_equal_p(&(mpfi()->left),&(mpfi()->right))!=0);
}
inline
@ -188,9 +188,9 @@ void Algebraic_1::set_mpfi(mpfi_srcptr x){
inline
bool Algebraic_1::overlaps(const Algebraic_1&a)const{
if(mpfr_lessequal_p(left(),a.left()))
return mpfr_lessequal_p(a.left(),right());
return (mpfr_lessequal_p(a.left(),right())!=0);
else
return mpfr_lessequal_p(left(),a.right());
return (mpfr_lessequal_p(left(),a.right())!=0);
}
inline

View File

@ -19,7 +19,16 @@
#ifndef CGAL_RS__INVERSE_H
#define CGAL_RS__INVERSE_H
#include <stdint.h>
#ifdef _MSC_VER
# define _s64 __int64
# define _u64 unsigned __int64
# define _u32 unsigned __int32
#else
# include <stdint.h>
# define _s64 int64_t
# define _u64 uint64_t
# define _u32 uint32_t
#endif
#define n_(A) (A<0?-A:A)
//#define u_(A) (A<0?-1:1)
@ -33,9 +42,9 @@ class Inverse{
protected:
// given a and b, returns s such that gcd(a,b)=s*a+t*b (GCL, page 36)
// s*a+t*q=1 => s is the inverse of a, mod q (pafe 173)
static int64_t eea_s(uint32_t a,uint32_t b){
int64_t c1,d1,r1;//,c2,d2,r2,t,s;
uint32_t r,c,d;//,q;
static _s64 eea_s(_u32 a,_u32 b){
_s64 c1,d1,r1;//,c2,d2,r2,t,s;
_u32 r,c,d;//,q;
// a and b are positive, so a=n_(a) and b=n_(b)
//c=n_(a); d=n_(b);
c=a; d=b;

View File

@ -28,9 +28,9 @@ namespace RS_MGCD{
// pn size is 32 bits,
// the sizes of lpn and spn must be, at least, as twice as the size of pn
#define PN_BITS 32
#define pn uint32_t // unsigned
#define lpn uint64_t // unsigned long long
#define spn int64_t // long long
#define pn _u32 // unsigned
#define lpn _u64 // unsigned long long
#define spn _s64 // long long
#define p_mpz_set_pn(A,PN) mpz_set_ui(A,(unsigned long)(PN))
#define p_mpz_mul_pn(A,B,PN) mpz_mul_ui(A,B,(unsigned long)(PN))

View File

@ -130,7 +130,7 @@ int RS_polynomial_1::get_degree_static()const{
inline
bool RS_polynomial_1::has_sfpart()const{
return (_is_sf?true:(bool)(_sfpart.get()));
return (_is_sf?true:(_sfpart.get()!=NULL?true:false));
}
inline
@ -160,7 +160,7 @@ void RS_polynomial_1::set_sf()const{
inline
bool RS_polynomial_1::has_sqfr()const{
return (bool)(_sqfr.get());
return (_sqfr.get()!=NULL?true:false);
}
inline

View File

@ -28,6 +28,12 @@
//#define pr_is_prime(N) (pr_fermat(N)?pr_is_prime_bruteforce(N):0)
#define pr_is_prime(N) pr_mrj(N)
#ifdef _MSC_VER
# define cgal_rs_random rand
#else
# define cgal_rs_random random
#endif
namespace CGAL{
namespace RS_MGCD{
@ -47,14 +53,14 @@ class Primes:public Crt{
// vzGG, p. 507; returns 0 if n is composite
static int pr_fermat(pn n){
p_set_prime(n);
return(p_pow(2+((pn)random())%(n-4),n-1)==1);
return(p_pow(2+((pn)cgal_rs_random())%(n-4),n-1)==1);
}
// Solovay-Strassen
static int pr_ss(pn n){
pn a,x;
p_set_prime(n);
a=1+(pn)random()%(n-2);
a=1+(pn)cgal_rs_random()%(n-2);
x=p_div(a,n);
return(!x||p_pow(a,n>>1)!=x);
}
@ -69,7 +75,7 @@ class Primes:public Crt{
d=d>>1;
}
p_set_prime(n);
a=2+(pn)random()%(n-4);
a=2+(pn)cgal_rs_random()%(n-4);
x=p_pow(a,d);
if(x==1||x==n-1)
return 1; // pobably prime

View File

@ -63,7 +63,7 @@ CGAL 3.6 offers the following improvements and new functionality :
6 Triangulations and Delaunay Triangulations
6.1 2D/3D Regular triangulations
6.1 2D/3D Regular Triangulations
- Weighted_point now has a constructor from Cartesian coordinates.
@ -84,7 +84,7 @@ CGAL 3.6 offers the following improvements and new functionality :
- The old version of remove() (enabled with CGAL_DELAUNAY_3_OLD_REMOVE)
has been deleted.
6.3 3D Periodic triangulations
6.3 3D Periodic Triangulations
- New demo: 3D periodic Lloyd algorithm.
@ -102,7 +102,8 @@ CGAL 3.6 offers the following improvements and new functionality :
- The package can now be used together with the 3D Periodic Triangulation
package to compute periodic alpha shapes.
6.5 2D/3D Triangulations, 2D Segment Delaunay Graph, 2D Apollonius Graph
6.5 2D/3D Triangulations, 2D Segment Delaunay Graph, 2D Apollonius Graph,
and 3D Periodic Triangulations
- The constructor and insert function taking ranges now produce
structures whose iterator orders is now deterministic (same at each
@ -120,7 +121,7 @@ CGAL 3.6 offers the following improvements and new functionality :
pertuber and an exuder. Each of these processes can be activated or
not, and tuned to the users needs and to available computer resources.
8 Support library<h3>
8 Support library
8.1 CGAL ipelets

View File

@ -19,6 +19,9 @@ at <http://www.cgal.org/Manual>.
For more information about CGAL, see the <http://www.cgal.org/>.
In the current file, x.y is an implicit replacement for the current version
of CGAL (3.5.1, 3.6, and so on).
PREREQUISITES
=============
@ -49,13 +52,13 @@ CGAL packages, some are only needed for demos.
- GMP (>= 4.1.4)
http://gmplib.org/
or precompiled version that can be downloaded with CGAL-3.5-Setup.exe
or precompiled version that can be downloaded with CGAL-x.y-Setup.exe
based on http://fp.gladman.plus.com/computing/gmp4win.htm
- MPFR (>= 2.2.1)
http://www.mpfr.org/
or precompiled version that can be downloaded with CGAL-3.5-Setup.exe
or precompiled version that can be downloaded with CGAL-x.y-Setup.exe
based on http://fp.gladman.plus.com/computing/gmp4win.htm
- LEDA (>= 6.2)
@ -85,13 +88,13 @@ CGAL packages, some are only needed for demos.
o Approximation of Ridges and Umbilics
o Planar Parameterization of Triangulated Surface Meshes
http://www.netlib.org/blas/, http://www.netlib.org/lapack/
or precompiled version that can be downloaded with CGAL-3.5-Setup.exe
or precompiled version that can be downloaded with CGAL-x.y-Setup.exe
- TAUCS (sparse matrix solver)
Accelerates the package:
o Planar Parameterization of Triangulated Surface Meshes
http://www.tau.ac.il/~stoledo/taucs/
or precompiled version that can be downloaded with CGAL-3.5-Setup.exe
or precompiled version that can be downloaded with CGAL-x.y-Setup.exe
* Miscellaneous

View File

@ -86,11 +86,11 @@ This document describes how to install \cgal\ on Windows, Unix-like systems and
Ideally, installing \cgal amounts to:
\begin{verbatim}
cd CGAL-3.5 # go to CGAL directory
cd CGAL-3.6 # go to CGAL directory
cmake . # configure CGAL
make # build the CGAL libraries
cd examples/Straight_skeleton_2 # go to an example directory
cmake -DCGAL_DIR=$HOME/CGAL-3.5 . # configure the examples
cmake -DCGAL_DIR=$HOME/CGAL-3.6 . # configure the examples
make # build the examples
\end{verbatim}
%% $ This dollar is there to trick syntax highlighting in emacs
@ -107,7 +107,7 @@ e.g. for numeric solvers, or visualization.
\subsection{Compilers}
In order to build the \cgal\ libraries, you need a \CC\ compiler.
\cgal~3.5 is supported for the following compilers/operating systems:
\cgal~3.6 is supported for the following compilers/operating systems:
\begin{center}\index{compilers!supported}\index{supported compilers}
\renewcommand{\arraystretch}{1.3}
@ -204,16 +204,16 @@ on univariate polynomials. It can be downloaded from \rspage.
The \cgal\ library can be downloaded from \path'http://www.cgal.org/download.html'.
After you have downloaded the file \texttt{CGAL-3.5.tar.gz} containing the
After you have downloaded the file \texttt{CGAL-3.6.tar.gz} containing the
\cgal\ sources, you have to unpack it. Under a Unix-like shell, use the
command:
\begin{verbatim}
tar xzf CGAL-3.5.tar.gz
tar xzf CGAL-3.6.tar.gz
\end{verbatim}
When you are on Windows you may download and run the \texttt{CGAL-3.5-Setup.exe}. It is a
When you are on Windows you may download and run the \texttt{CGAL-3.6-Setup.exe}. It is a
self extracting executable that installs the \cgal\ source, and that allows
you to select and download some precompiled third party libraries.
@ -259,7 +259,7 @@ third-party libraries you want to use and where they can be found, and
which \cgal\ libraries you want to build. Gathering
all this information is called {\em configuration}.
For CGAL-3.5, the configuration is generated with \cmake, a
For CGAL-3.6, the configuration is generated with \cmake, a
cross-platform build system. This manual explains only those features of
\cmake\ which are needed in order to build \cgal. Please refer to the \cmake\
documentation at \cmakepage\ for further details.
@ -276,7 +276,7 @@ argument the root directory of \cgal. For example:
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
cmake-gui . # Notice the dot to indicate the current directory.
\end{verbatim}
}
@ -304,7 +304,7 @@ Alternatively, you can run the command-line tool called
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
cmake . # Notice the dot to indicate the current directory.
\end{verbatim}
}
@ -336,7 +336,7 @@ build files). For example, the following generates solution files for use in Vis
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
cmake -G"Visual Studio 9 2008" .
\end{verbatim}
}
@ -348,7 +348,7 @@ specify the desired compiler in the call to \cmake{}, as in this example:
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
cmake -DCMAKE_CXX_COMPILER:FILEPATH=g++-3.4 .
\end{verbatim}
}
@ -403,7 +403,7 @@ If you turn off the configuration of a library, you can still configure it manua
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5/src/CGALQt4
cd CGAL-3.6/src/CGALQt4
cmake . # configures only the CGAL_Qt4 library
\end{verbatim}
}
@ -456,12 +456,12 @@ You can, for example, generate subdirectories \cgaldir{}\texttt{/cmake/platforms
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
mkdir CGAL-3.5/cmake/platforms/debug
cd CGAL-3.5/cmake/platforms/debug
mkdir CGAL-3.6/cmake/platforms/debug
cd CGAL-3.6/cmake/platforms/debug
cmake -DCMAKE_BUILD_TYPE=Debug ../../..
mkdir CGAL-3.5/cmake/platforms/release
cd CGAL-3.5/cmake/platforms/release
mkdir CGAL-3.6/cmake/platforms/release
cd CGAL-3.6/cmake/platforms/release
cmake -DCMAKE_BUILD_TYPE=Release ../../..
\end{verbatim}
}
@ -482,7 +482,7 @@ succeeding build step as follows:
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
# build all the selected libraries at once
@ -580,7 +580,7 @@ installation in a {\sc Unix}-like environment:
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
cmake . # configure
make # compile
@ -602,7 +602,7 @@ variable explicitly {\em at the configuration time} and not when executing the i
\end{ccAdvanced}
The file \texttt{CGALCOnfig.cmake} is installed by default in
\texttt{\$CMAKE\_INSTALLED\_PREFIX/lib/CGAL-3.5}.
\texttt{\$CMAKE\_INSTALLED\_PREFIX/lib/CGAL-3.6}.
\section{Configuring and Building Programs Using \cgal}
@ -621,8 +621,8 @@ to indicate the location of that config file in the \cmake\ variable
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5/examples/Straight_skeleton_2
cmake -DCGAL_DIR=$HOME/CGAL-3.5 .
cd CGAL-3.6/examples/Straight_skeleton_2
cmake -DCGAL_DIR=$HOME/CGAL-3.6 .
make
\end{verbatim}
@ -662,13 +662,13 @@ controlling variable right up front:
{\ccTexHtml{\scriptsize}{}
\begin{verbatim}
cd CGAL-3.5
cd CGAL-3.6
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-g .
cd CGAL-3.5/examples/Straight_skeleton_2
cd CGAL-3.6/examples/Straight_skeleton_2
cmake -DCGAL_DIR=CGAL-3.5 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS=-O2 -DCGAL_DONT_OVERRIDE_CMAKE_FLAGS=TRUE .
cmake -DCGAL_DIR=CGAL-3.6 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS=-O2 -DCGAL_DONT_OVERRIDE_CMAKE_FLAGS=TRUE .
\end{verbatim}
}
@ -1171,7 +1171,7 @@ cmake -DWITH_examples=false
-- uic executable: C:/Work/Downloaded/Libraries/qt-win-opensource-src-4.4.1/bin/uic.exe
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Work/Active/GeometryFactory/CGAL/Autotest/CGAL-3.5/cmake/platforms/a
-- Build files have been written to: C:/Work/Active/GeometryFactory/CGAL/Autotest/CGAL-3.6/cmake/platforms/a
\end{verbatim}
}

View File

@ -626,7 +626,7 @@ int main()
// -----------------------------------
// Test random intersection
// -----------------------------------
srand(time(NULL));
srand( static_cast<unsigned int>(time(NULL)) );
std::cout << std::endl << "Test random intersections" << std::endl;
std::cout << "\tTesting with Simple_cartesian<float>..." << std::endl ;
random_test<Sc_f>();

View File

@ -205,7 +205,7 @@ _GMPFI_CONSTRUCTOR_FROM_SCALAR(Gmpq);
template<class L,class R>
Gmpfi(std::pair<const L&,const R&> endpoints,
Gmpfi::Precision_type p=Gmpfi::get_default_precision()){
Gmpfi::Precision_type p=get_default_precision()){
CGAL_assertion(p>=MPFR_PREC_MIN&&p<=MPFR_PREC_MAX);
Gmpfr l(endpoints.first,std::round_toward_neg_infinity,p),
r(endpoints.second,std::round_toward_infinity,p);
@ -716,10 +716,10 @@ std::pair<std::pair<double,double>,long> Gmpfi::to_interval_exp()const{
double d_low=mpfr_get_d_2exp(e1,left_mpfr(),GMP_RNDD);
double d_upp=mpfr_get_d_2exp(e2,right_mpfr(),GMP_RNDU);
if(e1<e2)
d_upp=d_upp/pow(2,(*e2)-(*e1));
d_upp=d_upp/pow(2.,(double)((*e2)-(*e1)));
else if(e1>e2){
d_low=d_low/pow(2,(*e1)-(*e2));
*e2=*e1;
d_low=d_low/pow(2.,(double)((*e1)-(*e2)));
*e1=*e2;
}
return std::make_pair(std::make_pair(d_low,d_upp),*e1);
}

View File

@ -33,7 +33,7 @@ Left=0
Right=-1
Top=25
Bottom=-1
Text=Enviroment variables to set
Text=Environment variables to set
[Field 5]
Type=Label
@ -77,7 +77,7 @@ Left=10
Right=-10
Top=95
Bottom=105
Text=Add CGAL-3.5/auxiliary/gmp/lib to the PATH
Text=Add CGAL/auxiliary/gmp/lib to the PATH
State=1
[Field 10]
@ -86,5 +86,5 @@ Left=10
Right=-10
Top=110
Bottom=135
Text=CGAL-3.5/auxiliary/gmp/lib contains DLL files. If you do not add this to the PATH, make sure to manually move the DLLs to a directory already in the PATH.
Text=CGAL/auxiliary/gmp/lib contains DLL files. If you do not add this to the PATH, make sure to manually move the DLLs to a directory already in the PATH.
Flags=DISABLED