- Nov 28, 2013
-
-
Christoph Grüninger authored
-
Christoph Grüninger authored
Add missing underscore in PTHREAD_CFLAGS. Add missing returns in solver functions.
-
- Nov 27, 2013
-
-
Steffen Müthing authored
- don't try to copy an incomplete matrix when passing it to rowWiseBuild - test copy assignment in addition to copy construction - make sure preallocated matrix can hold all inserted data
-
Steffen Müthing authored
-
Steffen Müthing authored
-
Markus Blatt authored
Previously, the tests supposed to fail would not have been detected with -DNDEBUG. With this patch we use cerr to report problems and return a nonzero error code on completion.
-
Markus Blatt authored
-
Markus Blatt authored
Previously there seemed to be a copy and paste mistake and bcrsimplicitebuiltest used the same source file as bcrsbuildtest. This patch fixes this.
-
Steffen Müthing authored
After the recent changes to BCRSMatrix, row and column sizes are now only set by allocate() because several places assume a correlation between the set number and rows and the allocation state. Thus the copy constructor and the assignment operator don't directly copy those values over, but initialize them to 0. The correct values are then set by allocate. The row-wise build mode is a special case that requires iterating over the source matrix rows before allocating memory. Unfortunately, the copy constructor tried to use the (0-initialized) row count of itself as iteration bound instead of the source matrix's one. Fixed by doing the same thing as the assignment operator: Just use the number from the source matrix. Fixes FS #1394.
-
Steffen Müthing authored
This reverts commit 5d8e6db1. While the patch above fixes the issue in FS #1394, it creates an inconsistency between the way the copy constructor and the assignment operator work. Reverted before applying a more consistent fix.
-
Markus Blatt authored
Due to the latest changes the number of rows was not copied correctly in all cases.This patch introduces the old behaviour. Should fix FS #1394.
-
Markus Blatt authored
This more easily triggers FS #1394
-
- Nov 21, 2013
-
-
Markus Blatt authored
Previously the module path was a relative to the install directory. With this patch the CMake package configuration file contains the full path and the macros are found.
-
- Nov 20, 2013
-
-
Steffen Müthing authored
This branch adds support for a new, implicit build mode to BCRSMatrix and moreover improves error handling and the build stage system used during matrix construction. * feature/new-bcrsmatrix-buildmode: (35 commits) [BCRSMatrix] Fix a documentation typo [BCRSMatrix] Some small fixes to allocation and deallocation in implicit mode [BCRSMatrix] Prevent against accidental double allocation of row array [BCRSMatrix] Clean up deallocate() a bit [BCRSMatrix] New observer buildMode() to get at the currently active build mode [BCRSMatrix] Adjust existing build stage checks to new enum values and semantics [BCRSMatrix] Prevent changing the implicit build mode parameters after matrix construction has started [BCRSMatrix] Improve logic in setBuildMode() to correctly handle new implicit mode [BCRSMatrix] Prohibit copying into / out of partially built matrices [BCRSMatrix] Add checks against calling arithmetic operations on partially built matrices [BCRSMatrix] Make sure to always initialize all data members in constructors [BCRSMatrix] Introduce new build stages notAllocated (aliased to notbuilt) and building [BCRSMatrix] Export the type of the CompressionStatistics object [BCRSMatrix] Improve error reporting in BCRSMatrix [BCRSMatrix] Add safeguards for implicit mode to operator[] [BCRSMatrix] Improve error handling for implicit build mode parameters [BCRSMatrix] Fix typo in setImplicitBuildModeParameters [BCRSMatrix] Update maximum number of row entries in compress() on the fly [BCRSMatrix] Avoid off-by one iterators in compress() [BCRSMatrix] Rename BuildModeWrapper to ImplicitMatrixBuilder and add an extended constructor ...
-
- Nov 19, 2013
-
-
Steffen Müthing authored
-
Steffen Müthing authored
-
Steffen Müthing authored
-
Steffen Müthing authored
- Don't do anything if we're in build stage notAllocated - Reset pointers to nullptr after deallocating - check whether rows have been allocated before accessing them
-
Steffen Müthing authored
-
Steffen Müthing authored
-
Steffen Müthing authored
[BCRSMatrix] Prevent changing the implicit build mode parameters after matrix construction has started
-
Steffen Müthing authored
-
Steffen Müthing authored
-
Steffen Müthing authored
-
Steffen Müthing authored
Valgrind was complaining about using unitialized values in some places...
-
Steffen Müthing authored
notbuilt) and building Right now, some build modes reuse the same build stage value across several actual stages. This patch splits the notbuilt stage into notAllocated and building, avoiding that ambiguity.
-
Steffen Müthing authored
-
Steffen Müthing authored
- Introduce new exception BCRSMatrixError and use it throughout BCRSMatrix - Introduce new exception ImplicitModeOverflowExhausted, which is thrown by compress() for the implicit build mode. Also improve the error message for that exception to really help the user understand the problem signalled by this exception and how to remedy the situation.
-
Steffen Müthing authored
-
Steffen Müthing authored
This patch adds checks to make sure the user has actually set valid parameters before trying to allocate the matrix in implicit mode. We use a negative value for the overflow fraction as an indicator for this. As part of the cleanup, this patch also makes sure that avg and overflowsize are always initialized to a well-defined value.
-
Steffen Müthing authored
This was obviously never tested - don't try to assign the overflow fraction to the map holding the overflow entries...
-
Steffen Müthing authored
We iterate over all rows anyway, so avoid the additional loop.
-
Steffen Müthing authored
compress() uses iterators that are off to enable a *(++it) = ... idiom, which already confuses me right now. That confusion will only be worse when I look at the code again in half a year, so let's clean that up right now.
-
Steffen Müthing authored
ImplicitMatrixBuilder now has some more documentation and a second constructor that takes all required arguments for setting up a matrix in implicit build mode. So you can now create an ImplicitMatrixBuilder directly on top of a default-constructed BCRSMatrix.
-
Steffen Müthing authored
- Don't needlessly specialize the wrapper, we can still do that we we encounter the need for it. - Add some doxygen documentation. - Clean up formatting.
-
Steffen Müthing authored
-
Steffen Müthing authored
This one slipped through the cracks when renaming the build mode...
-
Steffen Müthing authored
-
- Nov 15, 2013
-
-
Steffen Müthing authored
OS X does not support feenableexcept(), so don't try to call it. Enabling FP exceptions wouldn't really help anyway because that only works for the FPU, but all floating point operations on 64-bit OS X are done using SSE / AVX, which does not support FP exceptions.
-
Dominic Kempf authored
The sparsity pattern of the matrix is defined implicitly while assembling the matrix.
-