| // Copyright 2014 Google Inc. All Rights Reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COBALT_SRC_LIB_LOSSMIN_EIGEN_TYPES_H_ |
| #define COBALT_SRC_LIB_LOSSMIN_EIGEN_TYPES_H_ |
| |
| #include "third_party/eigen/Eigen/Core" |
| #include "third_party/eigen/Eigen/SparseCore" |
| |
| namespace cobalt_lossmin { |
| |
| // Arrays. |
| using ArrayXb = Eigen::Array<bool, Eigen::Dynamic, 1>; |
| using ArrayXf = Eigen::ArrayXf; |
| using ArrayXd = Eigen::ArrayXd; |
| using ArrayXi = Eigen::ArrayXi; |
| |
| // Vectors. |
| using VectorXf = Eigen::VectorXf; |
| using VectorXd = Eigen::VectorXd; |
| using VectorXi = Eigen::VectorXi; |
| |
| // Sparse Vectors. |
| using SparseVectorXf = Eigen::SparseVector<float>; |
| using SparseVectorXd = Eigen::SparseVector<double>; |
| |
| // Matrix. |
| using MatrixXf = Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>; |
| using RowMatrixXf = Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>; |
| using MatrixXd = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>; |
| using RowMatrixXd = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>; |
| |
| // Instances and parameters. |
| using Weights = VectorXd; |
| |
| using Label = VectorXd; |
| using LabelSet = RowMatrixXd; |
| |
| using Instance = Eigen::SparseVector<double>; |
| using InstanceSet = Eigen::SparseMatrix<double, Eigen::RowMajor>; |
| using SparseMatrixXd = Eigen::SparseMatrix<double, Eigen::ColMajor>; |
| |
| } // namespace cobalt_lossmin |
| |
| #endif // COBALT_SRC_LIB_LOSSMIN_EIGEN_TYPES_H_ |