PPL
1.2
|
A finite sequence of coefficients. More...
#include <Dense_Row_defs.hh>
Classes | |
class | const_iterator |
struct | Impl |
class | iterator |
Public Member Functions | |
Dense_Row () | |
Constructs an empty row. More... | |
Dense_Row (const Sparse_Row &row) | |
Dense_Row (dimension_type sz) | |
Tight constructor: resizing may require reallocation. More... | |
Dense_Row (dimension_type sz, dimension_type capacity) | |
Sizing constructor with capacity. More... | |
Dense_Row (const Dense_Row &y) | |
Ordinary copy constructor. More... | |
Dense_Row (const Dense_Row &y, dimension_type capacity) | |
Copy constructor with specified capacity. More... | |
Dense_Row (const Dense_Row &y, dimension_type sz, dimension_type capacity) | |
Copy constructor with specified size and capacity. More... | |
Dense_Row (const Sparse_Row &y, dimension_type sz, dimension_type capacity) | |
Copy constructor with specified size and capacity from a Sparse_Row. More... | |
~Dense_Row () | |
Destructor. More... | |
Dense_Row & | operator= (const Dense_Row &y) |
Assignment operator. More... | |
Dense_Row & | operator= (const Sparse_Row &y) |
Assignment operator. More... | |
void | m_swap (Dense_Row &y) |
Swaps *this with y . More... | |
void | resize (dimension_type sz) |
Resizes the row to sz . More... | |
void | resize (dimension_type sz, dimension_type capacity) |
Resizes the row to sz , with capacity capacity . More... | |
void | clear () |
Resets all the elements of this row. More... | |
void | add_zeroes_and_shift (dimension_type n, dimension_type i) |
Adds n zeroes before index i . More... | |
void | expand_within_capacity (dimension_type new_size) |
Expands the row to size new_size . More... | |
void | shrink (dimension_type new_size) |
Shrinks the row by erasing elements at the end. More... | |
dimension_type | size () const |
Gives the number of coefficients currently in use. More... | |
void | normalize () |
Normalizes the modulo of coefficients so that they are mutually prime. More... | |
void | swap_coefficients (dimension_type i, dimension_type j) |
void | swap_coefficients (iterator i, iterator j) |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
void | reset (dimension_type i) |
void | reset (dimension_type first, dimension_type last) |
iterator | reset (iterator itr) |
Coefficient_traits::const_reference | get (dimension_type i) const |
iterator | find (dimension_type i) |
Provided for compatibility with Sparse_Row. More... | |
const_iterator | find (dimension_type i) const |
Provided for compatibility with Sparse_Row. More... | |
iterator | find (iterator itr, dimension_type i) |
Provided for compatibility with Sparse_Row. More... | |
const_iterator | find (const_iterator itr, dimension_type i) const |
Provided for compatibility with Sparse_Row. More... | |
iterator | lower_bound (dimension_type i) |
Provided for compatibility with Sparse_Row. More... | |
const_iterator | lower_bound (dimension_type i) const |
Provided for compatibility with Sparse_Row. More... | |
iterator | lower_bound (iterator itr, dimension_type i) |
Provided for compatibility with Sparse_Row. More... | |
const_iterator | lower_bound (const_iterator itr, dimension_type i) const |
Provided for compatibility with Sparse_Row. More... | |
iterator | insert (dimension_type i, Coefficient_traits::const_reference x) |
Provided for compatibility with Sparse_Row. More... | |
iterator | insert (dimension_type i) |
Provided for compatibility with Sparse_Row. More... | |
iterator | insert (iterator itr, dimension_type i, Coefficient_traits::const_reference x) |
Provided for compatibility with Sparse_Row. More... | |
iterator | insert (iterator itr, dimension_type i) |
Provided for compatibility with Sparse_Row. More... | |
template<typename Func1 , typename Func2 > | |
void | combine_needs_first (const Dense_Row &y, const Func1 &f, const Func2 &g) |
Calls g(x[i],y[i]), for each i. More... | |
template<typename Func1 , typename Func2 > | |
void | combine_needs_second (const Dense_Row &y, const Func1 &g, const Func2 &h) |
Calls g(x[i],y[i]), for each i. More... | |
template<typename Func1 , typename Func2 , typename Func3 > | |
void | combine (const Dense_Row &y, const Func1 &f, const Func2 &g, const Func3 &h) |
Calls g(x[i],y[i]), for each i. More... | |
void | linear_combine (const Dense_Row &y, Coefficient_traits::const_reference coeff1, Coefficient_traits::const_reference coeff2) |
void | linear_combine (const Dense_Row &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2, dimension_type start, dimension_type end) |
void | ascii_dump () const |
Writes to std::cerr an ASCII representation of *this . More... | |
void | ascii_dump (std::ostream &s) const |
Writes to s an ASCII representation of *this . More... | |
void | print () const |
Prints *this to std::cerr using operator<< . More... | |
bool | ascii_load (std::istream &s) |
Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise. More... | |
memory_size_type | total_memory_in_bytes () const |
Returns a lower bound to the total size in bytes of the memory occupied by *this . More... | |
memory_size_type | external_memory_in_bytes () const |
Returns a lower bound to the size in bytes of the memory managed by *this . More... | |
memory_size_type | total_memory_in_bytes (dimension_type capacity) const |
Returns the total size in bytes of the memory occupied by *this , provided the capacity of *this is given by capacity . More... | |
memory_size_type | external_memory_in_bytes (dimension_type capacity) const |
Returns the size in bytes of the memory managed by *this , provided the capacity of *this is given by capacity . More... | |
bool | OK () const |
Checks if all the invariants are satisfied. More... | |
bool | OK (dimension_type row_size) const |
Checks if all the invariants are satisfied and that the actual size matches the value provided as argument. More... | |
Subscript operators | |
Coefficient & | operator[] (dimension_type k) |
Returns a reference to the element of the row indexed by k . More... | |
Coefficient_traits::const_reference | operator[] (dimension_type k) const |
Returns a constant reference to the element of the row indexed by k . More... | |
Static Public Member Functions | |
static dimension_type | max_size () |
Returns the size() of the largest possible Dense_Row. More... | |
Private Member Functions | |
void | init (const Sparse_Row &row) |
void | destroy () |
dimension_type | capacity () const |
Returns the capacity of the row. More... | |
Private Attributes | |
Impl | impl |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const Dense_Row &x, const Dense_Row &y) |
void | swap (Dense_Row &x, Dense_Row &y) |
Swaps x with y . More... | |
void | iter_swap (std::vector< Dense_Row >::iterator x, std::vector< Dense_Row >::iterator y) |
Swaps objects referred by x and y . More... | |
bool | operator== (const Dense_Row &x, const Dense_Row &y) |
Returns true if and only if x and y are equal. More... | |
bool | operator!= (const Dense_Row &x, const Dense_Row &y) |
Returns true if and only if x and y are different. More... | |
void | linear_combine (Dense_Row &x, const Dense_Row &y, Coefficient_traits::const_reference coeff1, Coefficient_traits::const_reference coeff2) |
void | linear_combine (Dense_Row &x, const Dense_Row &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2, dimension_type start, dimension_type end) |
bool | operator!= (const Dense_Row &x, const Dense_Row &y) |
void | swap (Dense_Row &x, Dense_Row &y) |
void | iter_swap (std::vector< Dense_Row >::iterator x, std::vector< Dense_Row >::iterator y) |
A finite sequence of coefficients.
Definition at line 42 of file Dense_Row_defs.hh.
|
inline |
Constructs an empty row.
Definition at line 64 of file Dense_Row_inlines.hh.
References OK().
|
explicit |
Definition at line 240 of file Dense_Row.cc.
References init(), OK(), Parma_Polyhedra_Library::Sparse_Row::size(), and size().
|
inline |
Tight constructor: resizing may require reallocation.
Constructs a row with size and capacity sz
.
Definition at line 83 of file Dense_Row_inlines.hh.
References OK(), resize(), and size().
|
inline |
Sizing constructor with capacity.
sz | The size of the row that will be constructed; |
capacity | The capacity of the row that will be constructed; |
The row that is constructed has storage for capacity
elements, sz
of which are default-constructed now.
Definition at line 71 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, impl, OK(), resize(), and size().
|
inline |
Ordinary copy constructor.
Definition at line 93 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, capacity(), Parma_Polyhedra_Library::Dense_Row::Impl::coeff_allocator, impl, OK(), size(), Parma_Polyhedra_Library::Dense_Row::Impl::size, and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
|
inline |
Copy constructor with specified capacity.
It is assumed that capacity
is greater than or equal to the size of y
.
Definition at line 110 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, capacity(), Parma_Polyhedra_Library::Dense_Row::Impl::coeff_allocator, impl, max_size(), OK(), size(), Parma_Polyhedra_Library::Dense_Row::Impl::size, and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
|
inline |
Copy constructor with specified size and capacity.
It is assumed that sz
is less than or equal to capacity
.
Definition at line 133 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, capacity(), Parma_Polyhedra_Library::Dense_Row::Impl::coeff_allocator, impl, max_size(), OK(), size(), Parma_Polyhedra_Library::Dense_Row::Impl::size, and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
Parma_Polyhedra_Library::Dense_Row::Dense_Row | ( | const Sparse_Row & | y, |
dimension_type | sz, | ||
dimension_type | capacity | ||
) |
Copy constructor with specified size and capacity from a Sparse_Row.
It is assumed that sz
is less than or equal to capacity
.
Definition at line 34 of file Dense_Row.cc.
References Parma_Polyhedra_Library::Sparse_Row::begin(), Parma_Polyhedra_Library::Sparse_Row::lower_bound(), OK(), resize(), and Parma_Polyhedra_Library::Sparse_Row::size().
|
inline |
Destructor.
Definition at line 161 of file Dense_Row_inlines.hh.
void Parma_Polyhedra_Library::Dense_Row::add_zeroes_and_shift | ( | dimension_type | n, |
dimension_type | i | ||
) |
Adds n
zeroes before index i
.
n | The number of zeroes that will be added to the row. |
i | The index of the element before which the zeroes will be added. |
Existing elements with index greater than or equal to i
are shifted to the right by n
positions. The size is increased by n
.
Existing iterators are invalidated.
Definition at line 140 of file Dense_Row.cc.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, Parma_Polyhedra_Library::Dense_Row::Impl::coeff_allocator, Parma_Polyhedra_Library::compute_capacity(), impl, Parma_Polyhedra_Library::swap(), and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
void Parma_Polyhedra_Library::Dense_Row::ascii_dump | ( | ) | const |
Writes to std::cerr
an ASCII representation of *this
.
void Parma_Polyhedra_Library::Dense_Row::ascii_dump | ( | std::ostream & | s | ) | const |
Writes to s
an ASCII representation of *this
.
Definition at line 479 of file Dense_Row.cc.
References size().
bool Parma_Polyhedra_Library::Dense_Row::ascii_load | ( | std::istream & | s | ) |
Loads from s
an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this
accordingly. Returns true
if successful, false
otherwise.
Definition at line 492 of file Dense_Row.cc.
|
inline |
Definition at line 238 of file Dense_Row_inlines.hh.
|
inline |
Definition at line 243 of file Dense_Row_inlines.hh.
|
inlineprivate |
Returns the capacity of the row.
Definition at line 59 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, and impl.
Referenced by Dense_Row(), and Parma_Polyhedra_Library::Dense_Row::Impl::~Impl().
void Parma_Polyhedra_Library::Dense_Row::clear | ( | ) |
void Parma_Polyhedra_Library::Dense_Row::combine | ( | const Dense_Row & | y, |
const Func1 & | f, | ||
const Func2 & | g, | ||
const Func3 & | h | ||
) |
Calls g(x[i],y[i]), for each i.
y | The row that will be combined with *this. |
f | A functor that should take a Coefficient&. f(c1) must be equivalent to g(c1, 0). |
g | A functor that should take a Coefficient& and a Coefficient_traits::const_reference. g(c1, c2) must do nothing when both c1 and c2 are zero. |
h | A functor that should take a Coefficient& and a Coefficient_traits::const_reference. h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero. |
This method takes time.
Definition at line 50 of file Dense_Row_templates.hh.
References size().
void Parma_Polyhedra_Library::Dense_Row::combine_needs_first | ( | const Dense_Row & | y, |
const Func1 & | f, | ||
const Func2 & | g | ||
) |
Calls g(x[i],y[i]), for each i.
y | The row that will be combined with *this. |
f | A functor that should take a Coefficient&. f(c1) must be equivalent to g(c1, 0). |
g | A functor that should take a Coefficient& and a Coefficient_traits::const_reference. g(c1, c2) must do nothing when c1 is zero. |
This method takes time.
Definition at line 32 of file Dense_Row_templates.hh.
References size().
void Parma_Polyhedra_Library::Dense_Row::combine_needs_second | ( | const Dense_Row & | y, |
const Func1 & | g, | ||
const Func2 & | h | ||
) |
Calls g(x[i],y[i]), for each i.
y | The row that will be combined with *this. |
g | A functor that should take a Coefficient& and a Coefficient_traits::const_reference. g(c1, 0) must do nothing, for every c1. |
h | A functor that should take a Coefficient& and a Coefficient_traits::const_reference. h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero. |
This method takes time.
Definition at line 41 of file Dense_Row_templates.hh.
References size().
|
inlineprivate |
Definition at line 166 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, Parma_Polyhedra_Library::Dense_Row::Impl::coeff_allocator, impl, resize(), and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
|
inline |
Definition at line 248 of file Dense_Row_inlines.hh.
References size().
|
inline |
Definition at line 253 of file Dense_Row_inlines.hh.
References size().
void Parma_Polyhedra_Library::Dense_Row::expand_within_capacity | ( | dimension_type | new_size | ) |
Expands the row to size new_size
.
Adds new positions to the implementation of the row obtaining a new row with size new_size
. It is assumed that new_size
is between the current size and capacity of the row.
Definition at line 213 of file Dense_Row.cc.
PPL::memory_size_type Parma_Polyhedra_Library::Dense_Row::external_memory_in_bytes | ( | ) | const |
Returns a lower bound to the size in bytes of the memory managed by *this
.
Definition at line 519 of file Dense_Row.cc.
References Parma_Polyhedra_Library::external_memory_in_bytes().
Referenced by total_memory_in_bytes().
PPL::memory_size_type Parma_Polyhedra_Library::Dense_Row::external_memory_in_bytes | ( | dimension_type | capacity | ) | const |
Returns the size in bytes of the memory managed by *this
, provided the capacity of *this
is given by capacity
.
Definition at line 514 of file Dense_Row.cc.
References Parma_Polyhedra_Library::external_memory_in_bytes().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 263 of file Dense_Row_inlines.hh.
Referenced by insert(), and lower_bound().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 268 of file Dense_Row_inlines.hh.
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 273 of file Dense_Row_inlines.hh.
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 279 of file Dense_Row_inlines.hh.
|
inline |
Gets the i-th element. Provided for compatibility with Sparse_Row.
Definition at line 258 of file Dense_Row_inlines.hh.
Referenced by Parma_Polyhedra_Library::MIP_Problem::linear_combine().
|
private |
Definition at line 250 of file Dense_Row.cc.
References Parma_Polyhedra_Library::Sparse_Row::begin(), Parma_Polyhedra_Library::Sparse_Row::end(), Parma_Polyhedra_Library::CO_Tree::const_iterator::index(), and Parma_Polyhedra_Library::Sparse_Row::size().
Referenced by Dense_Row().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 305 of file Dense_Row_inlines.hh.
References find().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 312 of file Dense_Row_inlines.hh.
References find().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 317 of file Dense_Row_inlines.hh.
References find().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 325 of file Dense_Row_inlines.hh.
References find().
void Parma_Polyhedra_Library::Dense_Row::linear_combine | ( | const Dense_Row & | y, |
Coefficient_traits::const_reference | coeff1, | ||
Coefficient_traits::const_reference | coeff2 | ||
) |
Executes (*this)[i] = (*this)[i]*coeff1 + y[i]*coeff2
, for each i.
y | The row that will be combined with *this. |
coeff1 | The coefficient used for elements of *this. It must not be 0. |
coeff2 | The coefficient used for elements of y. It must not be 0. |
This method takes time.
Definition at line 389 of file Dense_Row.cc.
References linear_combine(), and size().
Referenced by linear_combine(), and Parma_Polyhedra_Library::linear_combine().
void Parma_Polyhedra_Library::Dense_Row::linear_combine | ( | const Dense_Row & | y, |
Coefficient_traits::const_reference | c1, | ||
Coefficient_traits::const_reference | c2, | ||
dimension_type | start, | ||
dimension_type | end | ||
) |
Equivalent to (*this)[i] = (*this)[i] * c1 + y[i] * c2
, for each i in [start, end).
This method detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in order to save some work.
coeff1 and coeff2 must not be 0.
Definition at line 399 of file Dense_Row.cc.
References Parma_Polyhedra_Library::add_mul_assign(), and size().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 285 of file Dense_Row_inlines.hh.
References find().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 290 of file Dense_Row_inlines.hh.
References find().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 295 of file Dense_Row_inlines.hh.
References find().
|
inline |
Provided for compatibility with Sparse_Row.
Definition at line 300 of file Dense_Row_inlines.hh.
References find().
|
inline |
Swaps *this
with y
.
Definition at line 172 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::Impl::capacity, Parma_Polyhedra_Library::Dense_Row::Impl::coeff_allocator, impl, OK(), Parma_Polyhedra_Library::Dense_Row::Impl::size, swap(), Parma_Polyhedra_Library::swap(), and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
Referenced by swap().
|
inlinestatic |
Returns the size() of the largest possible Dense_Row.
Definition at line 49 of file Dense_Row_inlines.hh.
Referenced by Dense_Row(), and Parma_Polyhedra_Library::Linear_Expression::max_space_dimension().
void Parma_Polyhedra_Library::Dense_Row::normalize | ( | ) |
Normalizes the modulo of coefficients so that they are mutually prime.
Computes the Greatest Common Divisor (GCD) among the elements of the row and normalizes them by the GCD itself.
Definition at line 329 of file Dense_Row.cc.
References Parma_Polyhedra_Library::exact_div_assign(), Parma_Polyhedra_Library::gcd_assign(), Parma_Polyhedra_Library::neg_assign(), PPL_DIRTY_TEMP_COEFFICIENT, and Parma_Polyhedra_Library::Boundary_NS::sgn().
Referenced by Parma_Polyhedra_Library::MIP_Problem::linear_combine().
bool Parma_Polyhedra_Library::Dense_Row::OK | ( | ) | const |
Checks if all the invariants are satisfied.
Definition at line 528 of file Dense_Row.cc.
Referenced by Dense_Row(), m_swap(), Parma_Polyhedra_Library::Dense_Row::iterator::operator++(), Parma_Polyhedra_Library::Dense_Row::const_iterator::operator++(), Parma_Polyhedra_Library::Dense_Row::iterator::operator--(), and Parma_Polyhedra_Library::Dense_Row::const_iterator::operator--().
bool Parma_Polyhedra_Library::Dense_Row::OK | ( | dimension_type | row_size | ) | const |
Checks if all the invariants are satisfied and that the actual size matches the value provided as argument.
Definition at line 578 of file Dense_Row.cc.
Assignment operator.
Definition at line 183 of file Dense_Row_inlines.hh.
References size(), and swap().
PPL::Dense_Row & Parma_Polyhedra_Library::Dense_Row::operator= | ( | const Sparse_Row & | y | ) |
Assignment operator.
Definition at line 271 of file Dense_Row.cc.
References Parma_Polyhedra_Library::Sparse_Row::begin(), Parma_Polyhedra_Library::Coefficient_zero(), Parma_Polyhedra_Library::Sparse_Row::end(), Parma_Polyhedra_Library::CO_Tree::const_iterator::index(), and Parma_Polyhedra_Library::Sparse_Row::size().
|
inline |
Returns a reference to the element of the row indexed by k
.
Definition at line 202 of file Dense_Row_inlines.hh.
References impl, size(), and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
|
inline |
Returns a constant reference to the element of the row indexed by k
.
Definition at line 209 of file Dense_Row_inlines.hh.
References impl, size(), and Parma_Polyhedra_Library::Dense_Row::Impl::vec.
void Parma_Polyhedra_Library::Dense_Row::print | ( | ) | const |
Prints *this
to std::cerr
using operator<<
.
|
inline |
Resets the i-th element to 0. Provided for compatibility with Sparse_Row
Definition at line 226 of file Dense_Row_inlines.hh.
Referenced by Parma_Polyhedra_Library::Expression_Hide_Inhomo< T >::get_row().
void Parma_Polyhedra_Library::Dense_Row::reset | ( | dimension_type | first, |
dimension_type | last | ||
) |
Resets the elements [first,last) to 0. Provided for compatibility with Sparse_Row
Definition at line 380 of file Dense_Row.cc.
|
inline |
Resets the element pointed to by itr to 0. Provided for compatibility with Sparse_Row.
Definition at line 231 of file Dense_Row_inlines.hh.
void Parma_Polyhedra_Library::Dense_Row::resize | ( | dimension_type | sz | ) |
Resizes the row to sz
.
Definition at line 45 of file Dense_Row.cc.
Referenced by Dense_Row(), destroy(), and Parma_Polyhedra_Library::Expression_Hide_Last< T >::get_row().
void Parma_Polyhedra_Library::Dense_Row::resize | ( | dimension_type | sz, |
dimension_type | capacity | ||
) |
Resizes the row to sz
, with capacity capacity
.
Definition at line 77 of file Dense_Row.cc.
void Parma_Polyhedra_Library::Dense_Row::shrink | ( | dimension_type | new_size | ) |
Shrinks the row by erasing elements at the end.
Destroys elements of the row implementation from position new_size
to the end. It is assumed that new_size
is not greater than the current size.
Definition at line 225 of file Dense_Row.cc.
|
inline |
Gives the number of coefficients currently in use.
Definition at line 54 of file Dense_Row_inlines.hh.
References impl, and Parma_Polyhedra_Library::Dense_Row::Impl::size.
Referenced by ascii_dump(), combine(), combine_needs_first(), combine_needs_second(), Dense_Row(), end(), Parma_Polyhedra_Library::Expression_Hide_Last< T >::get_row(), Parma_Polyhedra_Library::Linear_Expression_Impl< Row >::have_a_common_variable(), linear_combine(), Parma_Polyhedra_Library::MIP_Problem::linear_combine(), Parma_Polyhedra_Library::Dense_Row::iterator::OK(), Parma_Polyhedra_Library::Dense_Row::const_iterator::OK(), Parma_Polyhedra_Library::Dense_Row::iterator::operator*(), Parma_Polyhedra_Library::Dense_Row::const_iterator::operator*(), Parma_Polyhedra_Library::Dense_Row::iterator::operator++(), Parma_Polyhedra_Library::Dense_Row::const_iterator::operator++(), operator=(), operator==(), Parma_Polyhedra_Library::operator==(), operator[](), and Parma_Polyhedra_Library::Dense_Row::Impl::~Impl().
|
inline |
Swaps the i-th element with the j-th element. Provided for compatibility with Sparse_Row
Definition at line 216 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::swap().
Swaps the element pointed to by i with the element pointed to by j. Provided for compatibility with Sparse_Row
Definition at line 221 of file Dense_Row_inlines.hh.
References Parma_Polyhedra_Library::swap().
|
inline |
Returns a lower bound to the total size in bytes of the memory occupied by *this
.
Definition at line 331 of file Dense_Row_inlines.hh.
References external_memory_in_bytes().
|
inline |
Returns the total size in bytes of the memory occupied by *this
, provided the capacity of *this
is given by capacity
.
Definition at line 336 of file Dense_Row_inlines.hh.
References external_memory_in_bytes().
|
related |
Swaps objects referred by x
and y
.
|
related |
|
related |
Definition at line 505 of file Dense_Row_inlines.hh.
|
related |
Equivalent to x[i] = x[i] * c1 + y[i] * c2
, for each i in [start, end).
Definition at line 512 of file Dense_Row_inlines.hh.
Definition at line 342 of file Dense_Row_inlines.hh.
Returns true
if and only if x
and y
are different.
Returns true
if and only if x
and y
are equal.
Definition at line 599 of file Dense_Row.cc.
References size().
Swaps x
with y
.
Referenced by iter_swap(), m_swap(), and operator=().
Definition at line 521 of file Dense_Row_inlines.hh.
References m_swap().
|
private |
Definition at line 426 of file Dense_Row_defs.hh.
Referenced by add_zeroes_and_shift(), capacity(), Dense_Row(), destroy(), m_swap(), operator[](), and size().