Tapkee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
synonyms.hpp
Go to the documentation of this file.
1 /* This software is distributed under BSD 3-clause license (see LICENSE file).
2  *
3  * Copyright (c) 2012-2013 Sergey Lisitsyn
4  */
5 
6 #ifndef TAPKEE_DEFINES_SYNONYMS_H_
7 #define TAPKEE_DEFINES_SYNONYMS_H_
8 
9 /* Tapkee includes */
10 #include <tapkee/defines/types.hpp>
12 /* End of Tapkee includes */
13 
14 namespace tapkee
15 {
16 namespace tapkee_internal
17 {
18 
19 #ifdef EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
20  template <typename T> struct Triplet
21  {
22  Triplet(IndexType colIndex, IndexType rowIndex, T valueT) :
23  col_(colIndex), row_(rowIndex), value_(valueT)
24  {
25  }
26  IndexType col() const { return col_; };
27  IndexType row() const { return row_; };
28  T value() const { return value_; };
29  IndexType col_;
30  IndexType row_;
31  T value_;
32  };
33  typedef Triplet<tapkee::ScalarType> SparseTriplet;
34 #else // EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
35  typedef Eigen::Triplet<tapkee::ScalarType> SparseTriplet;
36 #endif // EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
37 
38  typedef TAPKEE_INTERNAL_VECTOR<tapkee::tapkee_internal::SparseTriplet> SparseTriplets;
39  typedef TAPKEE_INTERNAL_VECTOR<tapkee::IndexType> LocalNeighbors;
40  typedef TAPKEE_INTERNAL_VECTOR<tapkee::tapkee_internal::LocalNeighbors> Neighbors;
41  typedef TAPKEE_INTERNAL_PAIR<tapkee::DenseMatrix,tapkee::DenseVector> EigendecompositionResult;
42  typedef TAPKEE_INTERNAL_VECTOR<tapkee::IndexType> Landmarks;
43  typedef TAPKEE_INTERNAL_PAIR<tapkee::SparseWeightMatrix,tapkee::DenseDiagonalMatrix> Laplacian;
44  typedef TAPKEE_INTERNAL_PAIR<tapkee::DenseSymmetricMatrix,tapkee::DenseSymmetricMatrix> DenseSymmetricMatrixPair;
45  typedef TAPKEE_INTERNAL_PAIR<tapkee::SparseMatrix,tapkee::tapkee_internal::Neighbors> SparseMatrixNeighborsPair;
46 
47 #if defined(TAPKEE_USE_PRIORITY_QUEUE) && defined(TAPKEE_USE_FIBONACCI_HEAP)
48  #error "Can't use both priority queue and fibonacci heap at the same time"
49 #endif
50 #if !defined(TAPKEE_USE_PRIORITY_QUEUE) && !defined(TAPKEE_USE_FIBONACCI_HEAP)
51  #define TAPKEE_USE_PRIORITY_QUEUE
52 #endif
53 
54 } // End of namespace tapkee_internal
55 
56 }
57 
58 #endif
TAPKEE_INTERNAL_VECTOR< tapkee::tapkee_internal::SparseTriplet > SparseTriplets
Definition: synonyms.hpp:38
TAPKEE_INTERNAL_PAIR< tapkee::SparseWeightMatrix, tapkee::DenseDiagonalMatrix > Laplacian
Definition: synonyms.hpp:43
TAPKEE_INTERNAL_PAIR< tapkee::DenseSymmetricMatrix, tapkee::DenseSymmetricMatrix > DenseSymmetricMatrixPair
Definition: synonyms.hpp:44
TAPKEE_INTERNAL_VECTOR< tapkee::IndexType > LocalNeighbors
Definition: synonyms.hpp:39
int IndexType
indexing type (non-overridable) set to int for compatibility with OpenMP 2.0
Definition: types.hpp:19
Eigen::Triplet< tapkee::ScalarType > SparseTriplet
Definition: synonyms.hpp:35
TAPKEE_INTERNAL_VECTOR< tapkee::tapkee_internal::LocalNeighbors > Neighbors
Definition: synonyms.hpp:40
TAPKEE_INTERNAL_PAIR< tapkee::SparseMatrix, tapkee::tapkee_internal::Neighbors > SparseMatrixNeighborsPair
Definition: synonyms.hpp:45
TAPKEE_INTERNAL_PAIR< tapkee::DenseMatrix, tapkee::DenseVector > EigendecompositionResult
Definition: synonyms.hpp:41
TAPKEE_INTERNAL_VECTOR< tapkee::IndexType > Landmarks
Definition: synonyms.hpp:42