|
gtsam
4.0.0
gtsam
|
FastMap is a thin wrapper around std::map that uses the boost fast_pool_allocator instead of the default STL allocator. More...
FastMap is a thin wrapper around std::map that uses the boost fast_pool_allocator instead of the default STL allocator.
This class stores a dense matrix and allows it to be accessed as a collection of vertical blocks.
A testable concept check that should be placed in applicable unit tests and in generic algorithms.
This class stores a dense matrix and allows it to be accessed as a collection of blocks.
FastVector is a thin wrapper around std::vector that uses the boost pool_allocator instead of the default STL allocator.
FastSet is a thin wrapper around std::set that uses the boost fast_pool_allocator instead of the default STL allocator.
FastList is a thin wrapper around std::list that uses the boost fast_pool_allocator instead of the default STL allocator.
DSFVector additionally keeps a vector of keys to support more expensive operations.
A fast implementation of disjoint set forests that uses vector as underly data structure.
This is just a convenience to avoid having lengthy types in the code. Through timing, we've seen that the fast_pool_allocator can lead to speedups of several percent.
This is the absolute minimal DSF data structure, and only allows size_t keys Uses rank compression but not union by rank :-(
This is just a convenience to avoid having lengthy types in the code. Through timing, we've seen that the fast_pool_allocator can lead to speedups of several %.
This is just a convenience to avoid having lengthy types in the code. Through timing, we've seen that the pool_allocator can lead to speedups of several %
When constructed, the caller must provide the dimensions of the blocks.
The block structure is symmetric, but the underlying matrix does not necessarily need to be.
This class also has a parameter that can be changed after construction to change the apparent matrix view. firstBlock() determines the block that appears to have index 0 for all operations (except re-setting firstBlock()).
See macros for details on using this structure
| T | is the objectype this constrains to be testable - assumes print() and equals() |
The dimensions of the blocks are provided when constructing this class.
This class also has three parameters that can be changed after construction that change the apparent view of the matrix without any reallocation or data copying. firstBlock() determines the block that has index 0 for all operations (except for re-setting firstBlock()). rowStart() determines the apparent first row of the matrix for all operations (except for setting rowStart() and rowEnd()). rowEnd() determines the apparent exclusive (one-past-the-last) last row for all operations. To include all rows, rowEnd() should be set to the number of rows in the matrix (i.e. one after the last true row index).