Commit Graph

48327 Commits

Author SHA1 Message Date
Eric Berberich 463a030267 removed old verbose output 2012-06-11 22:23:28 +00:00
Eric Berberich 94f7f0c3ab remove some verbosity 2012-06-11 22:06:08 +00:00
Eric Berberich 3599206bf2 improved verbosity 2012-06-11 21:44:17 +00:00
Eric Berberich 4009ef00ae nicer output 2012-06-11 21:30:45 +00:00
Eric Berberich 1c1d5a0f69 better name 2012-06-11 21:11:26 +00:00
Laurent Rineau 01cde38b99 Update my Boost configuration.
Add a compilation using g++-4.1.

Add a README.txt file that "documents" what is compiled.
2012-06-11 16:14:46 +00:00
Laurent Rineau 1e1cb3747a Silent warnings -Wunused-result of g++-4.7
Pointed out by Joachim:
  | Date: Sun, 10 Jun 2012 17:43:27 +0200
  | From: Joachim Reichel <joachim.reichel@gmx.de>
  | To: Laurent Rineau <laurent.rineau@geometryfactory.com>
  | Subject: silence warnings caused by -Wunused-result
  | 
  | Hi Laurent,
  | 
  | your changes in 61145 and 61146 to silence the warnings in the Geomview
  | package don't work with gcc 4.7.0 and -Wunused-result. I still see
  | 
  | src/CGAL/Geomview_stream.cpp:148:35: warning: ignoring return value of
  | 'ssize_t read(int, void*, size_t)', declared with attribute
  | warn_unused_result [-Wunused-result]
  | 
  | Maybe one really needs to use
  | 
  | int result = read(...)
  | (void) result;
  | 
  | to silence the warnings.
  | 
  | Joachim

I have not been able to reproduce that with my compiler "g++-trunk (GCC)
4.8.0 20120611 (experimental)".
2012-06-11 15:19:15 +00:00
Luis Peñaranda 7f08b8bd7a Gmpfr: fixed const-ref passing for constructor 2012-06-07 19:51:12 +00:00
Luis Peñaranda 1e0e574d6b Gmpfi: typos in reference manual 2012-06-07 19:51:05 +00:00
Alexander Kobel fc116df1db typo in documentation of Protect_FPU_rounding 2012-06-07 10:38:16 +00:00
Laurent Rineau 138880f439 Remove -DCGAL_FPU_HAS_EXCESS_PRECISION, no that <CGAL/FPU.h> handles that option for clang
I forgot to test a run of CMake after the edition.
2012-06-06 18:23:51 +00:00
Laurent Rineau 113ec0b822 Remove -DCGAL_FPU_HAS_EXCESS_PRECISION, no that <CGAL/FPU.h> handles that option for clang 2012-06-06 18:22:10 +00:00
Luis Peñaranda 9c255f34a6 updated Gmpfi and Gmpfr manuals 2012-06-06 15:42:47 +00:00
Luis Peñaranda 319b114860 Gmpfr: pretty-printing 2012-06-06 15:26:47 +00:00
Luis Peñaranda ff8335dea6 Gmpfi: bug in constructors from std::pairs and in istream input 2012-06-06 15:26:41 +00:00
Michael Hemmer 73d3632486 update wrong citation 2012-06-05 12:03:33 +00:00
Marc Glisse 668969cb02 Doc was describing another functor, bad copy-paste. 2012-06-01 15:05:57 +00:00
Michael Hoffmann a89e9307c4 Merged feature-branch Matrix_search-fix-2center-bug-michael into next 2012-06-01 12:46:42 +00:00
Michael Hoffmann b062d65865 merge from next 2012-06-01 12:42:22 +00:00
Sébastien Loriot 6d579e645d reintegrate convex_hull_2-remove_filter_failure-sloriot
and update changes.html
2012-06-01 07:54:41 +00:00
Sébastien Loriot 88f58d2512 merge from next 2012-06-01 07:27:29 +00:00
Laurent Rineau 391f74f23a Fix a typo 2012-05-31 17:22:53 +00:00
Michal Kleinbort 773bd845c0 fixes 2012-05-31 13:00:19 +00:00
Sébastien Loriot 6b51332818 add code to benchmark to test specific situations 2012-05-31 12:59:50 +00:00
Sébastien Loriot 3de45905c0 use a dedicated version of the function assigning points to region in case
at least two extreme points are identical.

for the archive here is the result of the benchmark like done for r69398.
br_spl correspond to the same code but replacing the implementation of 
ch_akl_toussaint_assign_points_to_regions_deg by:
  for ( ; first != last; ++first )
  {
    //note that e!=w and s!=n except if the convex hull is a point (they are lexicographically sorted)
    if ( left_turn(*e, *w, *first ) )   
    {
        if (s!=w && left_turn( *s, *w, *first ) )       region1.push_back( *first );
        else if (e!=s && left_turn( *e, *s, *first ) )  region2.push_back( *first );
    }
    else
    {
        if (n!=e && left_turn( *n, *e, *first ) )       region3.push_back( *first );
        else if (w!=n && left_turn( *w, *n, *first ) )  region4.push_back( *first );
    }
  }  

The conclusion is that that version is always the fastest.

2 extreme points 
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |  1.34  |  2.61  | 16.15  | 16.69 |  18.31 |  20.91  |
    |branch   |  0.10  |  0.74  |  9.24  | 11.0  |  12.74 |  15.24  |
    |br_spl   |  0.12  |  0.91  | 10.18  | 11.88 |  13.68 |  15.88  |
    |--------------------------------------------------------------- 

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |  1.27  |  2.66  |  16.09 | 16.66 |  18.19  | 21.21  |
    |branch   |  0.10  |  0.8   |   9.49 | 11.36 |  13.09  | 15.55  |
    |br_spl   |  0.13  |  0.9   |  10.32 | 12.00 |  13.93  | 16.14  |
    --------------------------------------------------------------- |

 
3 extreme points
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   1.34 |   2.46 |  14.26 | 14.81 |   16.40 | 18.48  |
    |branch   |   0.18 |   0.87 |  10.07 | 11.76 |   13.52 | 15.59  |
    |br_spl   |   0.12 |   0.98 |  10.41 | 12.07 |   13.94 | 15.93  |
    |---------------------------------------------------------------| 

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   1.32 |   2.45 |  14.17 | 14.76 |   16.62 | 18.61  |
    |branch   |   0.19 |   0.86 |  10.21 | 12.03 |   13.66 | 15.96  |
    |br_spl   |   0.16 |   0.94 |  10.74 | 12.38 |   14.39 | 16.31  |
    |---------------------------------------------------------------| 

Convex hull is 2 points
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |  0.19  |  1.39  |  13.54 | 13.46 |  14.16  | 14.05  |
    |branch   |  0.11  |  0.54  |   5.02 |  4.96 |   5.09  |  5.06  |
    |br_spl   |  0.12  |  0.94  |   9.02 |  9.0  |   8.98  |  9.13  |
    |---------------------------------------------------------------| 

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   0.18 |   1.46 |  13.89 | 13.88 |   14.44 | 14.11  |
    |branch   |   0.14 |   0.58 |   5.12 |  5.07 |    5.07 |  5.29  |
    |br_spl   |   0.14 |   0.97 |   9.28 |  9.28 |    9.30 |  9.54  |
    |---------------------------------------------------------------| 

4 extreme points
    using vector
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------| 
    |next     |   2.37 |   2.97 |   9.84 |  8.07 |    7.76 | 9.0    |
    |branch   |   0.10 |   0.50 |   6.76 |  7.36 |    7.42 | 8.66   |
    |br_spl   |   0.13 |   0.46 |   6.74 |  7.30 |    7.38 | 8.65   |
    |---------------------------------------------------------------|

    using list
    |nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|
    |nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
    |---------------------------------------------------------------|
    |next     |   2.34 |   3.07 |   9.91 |  8.01 |    7.78 | 9.17   |
    |branch   |   0.11 |   0.54 |   6.78 |  7.44 |    7.58 | 8.93   |
    |br_spl   |   0.14 |   0.50 |   6.82 |  7.44 |    7.51 | 8.94   |
    |---------------------------------------------------------------|
2012-05-31 12:48:42 +00:00
Michal Kleinbort 8a6cc7b424 fixes 2012-05-31 11:35:31 +00:00
Michael Hemmer 41db1b92b2 update 2012-05-31 10:12:58 +00:00
Michal Kleinbort df440d427d New ric pl update 2012-05-31 09:33:42 +00:00
Michal Kleinbort 4666b96822 updates 2012-05-31 08:27:08 +00:00
Michal Kleinbort 71ac037b30 manual update arr_queries 2012-05-31 08:16:06 +00:00
Sébastien Loriot cf9a4e8742 update benchmark 2012-05-30 16:06:57 +00:00
Sébastien Loriot 8c67ae989b add a input for an example. I don't know how the testsuite could work without the file 2012-05-30 16:03:07 +00:00
Sébastien Loriot d6f0881f52 make sure ranges are not empty.
benchmark results are still valid
2012-05-30 15:52:46 +00:00
Laurent Rineau a89b28a053 Add Compute_determinant_[23] to the Kernel concept 2012-05-30 15:30:18 +00:00
Sébastien Loriot a4b5ae22aa The akl_toussaint algo first determines extreme points along x and y axis, and then
associates each input point outside the diamond defined by the aforementioned extreme points
to one of the 4 regions defined. The old implementation did not take into account 
the fact that the extreme points where also tested, which resulted in filter failures.

To avoid that, the range of input points is split (artificially) in 5 ranges and
the association part is done for each range. The implementation is faster when using
random access iterators as input.

Here is the result of a benchmark on random points in a disk.
In order to have significant running time, the same convex hull
is computed several times (nb runs) and the total time is reported.


Using a vector of points as input

nb pts   |     10 |   100  |   1000 | 10000 |  100000 | 1000000|  
nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
---------------------------------------------------------------
next     | 2.34s  | 2.95s  |  9.88s | 8.02s | 7.80s   | 9.06s  |
branch   | 0.11s  | 0.49s  |  6.79s | 7.49s | 7.43s   | 8.74s  |
---------------------------------------------------------------


Using a list of points as input

nb pts   |     10 |    100 |   1000 | 10000 |  100000 | 1000000|  
nb runs  | 100001 | 100001 | 100001 | 10001 |    1001 |     101|
---------------------------------------------------------------
next     |  2.34s | 3.16s  |  9.85s | 8.08s |   7.84s | 9.27s  |
branch   |  0.14s | 0.54s  |  6.93s | 7.51s |   7.61s | 8.98s  |
---------------------------------------------------------------
2012-05-30 15:17:59 +00:00
Sébastien Loriot 603097c09d branch to remove filter failures in CGAL::convex_hull_2 2012-05-30 14:52:31 +00:00
Sébastien Loriot d2a513713b update dont_submit 2012-05-30 13:47:14 +00:00
Sébastien Loriot f5dbd8f841 add program to bench runtime of convexhull algorithms 2012-05-30 13:41:20 +00:00
Michal Kleinbort b0d87e769b tex update 2012-05-30 06:52:43 +00:00
Eric Berberich 35f5e9fa65 now Eigen3 is working (ahhh case-sensitive lib configuration ahhhh) 2012-05-29 15:18:01 +00:00
Laurent Rineau 876db341bc Fix the documentation of return types of CGAL mesh boost parameters 2012-05-28 15:40:45 +00:00
Eric Berberich 0513b6b311 removed TODOs 2012-05-28 11:33:31 +00:00
Eric Berberich 83ca9596c6 new example run 2012-05-28 11:31:55 +00:00
Michal Kleinbort 4ab8ddd93d first draft of ref manual updates 2012-05-28 10:16:03 +00:00
Eric Berberich 10d8114ed3 fix for Eigen 2012-05-28 08:05:24 +00:00
Sébastien Loriot 2bd87a7c7a add a test to ensure projection_traits is working 2012-05-28 07:51:18 +00:00
Sébastien Loriot 19857458b6 deprecation warnings 2012-05-28 07:28:03 +00:00
Eric Berberich 1b34e17a48 software -> libraries 2012-05-28 07:04:14 +00:00
Eric Berberich 6ac8397b6f correct name 2012-05-25 16:11:39 +00:00
Eric Berberich 5c03d8f21c fixes by sebastian 2012-05-25 16:04:09 +00:00