35 #ifndef OPENMS_DATASTRUCTURES_DISTANCEMATRIX_H
36 #define OPENMS_DATASTRUCTURES_DISTANCEMATRIX_H
56 template <
typename Value>
97 for (i = 1; i < j; i++)
140 for (i = 1; i < j; i++)
354 throw Exception::OutOfMemory(__FILE__, __LINE__, __PRETTY_FUNCTION__, (
UInt)((((dimensionsize_ - 2) * (dimensionsize_ - 1)) / 2) *
sizeof(Value)));
438 for (
Size j = 0; j < i; ++j)
490 template <
typename Value>
491 std::ostream & operator<<(std::ostream & os, const DistanceMatrix<Value> & matrix)
495 std::ios_base::fmtflags flag_backup = os.setf(std::ios::scientific);
496 std::streamsize precision_backup = os.precision();
498 os.precision(writtenDigits<DoubleReal>());
501 for (SizeType i = 0; i < matrix.dimensionsize(); ++i)
503 for (SizeType j = 0; j < matrix.dimensionsize(); ++j)
505 os << matrix(i, j) <<
'\t';
509 os.flags(flag_backup);
510 os.precision(precision_backup);
516 #endif // OPENMS_DATASTRUCTURES_DISTANCEMATRIX_H
SizeType init_size_
number of actually stored rows
Definition: DistanceMatrix.h:466
Value value_type
Definition: DistanceMatrix.h:63
void resize(SizeType dimensionsize, Value value=Value())
resizing the container
Definition: DistanceMatrix.h:330
ValueType ** matrix_
sparse element not to be included in base container
Definition: DistanceMatrix.h:464
const ValueType operator()(SizeType i, SizeType j) const
gets a value at a given position (read only):
Definition: DistanceMatrix.h:176
Out of range exception.
Definition: Exception.h:320
ValueType getValue(SizeType i, SizeType j)
gets a value at a given position:
Definition: DistanceMatrix.h:221
value_type ValueType
Definition: DistanceMatrix.h:69
SizeType dimensionsize_
number of accessably stored rows (i.e. number of columns)
Definition: DistanceMatrix.h:468
#define OPENMS_PRECONDITION(condition, message)
Precondition macro.
Definition: Macros.h:107
A two-dimensional distance matrix, similar to OpenMS::Matrix.
Definition: DistanceMatrix.h:57
#define NULL
Definition: IsotopeWaveletParallelFor.h:41
bool operator==(DistanceMatrix< ValueType > const &rhs) const
Equality comparator.
Definition: DistanceMatrix.h:433
void clear()
reset all
Definition: DistanceMatrix.h:309
DistanceMatrix(const DistanceMatrix &source)
copy constructor
Definition: DistanceMatrix.h:126
void reduce(SizeType j)
reduces DistanceMatrix by one dimension. first the jth row, then jth column
Definition: DistanceMatrix.h:377
void setValueQuick(SizeType i, SizeType j, ValueType value)
sets a value at a given position:
Definition: DistanceMatrix.h:291
void updateMinElement()
keep track of the actual minimum element after altering the matrix
Definition: DistanceMatrix.h:407
ValueType operator()(SizeType i, SizeType j)
gets a value at a given position (read only):
Definition: DistanceMatrix.h:186
std::pair< SizeType, SizeType > getMinElementCoordinates() const
Indexpair of minimal element.
Definition: DistanceMatrix.h:453
DistanceMatrix & operator=(const DistanceMatrix &rhs)
assignment operator (unsafe)
Definition: DistanceMatrix.h:474
void setValue(SizeType i, SizeType j, ValueType value)
sets a value at a given position:
Definition: DistanceMatrix.h:246
DistanceMatrix(SizeType dimensionsize, Value value=Value())
detailed constructor
Definition: DistanceMatrix.h:86
Out of memory exception.
Definition: Exception.h:472
~DistanceMatrix()
destructor
Definition: DistanceMatrix.h:162
SizeType dimensionsize() const
gives the number of rows (i.e. number of columns)
Definition: DistanceMatrix.h:398
DistanceMatrix()
default constructor
Definition: DistanceMatrix.h:75
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
Size SizeType
Definition: DistanceMatrix.h:68
std::pair< SizeType, SizeType > min_element_
index of minimal element(i.e. number in underlying SparseVector)
Definition: DistanceMatrix.h:470
const ValueType getValue(SizeType i, SizeType j) const
gets a value at a given position:
Definition: DistanceMatrix.h:197