libigl v2.5.0
Loading...
Searching...
No Matches
repdiag.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_REPDIAG_H
9#define IGL_REPDIAG_H
10#include "igl_inline.h"
11
12#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
13#include <Eigen/Dense>
14#include <Eigen/Sparse>
15
16namespace igl
17{
29 template <typename T>
31 const Eigen::SparseMatrix<T>& A,
32 const int d,
33 Eigen::SparseMatrix<T>& B);
35 template <typename T>
37 const Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic> & A,
38 const int d,
39 Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic> & B);
41 template <class Mat>
42 IGL_INLINE Mat repdiag(const Mat & A, const int d);
43}
44
45#ifndef IGL_STATIC_LIBRARY
46# include "repdiag.cpp"
47#endif
48
49#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void repdiag(const Eigen::SparseMatrix< T > &A, const int d, Eigen::SparseMatrix< T > &B)
Repeat a matrix along the diagonal a certain number of times, so that if A is a m by n matrix and we ...