Osi 0.107.7

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
CoinPackedVector.hpp File Reference
`#include <map>`
`#include "CoinPragma.hpp"`
`#include "CoinPackedVectorBase.hpp"`
`#include "CoinSort.hpp"`
Include dependency graph for CoinPackedVector.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
class | CoinPackedVector
| Sparse Vector. More...

## Macros
#define | COIN_DEFAULT_VALUE_FOR_DUPLICATE true

## Functions
double | sparseDotProduct (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2)
| Returns the dot product of two CoinPackedVector objects whose elements are doubles. More...
double | sortedSparseDotProduct (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2)
| Returns the dot product of two sorted CoinPackedVector objects. More...
void | CoinPackedVectorUnitTest ()
| A function that tests the methods in the CoinPackedVector class. More...
Arithmetic operators on packed vectors.
NOTE: These methods operate on those positions where at least one of the arguments has a value listed. At those positions the appropriate operation is executed, Otherwise the result of the operation is considered 0. NOTE 2: There are two kind of operators here. One is used like "c = binaryOp(a, b)", the other is used like "binaryOp(c, a, b)", but they are really the same. The first is much more natural to use, but it involves the creation of a temporary object (the function must return an object), while the second form puts the result directly into the argument "c". Therefore, depending on the circumstances, the second form can be significantly faster.
template<class BinaryFunction >
void | binaryOp (CoinPackedVector &retVal, const CoinPackedVectorBase &op1, double value, BinaryFunction bf)
template<class BinaryFunction >
void | binaryOp (CoinPackedVector &retVal, double value, const CoinPackedVectorBase &op2, BinaryFunction bf)
template<class BinaryFunction >
void | binaryOp (CoinPackedVector &retVal, const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2, BinaryFunction bf)
template<class BinaryFunction >
CoinPackedVector | binaryOp (const CoinPackedVectorBase &op1, double value, BinaryFunction bf)
template<class BinaryFunction >
CoinPackedVector | binaryOp (double value, const CoinPackedVectorBase &op2, BinaryFunction bf)
template<class BinaryFunction >
CoinPackedVector | binaryOp (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2, BinaryFunction bf)
CoinPackedVector | operator+ (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2)
| Return the sum of two packed vectors. More...
CoinPackedVector | operator- (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2)
| Return the difference of two packed vectors. More...
CoinPackedVector | operator* (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2)
| Return the element-wise product of two packed vectors. More...
CoinPackedVector | operator/ (const CoinPackedVectorBase &op1, const CoinPackedVectorBase &op2)
| Return the element-wise ratio of two packed vectors. More...
Arithmetic operators on packed vector and a constant. <br>
These functions create a packed vector as a result. That packed vector will have the same indices as `op1` and the specified operation is done entry-wise with the given value.
CoinPackedVector | operator+ (const CoinPackedVectorBase &op1, double value)
| Return the sum of a packed vector and a constant. More...
CoinPackedVector | operator- (const CoinPackedVectorBase &op1, double value)
| Return the difference of a packed vector and a constant. More...
CoinPackedVector | operator* (const CoinPackedVectorBase &op1, double value)
| Return the element-wise product of a packed vector and a constant. More...
CoinPackedVector | operator/ (const CoinPackedVectorBase &op1, double value)
| Return the element-wise ratio of a packed vector and a constant. More...
CoinPackedVector | operator+ (double value, const CoinPackedVectorBase &op1)
| Return the sum of a constant and a packed vector. More...
CoinPackedVector | operator- (double value, const CoinPackedVectorBase &op1)
| Return the difference of a constant and a packed vector. More...
CoinPackedVector | operator* (double value, const CoinPackedVectorBase &op1)
| Return the element-wise product of a constant and a packed vector. More...
CoinPackedVector | operator/ (double value, const CoinPackedVectorBase &op1)
| Return the element-wise ratio of a a constant and packed vector. More...

## Macro Definition Documentation

#define COIN_DEFAULT_VALUE_FOR_DUPLICATE true

Definition at line 22 of file CoinPackedVector.hpp.

## Function Documentation

template<class BinaryFunction >

void binaryOp | ( | CoinPackedVector & | retVal,
|  | const CoinPackedVectorBase & | op1,
|  | double | value,
|  | BinaryFunction | bf
| ) |  |

Definition at line 360 of file CoinPackedVector.hpp.

template<class BinaryFunction >

void binaryOp | ( | CoinPackedVector & | retVal,
|  | double | value,
|  | const CoinPackedVectorBase & | op2,
|  | BinaryFunction | bf
| ) |  |
| inline

Definition at line 377 of file CoinPackedVector.hpp.

template<class BinaryFunction >

void binaryOp | ( | CoinPackedVector & | retVal,
|  | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2,
|  | BinaryFunction | bf
| ) |  |

Definition at line 385 of file CoinPackedVector.hpp.

template<class BinaryFunction >

CoinPackedVector binaryOp | ( | const CoinPackedVectorBase & | op1,
|  | double | value,
|  | BinaryFunction | bf
| ) |  |

Definition at line 433 of file CoinPackedVector.hpp.

template<class BinaryFunction >

CoinPackedVector binaryOp | ( | double | value,
|  | const CoinPackedVectorBase & | op2,
|  | BinaryFunction | bf
| ) |  |

Definition at line 443 of file CoinPackedVector.hpp.

template<class BinaryFunction >

CoinPackedVector binaryOp | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2,
|  | BinaryFunction | bf
| ) |  |

Definition at line 453 of file CoinPackedVector.hpp.

CoinPackedVector operator+ | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2
| ) |  |
| inline

Return the sum of two packed vectors.

Definition at line 464 of file CoinPackedVector.hpp.

CoinPackedVector operator- | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2
| ) |  |
| inline

Return the difference of two packed vectors.

Definition at line 474 of file CoinPackedVector.hpp.

CoinPackedVector operator* | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2
| ) |  |
| inline

Return the element-wise product of two packed vectors.

Definition at line 484 of file CoinPackedVector.hpp.

CoinPackedVector operator/ | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2
| ) |  |
| inline

Return the element-wise ratio of two packed vectors.

Definition at line 494 of file CoinPackedVector.hpp.

double sparseDotProduct | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2
| ) |  |
| inline

Returns the dot product of two CoinPackedVector objects whose elements are doubles.

Use this version if the vectors are not guaranteed to be sorted.

Definition at line 506 of file CoinPackedVector.hpp.

double sortedSparseDotProduct | ( | const CoinPackedVectorBase & | op1,
|  | const CoinPackedVectorBase & | op2
| ) |  |
| inline

Returns the dot product of two sorted CoinPackedVector objects.

The vectors should be sorted in ascending order of indices.

Definition at line 525 of file CoinPackedVector.hpp.

CoinPackedVector operator+ | ( | const CoinPackedVectorBase & | op1,
|  | double | value
| ) |  |
| inline

Return the sum of a packed vector and a constant.

Definition at line 567 of file CoinPackedVector.hpp.

CoinPackedVector operator- | ( | const CoinPackedVectorBase & | op1,
|  | double | value
| ) |  |
| inline

Return the difference of a packed vector and a constant.

Definition at line 576 of file CoinPackedVector.hpp.

CoinPackedVector operator* | ( | const CoinPackedVectorBase & | op1,
|  | double | value
| ) |  |
| inline

Return the element-wise product of a packed vector and a constant.

Definition at line 585 of file CoinPackedVector.hpp.

CoinPackedVector operator/ | ( | const CoinPackedVectorBase & | op1,
|  | double | value
| ) |  |
| inline

Return the element-wise ratio of a packed vector and a constant.

Definition at line 594 of file CoinPackedVector.hpp.

CoinPackedVector operator+ | ( | double | value,
|  | const CoinPackedVectorBase & | op1
| ) |  |
| inline

Return the sum of a constant and a packed vector.

Definition at line 605 of file CoinPackedVector.hpp.

CoinPackedVector operator- | ( | double | value,
|  | const CoinPackedVectorBase & | op1
| ) |  |
| inline

Return the difference of a constant and a packed vector.

Definition at line 614 of file CoinPackedVector.hpp.

CoinPackedVector operator* | ( | double | value,
|  | const CoinPackedVectorBase & | op1
| ) |  |
| inline

Return the element-wise product of a constant and a packed vector.

Definition at line 627 of file CoinPackedVector.hpp.

CoinPackedVector operator/ | ( | double | value,
|  | const CoinPackedVectorBase & | op1
| ) |  |
| inline

Return the element-wise ratio of a a constant and packed vector.

Definition at line 636 of file CoinPackedVector.hpp.

void CoinPackedVectorUnitTest | ( |  | ) |

A function that tests the methods in the CoinPackedVector class.

The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging.