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