| // 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. |
| |
| #pragma once |
| |
| #include "third_party/eigen/Eigen/Core" |
| #include "third_party/eigen/Eigen/SparseCore" |
| |
| namespace lossmin { |
| |
| // Arrays. |
| typedef Eigen::Array<bool, Eigen::Dynamic, 1> ArrayXb; |
| typedef Eigen::ArrayXf ArrayXf; |
| typedef Eigen::ArrayXd ArrayXd; |
| typedef Eigen::ArrayXi ArrayXi; |
| |
| // Vectors. |
| typedef Eigen::VectorXf VectorXf; |
| typedef Eigen::VectorXd VectorXd; |
| typedef Eigen::VectorXi VectorXi; |
| |
| // Sparse Vectors. |
| typedef Eigen::SparseVector<float> SparseVectorXf; |
| typedef Eigen::SparseVector<double> SparseVectorXd; |
| |
| // Matrix. |
| typedef Eigen::Matrix< |
| float, |
| Eigen::Dynamic, |
| Eigen::Dynamic, |
| Eigen::ColMajor> MatrixXf; |
| typedef Eigen::Matrix< |
| float, |
| Eigen::Dynamic, |
| Eigen::Dynamic, |
| Eigen::RowMajor> RowMatrixXf; |
| typedef Eigen::Matrix< |
| double, |
| Eigen::Dynamic, |
| Eigen::Dynamic, |
| Eigen::ColMajor> MatrixXd; |
| typedef Eigen::Matrix< |
| double, |
| Eigen::Dynamic, |
| Eigen::Dynamic, |
| Eigen::RowMajor> RowMatrixXd; |
| |
| // Instances and parameters. |
| typedef VectorXd Weights; |
| |
| typedef VectorXd Label; |
| typedef RowMatrixXd LabelSet; |
| |
| typedef Eigen::SparseVector<double> Instance; |
| typedef Eigen::SparseMatrix<double, Eigen::RowMajor> InstanceSet; |
| typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrixXd; |
| |
| } // namespace lossmin |