From 0bf595bad5b2fdd082a16662c2a753acc443882e Mon Sep 17 00:00:00 2001
From: Justin Carpentier <justin.carpentier@inria.fr>
Date: Tue, 23 Mar 2021 23:00:46 +0100
Subject: [PATCH] core: expose boolean matrices

---
 CMakeLists.txt      |  3 ++-
 src/eigenpy.cpp     |  4 +++-
 src/matrix-bool.cpp | 14 ++++++++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 src/matrix-bool.cpp

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c45fa58f..7dfc8c49 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 #
 # Copyright (c) 2014-2019 CNRS
-# Copyright (c) 2018-2020 INRIA
+# Copyright (c) 2018-2021 INRIA
 #
 
 CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
@@ -163,6 +163,7 @@ SET(${PROJECT_NAME}_SOURCES
   src/matrix-double.cpp
   src/matrix-long-double.cpp
   src/matrix-complex-long-double.cpp
+  src/matrix-bool.cpp
   src/matrix-int.cpp
   src/matrix-long.cpp
   src/angle-axis.cpp
diff --git a/src/eigenpy.cpp b/src/eigenpy.cpp
index 805581fc..f152f9e2 100644
--- a/src/eigenpy.cpp
+++ b/src/eigenpy.cpp
@@ -1,6 +1,6 @@
 /*
  * Copyright 2014-2019, CNRS
- * Copyright 2018-2020, INRIA
+ * Copyright 2018-2021, INRIA
  */
 
 #include "eigenpy/eigenpy.hpp"
@@ -14,6 +14,7 @@ namespace eigenpy
     srand(seed_value);
   }
 
+  void exposeMatrixBool();
   void exposeMatrixInt();
   void exposeMatrixLong();
   void exposeMatrixFloat();
@@ -59,6 +60,7 @@ namespace eigenpy
     bp::def("seed",&seed,bp::arg("seed_value"),
             "Initialize the pseudo-random number generator with the argument seed_value.");
     
+    exposeMatrixBool();
     exposeMatrixInt();
     exposeMatrixLong();
     exposeMatrixFloat();
diff --git a/src/matrix-bool.cpp b/src/matrix-bool.cpp
new file mode 100644
index 00000000..7985df9a
--- /dev/null
+++ b/src/matrix-bool.cpp
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2021 INRIA
+ */
+
+#include "eigenpy/eigenpy.hpp"
+
+namespace eigenpy
+{
+  void exposeMatrixBool()
+  {
+    exposeType<bool>();
+    exposeType<bool,Eigen::RowMajor>();
+  }
+}
-- 
GitLab