From a57953aef73eec6f4088adb5bf42c2135ca67bcf Mon Sep 17 00:00:00 2001
From: thibault allenet <thibault.allenet@cea.fr>
Date: Mon, 15 Jan 2024 15:29:03 +0000
Subject: [PATCH] Add double and char cases for tensor creation and convertion
 functions

---
 src/utils/Utils.cpp | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/utils/Utils.cpp b/src/utils/Utils.cpp
index 7e886f2..af7809c 100644
--- a/src/utils/Utils.cpp
+++ b/src/utils/Utils.cpp
@@ -33,9 +33,9 @@ std::shared_ptr<Aidge::Tensor> Aidge::convertCpu(std::shared_ptr<Aidge::Tensor>
         case CV_8U:
             tensorCpu->setDataType(Aidge::DataType::UInt8);
             break;
-        // case CV_8S:
-        //     tensorCpu->setDataType(Aidge::DataType::Int8);
-        //     break;
+        case CV_8S:
+            tensorCpu->setDataType(Aidge::DataType::Int8);
+            break;
         case CV_16U:
             tensorCpu->setDataType(Aidge::DataType::UInt16);
             break;
@@ -48,9 +48,9 @@ std::shared_ptr<Aidge::Tensor> Aidge::convertCpu(std::shared_ptr<Aidge::Tensor>
         case CV_32F:
             tensorCpu->setDataType(Aidge::DataType::Float32);
             break;
-        // case CV_64F:
-        //     tensorCpu->setDataType(Aidge::DataType::Float64);
-        //     break;
+        case CV_64F:
+            tensorCpu->setDataType(Aidge::DataType::Float64);
+            break;
         default:
             throw std::runtime_error(
                 "Cannot convert cv::Mat to Tensor: incompatible types.");
@@ -69,9 +69,9 @@ std::shared_ptr<Aidge::Tensor> Aidge::convertCpu(std::shared_ptr<Aidge::Tensor>
         case CV_8U:
             convert<unsigned char>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
             break;
-        // case CV_8S:
-        //     convert<char>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
-        //     break;
+        case CV_8S:
+            convert<char>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
+            break;
         case CV_16U:
             convert<unsigned short>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
             break;
@@ -84,9 +84,9 @@ std::shared_ptr<Aidge::Tensor> Aidge::convertCpu(std::shared_ptr<Aidge::Tensor>
         case CV_32F:
             convert<float>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
             break;
-        // case CV_64F:
-        //     convert<double>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
-        //     break;
+        case CV_64F:
+            convert<double>(*itChannel, tensorCpu->getImpl()->rawPtr(), count*static_cast<std::size_t>((*itChannel).rows*(*itChannel).cols));
+            break;
         default:
             throw std::runtime_error(
                 "Cannot convert cv::Mat to Tensor: incompatible types.");
-- 
GitLab