Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::glop::ScatteredVector< Index, Iterator > Struct Template Reference

Detailed Description

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
struct operations_research::glop::ScatteredVector< Index, Iterator >

Definition at line 54 of file scattered_vector.h.

#include <scattered_vector.h>

Public Member Functions

Fractional operator[] (Index index) const
Fractionaloperator[] (Index index)
Iterator begin () const
Iterator end () const
void Add (Index index, Fractional value)
void SortNonZerosIfNeeded ()
bool ShouldUseDenseIteration (double ratio_for_using_dense_representation) const
bool ShouldUseDenseIteration () const
void ClearSparseMask ()
void RepopulateSparseMask ()
void ClearNonZerosIfTooDense (double ratio_for_using_dense_representation)
void ClearNonZerosIfTooDense ()
size_t NumNonZerosEstimate () const

Public Attributes

StrictITIVector< Index, Fractionalvalues
bool non_zeros_are_sorted = false
std::vector< Indexnon_zeros
Bitset64< Indexis_non_zero

Static Public Attributes

static constexpr const double kDefaultRatioForUsingDenseIteration = 0.8

Member Function Documentation

◆ Add()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
void operations_research::glop::ScatteredVector< Index, Iterator >::Add ( Index index,
Fractional value )
inline

Definition at line 96 of file scattered_vector.h.

◆ begin()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
Iterator operations_research::glop::ScatteredVector< Index, Iterator >::begin ( ) const
inline

Definition at line 84 of file scattered_vector.h.

◆ ClearNonZerosIfTooDense() [1/2]

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
void operations_research::glop::ScatteredVector< Index, Iterator >::ClearNonZerosIfTooDense ( )
inline

Definition at line 160 of file scattered_vector.h.

◆ ClearNonZerosIfTooDense() [2/2]

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
void operations_research::glop::ScatteredVector< Index, Iterator >::ClearNonZerosIfTooDense ( double ratio_for_using_dense_representation)
inline

Definition at line 153 of file scattered_vector.h.

◆ ClearSparseMask()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
void operations_research::glop::ScatteredVector< Index, Iterator >::ClearSparseMask ( )
inline

Definition at line 130 of file scattered_vector.h.

◆ end()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
Iterator operations_research::glop::ScatteredVector< Index, Iterator >::end ( ) const
inline

Definition at line 88 of file scattered_vector.h.

◆ NumNonZerosEstimate()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
size_t operations_research::glop::ScatteredVector< Index, Iterator >::NumNonZerosEstimate ( ) const
inline

Definition at line 166 of file scattered_vector.h.

◆ operator[]() [1/2]

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
Fractional & operations_research::glop::ScatteredVector< Index, Iterator >::operator[] ( Index index)
inline

Definition at line 79 of file scattered_vector.h.

◆ operator[]() [2/2]

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
Fractional operations_research::glop::ScatteredVector< Index, Iterator >::operator[] ( Index index) const
inline

Definition at line 78 of file scattered_vector.h.

◆ RepopulateSparseMask()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
void operations_research::glop::ScatteredVector< Index, Iterator >::RepopulateSparseMask ( )
inline

Definition at line 143 of file scattered_vector.h.

◆ ShouldUseDenseIteration() [1/2]

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
bool operations_research::glop::ScatteredVector< Index, Iterator >::ShouldUseDenseIteration ( ) const
inline

Definition at line 125 of file scattered_vector.h.

◆ ShouldUseDenseIteration() [2/2]

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
bool operations_research::glop::ScatteredVector< Index, Iterator >::ShouldUseDenseIteration ( double ratio_for_using_dense_representation) const
inline

Definition at line 117 of file scattered_vector.h.

◆ SortNonZerosIfNeeded()

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
void operations_research::glop::ScatteredVector< Index, Iterator >::SortNonZerosIfNeeded ( )
inline

Definition at line 108 of file scattered_vector.h.

Member Data Documentation

◆ is_non_zero

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
Bitset64<Index> operations_research::glop::ScatteredVector< Index, Iterator >::is_non_zero

Definition at line 65 of file scattered_vector.h.

◆ kDefaultRatioForUsingDenseIteration

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
const double operations_research::glop::ScatteredVector< Index, Iterator >::kDefaultRatioForUsingDenseIteration = 0.8
staticconstexpr

Definition at line 76 of file scattered_vector.h.

◆ non_zeros

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
std::vector<Index> operations_research::glop::ScatteredVector< Index, Iterator >::non_zeros

Definition at line 60 of file scattered_vector.h.

◆ non_zeros_are_sorted

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
bool operations_research::glop::ScatteredVector< Index, Iterator >::non_zeros_are_sorted = false

Definition at line 59 of file scattered_vector.h.

◆ values

template<typename Index, typename Iterator = VectorIterator<ScatteredVectorEntry<Index>>>
StrictITIVector<Index, Fractional> operations_research::glop::ScatteredVector< Index, Iterator >::values

Definition at line 55 of file scattered_vector.h.


The documentation for this struct was generated from the following file: