10 #ifndef EIGEN_COMPRESSED_STORAGE_H 11 #define EIGEN_COMPRESSED_STORAGE_H 21 template<
typename _Scalar,
typename _StorageIndex>
106 m_indices[id] = internal::convert_index<StorageIndex>(i);
135 Index mid = (end+start)>>1;
163 else if (end>start && key==
m_indices[end-1])
204 m_indices[id] = internal::convert_index<StorageIndex>(key);
214 for (
Index i=0; i<n; ++i)
216 if (!internal::isMuchSmallerThan(
value(i), reference,
epsilon))
230 #ifdef EIGEN_SPARSE_COMPRESSED_STORAGE_REALLOCATE_PLUGIN 231 EIGEN_SPARSE_COMPRESSED_STORAGE_REALLOCATE_PLUGIN
258 #endif // EIGEN_COMPRESSED_STORAGE_H void reallocate(Index size)
StorageIndex & index(Index i)
const Scalar & value(Index i) const
CompressedStorage & operator=(const CompressedStorage &other)
StorageIndex * indexPtr()
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
const StorageIndex & index(Index i) const
CompressedStorage(Index size)
const Scalar * valuePtr() const
EIGEN_DEVICE_FUNC void smart_copy(const T *start, const T *end, T *target)
void append(const Scalar &v, Index i)
Index searchLowerIndex(Index key) const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
CompressedStorage(const CompressedStorage &other)
_StorageIndex StorageIndex
void resize(Index size, double reserveSizeFactor=0)
Scalar & atWithInsertion(Index key, const Scalar &defaultValue=Scalar(0))
void prune(const Scalar &reference, const RealScalar &epsilon=NumTraits< RealScalar >::dummy_precision())
Scalar atInRange(Index start, Index end, Index key, const Scalar &defaultValue=Scalar(0)) const
Index allocatedSize() const
const StorageIndex * indexPtr() const
NumTraits< Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC void throw_std_bad_alloc()
#define eigen_internal_assert(x)
Index searchLowerIndex(Index start, Index end, Index key) const
void smart_memmove(const T *start, const T *end, T *target)
void swap(CompressedStorage &other)
void swap(mpfr::mpreal &x, mpfr::mpreal &y)
Scalar at(Index key, const Scalar &defaultValue=Scalar(0)) const