Diff of /src/eigen.cc [000000] .. [ede2d4]

Switch to unified view

a b/src/eigen.cc
1
//=============================================================================
2
//
3
// Copyright (c) 2020 Marco Colombo
4
//
5
// This program is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
//
18
//=============================================================================
19
20
#include <RcppEigen.h>
21
22
// [[Rcpp::export]]
23
Eigen::MatrixXd multiplyAB(const Eigen::Map<Eigen::MatrixXd>& A,
24
                           const Eigen::Map<Eigen::MatrixXd>& B) {
25
  return A * B;
26
}
27
28
// [[Rcpp::export]]
29
Eigen::MatrixXd multiplyAtB(const Eigen::Map<Eigen::MatrixXd>& A,
30
                            const Eigen::Map<Eigen::MatrixXd>& B) {
31
  return A.transpose() * B;
32
}
33
34
// [[Rcpp::export]]
35
Eigen::MatrixXd multiplyABt(const Eigen::Map<Eigen::MatrixXd>& A,
36
                            const Eigen::Map<Eigen::MatrixXd>& B) {
37
  return A * B.transpose();
38
}