[Spatial-commit] [spatial] UNNAMED PROJECT annotated tag v2.2.0 created. v2.2.0
Library of generic, k-d tree multi-dimensional containers
Brought to you by:
bouhdevel
From: Sylvain B. <bou...@us...> - 2016-01-01 12:11:19
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "UNNAMED PROJECT". The annotated tag, v2.2.0 has been created at 9c911e112afac4afaa081d50fb364ddc99b9d0cf (tag) tagging 95120bc8a3c19313185fb7ea3045620a7ac71b65 (commit) tagged by Sylvain Bougerel on Fri Jan 1 13:10:13 2016 +0100 - Log ----------------------------------------------------------------- Stable minor release of Spatial C++ Library 2.2.0 Sylvain Bougerel (282): First commit to the master repository. Contains the version 1.0.0 in beta. Updated doxygen config file to use relative path. Changing Doxygen config to parse meta file correctly Adding crucial missing links to the project download and area and git commands to clone the repository. Made the relaxed kdtree implementation compile. However, still require to implement erase and insert properly. They are not working at the moment. Merge branch 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Making Relaxed_kdtree compile and adding unit-test on creation, insertion, removal from Relaxed_kdtree. Also, better support for Kdtree with constant iteration: now determined only by the container. Relaxed_kdtree types are now self-balancing on insertion. Still need to implement copy/erase and test iterators before rolling it out. Fixed mapping iterator on relaxed k-d tree. Need to test Lower_bound and Upper_bound now. Passed range unit tests for Relaxed kdtree. Passed neighbor unit tests for Relaxed kdtree. Modified the nearest neighbor iterators algorithm to make it scan left and right simultaneously. Added unit test for erase in bulk in Kdtree. Added unit test for erase in bulk in Relaxed kdtree, and tested optimization in Kdtree. Finalized declaration of pointset and frozen_pointset family of containers Removed view:: namespace and appended _view suffix to views previously found in view:: namespace. Fixed range_view(s) compilation issues and added unit tests. Added neighbor_iterable capability to pointset family of iterators Remove unnecessary match function that was just an alias of predicate Added MSVC9.0 support. Some issues remaining, but generation of solution is working with cmake. Failed to commit all files using TortoiseGIT on windows ... should always use command line :) Starts to be annoying ... same ChangeLog uncommitted. Fixed compilation issues and severe unit test issue on MSVC9.0. Some unit test issue remain. Fixed a bug in initialization of 'best' pointer with lower_bound and upper_bound function in spatial_mapping.tpp. Merge branches 'master' and 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Made compilation more strict for g++ and started working on overlaping and enclosing iterators. Overlap_bound are written, now Range_iterator must be refactored to accomodate the new interface. Changed Doxyfile content to provide clearer output with search. Merge branches 'master', 'master', 'master' and 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Fixing design of overlap and enclose bounds by incorporating Rank in the predicate. That means Rank will be present at 2 places in the Range_iterator. Final (hopefully) rework of overlap and enclose bounds design. Need to implement unit tests on bounds. Rewrote some exceptions. Merge branches 'master', 'master', 'master', 'master' and 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Fix some compilation error with g++4.5 Added latex output and made some other documentation changes and fixes. Removed the test list from the doc and enabled group distribution of documentation. Addition of the overlap and enclose range view. Removal of bad concept checking. Unnecessary. Now we got box supported on Spatial. You can store anything in boxes. Improved documentation for some containers and rename frozen_runtime_pointset or frozen_runtime_boxset to runtime_frozen_pointset and runtime_frozen_boxset, to tally with include file's names. Added an exception to make sure that a rank == 0 cannot be specified for runtime containers. Added an exception to make sure that a rank == 0 cannot be specified for runtime containers. Merge branch 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Merge branches 'master', 'master', 'master', 'master', 'master' and 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Fixed compilation errors and warning caught by g++4.6. modified Node and key_field to Value and value respectively Add support for future boxmap and pointmap containers. Added the boxmap and pointmap family of containers, untested. Need to rewrite how the key/value pairs are formed in the container. The current way bug when specifying pointmap<int, int> for example. Fix allocator issues in spatial_kdtree.hpp and spatial_relaxed_kdtree.hpp Merge branch 'master' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial Wrong allocator initializer for map container has been rectified. Container declared on frozen_pointmap.hpp was still frozen_pointset and not forzen_pointmap. Rectified. This change introduces an interface change for kdtree and relaxed kdtree containers. Therefore it breaks a lot of unit tests. Unit test will be restored in a later commit once the changes in the interface have stabilized. Doing a test commit for the email notification (and introducint the licence header at the same time). New interface for Kdtree and Relaxed_kdtree, that helps express the key type and value type is now stabilized. Unit tests will be reworked in the next version, in order to better separate unit tests Node has been refactored and iterator are being refactored. Unit tests are all broken, of course spatial_mapping.hpp is now having the proper definition. I now have to apply this to other files spatial_node.hpp has been updated to a new cleaner interface for nodes and links. spatial_mapping.hpp interface is now set. spatial_mapping.tpp must still be amended however other iterators can now be adapted. Constness of key has been fixed in the (key, value) links. Added some description to the documentation of namespaces to have the functions Porting Mapping iterator to the new node framework has been completed, but not A milestone is broken, the new node framework is proven to work. Small changes to fix some errors, in particular on the typedefs. Added several constructs to the region class and the neighbor class of iterator. Fixed the neighbor iterators to use the new node framework. Change pointer definition as it made it impossible for MSVC++ to deduce the type. Merge branches 'task_3432355' and 'task_3432355' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial into task_3432355 Changes made in order to record whatever is happening in the fixtures. Afterall, New images and a brand new favico file for the next version of spatial. Drawn using Added a shadow to the cube, makes it look nicer. SB: renaming test type to follow convention. Fixing swap function. Merge branch 'task_3432355' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial into task_3432355 A bit of shadow on the logos. Finally back with unit test implementation and a model that works for the Need to synchronize my repository. 30 unit test (out of 107) already pass. Adding few changes for TEMPLATE test case support which should test all the Addition of a new gorgeous logo and update of various maintenance files. Adding further information into the TODO. Additionally, continue Changing strategy to implement unit test. New strategy is more efficient. SB: Added some fixes for Visual Studio C++2010 New implementation to protect the contness of the Key parameter. The new Added the /W4 warning level for MS Visual C++ and ported the tests and the library to compile without warning on MSVC10. Tested the compilation with Boost 1.50 on MSVC10. Fixed issue with erase and minimum mapping test! Fixing all issues in test for maximum_iterator and increment_iterator. Fixed the decrement iterator test and passed it. Fixed the lower_bound tests for the mapping iterator. Fixed upper bound checking as well as constness issues for const iterators. Started to populate the mapping dimension test. Removing useless extra copy constructors Changed the mapping_iterator<Ct>::type definition to a more simple and elegant mapping_iterator<Ct>. Fixing test_mapping_range and test_mapping_dimension. Fixed the mapping_iterator_pair for const and mutable containers. Porting of tests for mapping_iterator is completed. Modified the bidirectional iterator template to straight away add the empty Changes made to mapping_iterator compile and run all test on GCC4.7. Revision of range_iterator almost complete. However the extended classes must be revised entirely too. Ported the code to G++ to make sure it compiled, which help fixed some errors. Addition of new Region tests. Updated the Doxygen file to the latest version. In fact, changed the title to make it more relevant to search crawlers. A more secure information access has been implemented for the mapping iterator. Ported the overlap tests. Fix the issues. Porting the enclosed tests. Merge branch 'task_3432355' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial into task_3432355 Fixed several basic opertions on regions, as well as conversion between const and non-const iterators. Added a new 'boximize' manipulator for the fixtures that randomizes things but arranges so that it looks like a box. Adding the version number to spatial.hpp so that compatibility between different version of the library can be tracked by dependant libraries. Merge branch 'task_3432355' of ssh://spatial.git.sourceforge.net/gitroot/spatial/spatial into task_3432355 Restored the debugging flag for GCC (didn't remember I removed it). Partially done fixing the region iteration. All tests where divided in several compilation unit, because I reached the point where compilation takes > 1Gb. Fixed difference_cast in geometry and add a new -Wformat to G++ Added includes for the srand() and time() function that were not present in verify.cpp. Remove all the warnings generated by \W4 on MSVC10. Fix an error that shows up in MSVC10 when compiling in release. Added the new ordered iterator type definition. The iteration function are Added some new test to guarrantee outcome of iteration in some iterators. Implemented maximum ordered for relaxed invarient. Some minor touches remains: Added the first tests for the ordered_iterator and completed its entire This commit is breaking the unit tests... but I prefer to fix it New ordered iterator is now working for the minimum and maximum functions. Fixed all the ordered iterator tests. Now it's complete! Optimized the upper_bound_mapping algorithm for each type of relaxed/strict trees. Some improvement brought to geometry to make it more generic and compatible Added some enable_if magic to the geometry calculation. Optimized the code a Modified the enable_if construct to add the more compact type-friendly construct. Added a new kind of indirection for neighbor_iterator's geometries. Finished testing geometry. Can start to port the neighbor_iterator Finish porting neighbor iterators. Gotta start testing them now. Build the first easy test on neighbor_iterators. Finalized the interface for the neighbor_iterator (finally). Finally ready to start the real unit-testing with neighbor iterators. Enforced a new set or styles rules: Used ordered iterator to make relative operators on tree work. Since we moved the tree to a new location, I updated the documentation Added a thin white border frame for web integration Fixed the bug with minimum_neighbor; small bug, but it allowed me to flex the Done unit testing neighbor_minimum. Bug fixed. Made functor functions more STL -like (return temporary objects instead of references) Improved a bit the description of the library Completed the euclidian neighbor definition: ready for unit testing. Bug fixed on neighbor iterator maximum... Stupid wrong abort() debug... Unit tested iteration of neighbor_iterator in both directions. SB: Fixed a warning in Visual Studio 2010 SB: Reworded some of the root files to describe the library Added unit tests for iteration when all nodes have the same value. Extending the lower_bound iterator unit tests. Small compilation issue, but I'm too tired to solve it... tomorrow. Turns out the prototype was wrong. Anyway, we have some stuffs to debug now... Making the headers files in spatial more modular and more distributed. This Kept on changing the include definitions, start to have something,,, Big commit with lot's of renaming going around and a pre-sorting of header Now the iterator are extracted and placed at the top of the library. No one Added an equal_iterator.hpp file, since one day equal_iterator will stand on its A pre-commit with a failing test for euclidian neighbor. Already fixed one Redefinition of the conversion for the type difference_type from the containers. Finalizing the instanciation of euclidian_neighbor_iterator(s). They work like The final commit for this branch. The new quadrance and manhattan neighbor Forgot to add the 2 new iterator files. Now it's done. Updated the ChangeLog file. Now it's time to update the documentation and try to compile on MSVC++ General updates on the documentation Some small updates on the documentation Added support info and compiler info. Updated the documentation, especially the front page. Fixed the quick starting guide. Need to add the concept check on the box_multiset. Modified box so that it checks that the given dimension is an even value rather SPATIAL_SAFER_ARITHMETICS was badly tested. It's fully tested now, and some Improved the documentation on the first page Rectifying the initial info on overhead Fixed more tutorial and spelling issues. Several improvements to the documentation, a skeleton for the user manual is Extracted the file spatial.hpp out since it contains some important define. Started to add the squeleton of the equal_iterator. Nothing compiles yet. Added the missing comparison type to the iterator. Used empty member optimization. Updated the changelog and the generated documentation number was removed. It's not very useful. Added the squeleton for the strict invariant/relaxed invariant form in the Almost done writing the meaty part of the iterator. Also added new example for Still not compilable, but starts to look almost complete. At least, compilation Finally, some compilation out of the equal iterator. Equal_begin is working, All unit tests for equal_iterator have been written Merge branch 'task_7', adding the development for the optimized equal_iterator into the branch. Update the changelog as well as the version Improved the documentation a bit more. The file spatial_region.hpp has been removed since it served no purpose after Removed some impossible references. Many improvements to the documentation, once more, fixing some Doxygen issues. Removed all warnings on the documentation that are not missing reference. Small modification of examples While creating the performance example, I realized there is a bug on the copy and rebalancing of the trees. Fixing it now. 1. The unit test for relaxed_kdtree have been reinserted. Fixed an issue with structural copy of the idle (traditional) kdtree. Finished fixing the tree testing issues. All tests are passing at the moment. Fixed an important bug with kdtree rebalance function Modified a bit the example to make performance readings more readable Updating the change log and documentation in relation to the last modification. Enhancements to the documantion to make it more comprehensive Created new files for the region iterator specialized classes. Now each can have Created a new perfect_balancing policy for the relaxed Kdtree. Made some slight modifications to some very common algorithms to improve v2.1.2 Added the perfect_balancing policy for Relaxed_kdtree, improved v2.1.2 Added the perfect_balancing policy for Relaxed_kdtree, improved Added a brand new (and yet to unit test) insert_rebalance(first, last) function Added performance check for find() and erase in the tree. The speed of the equal_iterator has been improved by 50%. Cleaned up the code after validating the performance of the new algorithm Remodled a bit the transaction for equal. Now looks more generic. Improving the mapping iterator, still writing increment_mapping() New algorithms layed out. Just need to compile Almost compiling the mapping Testing a compilation of the new mapping iterator on the way The code run and some unit tests are passing, erase is failing Fixed a few doxygen errors Fixed bug #1 reported by Feldmarshall Made optimization the default for examples. Add more info on TODO list, to remember where I stand Fixed the issue with mapping iterators, mapping iterators are simpler and more efficient in some case, now Improved the performance of erase() for the Kdtree containers. Updated changelog and documentation for a partial release of feature_4 Added the dirty white image that goes well on sourceforge. Merge branch 'feature_4' Updated version number and verified unit tests one last time Ticket 3 has been solved, there is, though, a weird behavior from Clang on one of the new test, so I will need to look into it to see what's going it. But I don't think it's realted to the reported issue. Hence the release. Fixed a small mistake in the Change log Fixed the ticket_2 issue on Linux with Clang and libc++. Officially added support for c++11 which now compiles on G++ and Clang++ with appropriate libraries. Bumping spatial version, checking documentation and changelog Changed the compilation options for the performance tests, with new -DCMAKE_BUILD_TYPE=Profile and -DCMAKE_BUILD_TYPE=Cover: Minor reordering of the erase function on Relaxed-kdtrees In the erase_performance test, shuffle before erasing, to make sure we get an average, not a worse performance scenario Improved performance of find() and erase() and fix a tiny issue with big consequences in performance test - Hooray to Valgrind Adding the missing iterate_performance.cpp Fixed an issue with uninitialized memory in the test suite, causing random crashes. In examples, cmake now uses the --coverage switch for compilation of coverage In examples, point types (point3_type and point9_types) should be constructed from a Distribution explicitely Fixed a few issues that caused warning when compiled with all levels A few improvements to the assert function Adding the performance test for region iterators. Fixed some descriptions in the tests, added new performance test for nearest/farthest/iteration neighbor. Nearest neighbor is in need for some love... Send all the modifications for distance without spatial_math.hpp which needs to be tested further Nearest neighbor now works with a semi-recursive algorithm. Euclidian metric are optimized but less safe. Safety can be re-enabled back at the expense of performance with \#SPATIAL_SAFER_ARITHMETICS Added unfinished changes on spheric performance before the holiday period Finally solved the spherical riddle. It lead to a crash of Kdtree, which is now logged in the todo list. One final issue remain: a test fails sometimes, in the neighbor iteration. We need to hunt it down Fixed the issue with first_nearest() which was not actually going to the first element in left-pre-order fashion. At this point, I realized that the solution 2 commits ago was a more performant one: Finally, we got the fast results expect from nearest/lower_bound/upper_bound neighbor expected. This is by using the near-pre-order tree walk. All the nearest neighbor functions now works. Moving on to other algorithms Spheric performance is now successful Preparing the release, following documentation update for the performance improvements Added the modifications to help VC++ compile without warnings. Moved the performance tests into the tests folder, and the verify tests are grouped into the verify folder. Examples now stand on their own, which require a library version to be installed first Splitting all verification into independant compilation units allowed to detect inconsistancies in \#includes from header files. The tests are now ready to be extended to user-level containers. Fixed ticket \#5 from MichaÅ Garapich. Working on ticket \#4. Fixed ticket \#6. Version 2.1.8: Added a notice in TODO for future unit tests Added the unit tes for equal and less operators on containers. Merge branch 'master' into github-master to sync them Update README.md Update README.md Update readme for github Update to readme file KeyCompare is a user-defined type which size can be supperior to ptrdiff_t, therefore it should be const-ref'd for optimization Added ordered_performance.cpp to track improvements on ordered iterators Increased the performance of ordered_iterator by 50% on average, for both iteration and finding the first. Updated the TODO list with better ideas. Compilation of verify made pedantic everywhere Merge branch 'master' of ssh://git.code.sf.net/p/spatial/code Updated the documentation's references. Updated the description on the build choosen in cmake Merge branch 'master' of ssh://git.code.sf.net/p/spatial/code Fixed random seed for erase_performance.cpp Find performance now gets a fixed seed Testing last, increment, decrement equal iterators for speed Added an equal_performance test for measurement Small update on depth counter Fixed some misplaced includes highlighted by a re-ordering of the headers inclusion in verify test cases Rearranged the way equal iterator is declared to reduce code loaded in kdtree and relaxed-kdtree Getting rid of traits (they serve no purpose) and slowly replacing dim for depth in several algorithms. spatial_assign.hpp is completely removed for the std::tuple interface instead Fix an issue on equal_iterator.hpp Fixed some issue with erasure of keys in kdtrees due to the change from dim -> depth in equal_first Fixed seed for region performance tests Replaced dim -> depth in one function: readability fix only Improved performance of region iterator. Gotta clean up now Cleaned up region iterator, removed the useless trait interface and removed the fixed an issue with metric-specific overloads in neighbor iterators Updated TODO list Updated changelog and documentation for 2.1.9 Updated changelog and documentation for 2.2.0 sbougerel (7): Initial commit Test Merge pull request #1 from sbougerel/github-master Merge pull request #2 from sbougerel/github-master Update README.md Update README.md Update README.md ----------------------------------------------------------------------- hooks/post-receive -- UNNAMED PROJECT |