blob: 5bedae9ae53b8228e76ca85f582207ea70f0fad3 [file] [log] [blame]
// 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_