From 9bff619beea49ef6bb37a3a98eb231cd4f6931ba Mon Sep 17 00:00:00 2001 From: Dmitry Kurtaev Date: Tue, 16 Sep 2025 21:15:47 +0300 Subject: [PATCH] cudev types long, ulong --- modules/cudev/include/opencv2/cudev/util/saturate_cast.hpp | 2 ++ modules/cudev/include/opencv2/cudev/util/vec_traits.hpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/cudev/include/opencv2/cudev/util/saturate_cast.hpp b/modules/cudev/include/opencv2/cudev/util/saturate_cast.hpp index c256e7d908..00bbff3de9 100644 --- a/modules/cudev/include/opencv2/cudev/util/saturate_cast.hpp +++ b/modules/cudev/include/opencv2/cudev/util/saturate_cast.hpp @@ -62,6 +62,8 @@ template __device__ __forceinline__ T saturate_cast(ushort v) { ret template __device__ __forceinline__ T saturate_cast(short v) { return T(v); } template __device__ __forceinline__ T saturate_cast(uint v) { return T(v); } template __device__ __forceinline__ T saturate_cast(int v) { return T(v); } +template __device__ __forceinline__ T saturate_cast(signed long v) { return T(v); } +template __device__ __forceinline__ T saturate_cast(unsigned long v) { return T(v); } template __device__ __forceinline__ T saturate_cast(signed long long v) { return T(v); } template __device__ __forceinline__ T saturate_cast(unsigned long long v) { return T(v); } template __device__ __forceinline__ T saturate_cast(float v) { return T(v); } diff --git a/modules/cudev/include/opencv2/cudev/util/vec_traits.hpp b/modules/cudev/include/opencv2/cudev/util/vec_traits.hpp index 3fdd8f4a84..ea0a4dd418 100644 --- a/modules/cudev/include/opencv2/cudev/util/vec_traits.hpp +++ b/modules/cudev/include/opencv2/cudev/util/vec_traits.hpp @@ -50,7 +50,7 @@ #include "opencv2/core/cuda/cuda_compat.hpp" namespace cv { - + using cv::cuda::device::compat::double4; using cv::cuda::device::compat::make_double4; @@ -76,6 +76,8 @@ CV_CUDEV_MAKE_VEC_INST(int) CV_CUDEV_MAKE_VEC_INST(uint) CV_CUDEV_MAKE_VEC_INST(float) CV_CUDEV_MAKE_VEC_INST(double) +CV_CUDEV_MAKE_VEC_INST(long) +CV_CUDEV_MAKE_VEC_INST(ulong) #undef CV_CUDEV_MAKE_VEC_INST @@ -142,6 +144,8 @@ CV_CUDEV_VEC_TRAITS_INST(int) CV_CUDEV_VEC_TRAITS_INST(uint) CV_CUDEV_VEC_TRAITS_INST(float) CV_CUDEV_VEC_TRAITS_INST(double) +CV_CUDEV_VEC_TRAITS_INST(long) +CV_CUDEV_VEC_TRAITS_INST(ulong) #undef CV_CUDEV_VEC_TRAITS_INST