Commit Graph

243 Commits

Author SHA1 Message Date
Clément Jamin 69272e4d9a Test with a worksharing strategy (based on TBB task scheduler) + test with parallel_do. 2012-04-10 13:23:51 +00:00
Clément Jamin 512f0b12bd Missing "mutable" on the mutex 2012-03-22 17:50:17 +00:00
Clément Jamin 4ccf8e0447 First working parallel version. It's not faster than the sequential one, but not slower neither (depends if you're optimistic or not). The good news is that we found all (?) the sections to protect or to make thread-local. 2012-03-22 17:07:03 +00:00
Clément Jamin d56d031aa7 Added a constructor to enable conversion from Filter_iterator to const Filter_iterator.
Added an end() member function.
2012-03-15 15:07:16 +00:00
Clément Jamin 9aefad0454 Added a few comments 2012-03-15 14:59:43 +00:00
Clément Jamin 09de63eb4a Brand new Concurrent_compact_container, not based on tbb::concurrent_vector as it was causing compiler nightmare (C1060).
Anyway, it's faster and much more scalable... so no regrets.
2012-03-14 17:06:13 +00:00
Clément Jamin 401568c63c Added the option to use Boost filter_iterator, and a few member functions. 2012-03-09 17:34:19 +00:00
Clément Jamin 1192e188cc Creates a Concurrent_compact_container, based on tbb::concurrent_vector. Some member functions (size, etc.) are missing. To be continued... 2012-03-09 11:44:41 +00:00
Clément Jamin 5a5d838497 Added an operator< to Filter_iterator 2012-03-09 11:43:02 +00:00
Clément Jamin 7137347f95 Added::process_a_batch_of_elements(...) which use parallel_for to insert batch of facets/cells. For now, the body is protected by a scoped_lock to avoid races => no speedup! 2012-03-07 13:57:16 +00:00
Clément Jamin 9ae59efaaf Merge from next 2012-02-15 15:58:17 +00:00
Clément Jamin 4051f03a62 Added a "Strategy" template parameter which allows to optionally add a counter of "erase" (= put on free list) inside each element. 2012-02-13 09:04:24 +00:00
Laurent Rineau 0b760d0fbb Remove warnings about static assertions 2012-01-23 12:29:17 +00:00
Sébastien Loriot 3795b8dc9c revert part of my commit 67333
(windows testsuite was actually broken so it was working:)
2012-01-20 15:01:53 +00:00
Sébastien Loriot a1fdcd6170 explicitly check that the Interval template parameter is an interval.
MSVC is not able to eliminate the function even when the functor used
is Null_functor that has no result_type.
2012-01-20 13:08:32 +00:00
Sébastien Loriot 45e7c06392 revert r67297.
Fix test it in candidates
2012-01-19 10:08:57 +00:00
Sébastien Loriot f17ccbb823 explicitly check that the Interval template parameter is an interval.
MSVC is not able to eliminate the function even when the functor used
is Null_functor that has no result_type.
2012-01-19 08:49:20 +00:00
Andreas Fabri cebb7314bc Fix for Windows 'min/max' bug 2012-01-18 11:05:35 +00:00
Laurent Rineau 5b5dd33848 merge changes from next 2012-01-09 12:33:39 +00:00
Sébastien Loriot 5fd945cd3c is_iterator now requests the type to be either a pointer or
to provide all 5 nested types provided by iterator_traits
2011-11-23 11:29:15 +00:00
Marc Glisse dc3b382bd4 Simplify the code and help with thread-safety by reading the return value of operator--. 2011-10-29 07:18:10 +00:00
Laurent Rineau 1efe6ff9c4 merge from next, again 2011-10-13 10:25:40 +00:00
Laurent Rineau b41acfcc5e Revert those two commits:
| ------------------------------------------------------------------------
  | r65838 | afabri | 2011-10-12 13:01:14 +0200 (Wed, 12 Oct 2011) | 5 lines
  | Changed paths:
  |    M /branches/next/STL_Extension/include/CGAL/assertions.h
  | 
  | When CGAL_NO_ASSERTIONS, fix CGAL_static_assertion 
  | 
  | CGAL_static_assertion cannot be "static_cast<void>(0)" because that
  | macro can also be used in a class or namespace scope.
  | 
  | ------------------------------------------------------------------------
  | r65833 | lrineau | 2011-10-11 23:43:39 +0200 (Tue, 11 Oct 2011) | 6 lines
  | Changed paths:
  |    M /branches/next/STL_Extension/include/CGAL/assertions.h
  | 
  | Avoid a warning with -ansi -pedantic when CGAL_NO_ASSERTIONS
  | 
  | When CGAL_NO_ASSERTIONS is defined (when NDEBUG is defined, for example), 
  | "CGAL_static_assertion(true);" must not be expanded to ";", to avoid a
  | pedantic warning "extra ;".
  | 
  | ------------------------------------------------------------------------

That was just a very wrong way to fix a pedantic warning: the new
implementations were buggy.
2011-10-13 10:24:14 +00:00
Marc Glisse 4fff839d84 Revert, was supposed to go to candidates... 2011-10-12 15:00:55 +00:00
Marc Glisse 03ff622be8 Help with a future thread-safe version (and make the code shorter). 2011-10-12 14:41:53 +00:00
Laurent Rineau 5946c69608 merge from next 2011-10-12 13:52:06 +00:00
Andreas Fabri eba24795fa When CGAL_NO_ASSERTIONS, fix CGAL_static_assertion
CGAL_static_assertion cannot be "static_cast<void>(0)" because that
macro can also be used in a class or namespace scope.
2011-10-12 11:01:14 +00:00
Laurent Rineau 44be6552ef Avoid a warning with -ansi -pedantic when CGAL_NO_ASSERTIONS
When CGAL_NO_ASSERTIONS is defined (when NDEBUG is defined, for example), 
"CGAL_static_assertion(true);" must not be expanded to ";", to avoid a
pedantic warning "extra ;".
2011-10-11 21:43:39 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Andreas Fabri cbfe32ce37 Add declspecs for Visual C++ so that we can build dlls 2011-10-05 19:12:23 +00:00
Sébastien Loriot 62a6daf1da add to Compact_container iterator type operators > >= and <= 2011-10-04 11:25:45 +00:00
Laurent Rineau fdd69b61a3 Rename macro of Compact_container to avoid potential future conflict
Add the _COMPACT_CONTAINER_ infix:
  CGAL_INIT_BLOCK_SIZE -> CGAL_INIT_COMPACT_CONTAINER_BLOCK_SIZE
  CGAL_INCREMENT_BLOCK_SIZE -> CGAL_INCREMENT_COMPACT_CONTAINER_BLOCK_SIZE
2011-09-29 14:21:10 +00:00
Guillaume Damiand 71d1d6f56a Add reserve method in compact container (include file, plus ref manual, plus test). 2011-09-27 12:01:42 +00:00
Sébastien Loriot dff6dda8b3 Remove from copyright holder
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Sébastien Loriot 7ec484eac7 merge next into feature branch 2011-09-09 06:44:09 +00:00
Guillaume Damiand a29c905ee0 Replace BOOST_STATIC_ASSERT by CGAL_static_assertion. 2011-08-31 14:30:07 +00:00
Philipp Möller f9b288db90 Merged branch ^/branches/features/gsoc2011-copy_n-pmoeller.
Small feature page: https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Replace_copy_n
2011-08-26 14:34:10 +00:00
Laurent Rineau 1e3c229440 merge from next 2011-08-26 13:55:12 +00:00
Marc Glisse ab56912a06 s/static_assert/CGAL_static_assertion_msg/ 2011-08-08 16:48:34 +00:00
Andreas Fabri 01f978de36 partial undo: remove debug output 2011-06-30 22:11:47 +00:00
Andreas Fabri 7dbddbc945 Add CR in the last line to quiet Intel C++ 2011-06-30 22:09:49 +00:00
Laurent Rineau 4cf99c4a3d Fix mutable_queue.hpp with old Boost versions
boost/property_map.hpp has moved in recent Boost versions.
2011-06-21 10:22:47 +00:00
Sébastien Loriot f488e75869 BUGFIX: change internal boost namespace to boost_ to avoid ambiguities
of boost:: in internal namespace (vs ::boost::)
2011-06-17 13:22:42 +00:00
Sébastien Loriot b80fd74b73 BUGFIX: this is safer to compare to the size of indices 2011-06-17 13:07:06 +00:00
Sébastien Loriot acb0950398 BUGFIX (together with 64192,64193,64194):
Modifiable_priority_queue no longer depends on non-documented
boost code. This code has been copied into CGAL.

Modify boost's mutable_queue to have a constructor initializing
indices of elements not in the queue to the maximum number of elements.
Update pop to maintain this property
2011-06-17 13:04:58 +00:00
Sébastien Loriot 2254e9b4f8 reverse modifications of Modifiable_priority_queue.h should not be modified in 64193 2011-06-17 12:48:11 +00:00
Sébastien Loriot cacb699937 put boost file inside namespace CGAL::internal::boost
add URL and ID tags
update #ifndef macros
2011-06-17 12:45:16 +00:00
Sébastien Loriot 6838175967 plain copy of files from the release 1.46.1 (BOOST_VERSION 104601)
from undocumented stuff for internal use in CGAL (Mofiable_priority_queue.h).
Modifications of these files to come in another commit
2011-06-17 12:38:15 +00:00
Sébastien Loriot 65d6249062 missing include 2011-06-17 08:46:36 +00:00
Guillaume Damiand d2d010909f merge with next 2011-06-09 13:51:23 +00:00