| // 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::ArrayXi ArrayXi; |
| |
| // Vectors. |
| typedef Eigen::VectorXf VectorXf; |
| typedef Eigen::VectorXi VectorXi; |
| |
| // Sparse Vectors. |
| typedef Eigen::SparseVector<float> SparseVectorXf; |
| |
| // Matrix. |
| typedef Eigen::Matrix< |
| float, |
| Eigen::Dynamic, |
| Eigen::Dynamic, |
| Eigen::ColMajor> MatrixXf; |
| typedef Eigen::Matrix< |
| float, |
| Eigen::Dynamic, |
| Eigen::Dynamic, |
| Eigen::RowMajor> RowMatrixXf; |
| |
| // Sparse Matrix. |
| typedef Eigen::SparseMatrix<float> SparseMatrixXf; |
| |
| // Instances and parameters. |
| typedef VectorXf Weights; |
| |
| typedef VectorXf Label; |
| typedef RowMatrixXf LabelSet; |
| |
| typedef Eigen::SparseVector<float> Instance; |
| typedef Eigen::SparseMatrix<float, Eigen::RowMajor> InstanceSet; |
| typedef Eigen::SparseMatrix<float, Eigen::ColMajor> SparseMatrixXf; |
| typedef Eigen::SparseVector<float> SparseVectorXf; |
| |
| } // namespace lossmin |
| |