// Copyright 2023-2025, Amlal El Mahrouss (amlal@nekernel.org) // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // Official repository: https://github.com/ocl-foss-org/core #ifndef OCL_CORE_EQUIV #define OCL_CORE_EQUIV #include /// @brief OCL equivalence namespace. namespace ocl { template struct is_real final { using type = T; static constexpr auto value = false; }; template struct equiv_to final { using left_type = L; using right_type = R; static constexpr auto value = false; }; template struct equiv_to final { static constexpr auto value = true; }; template <> struct is_real final { static constexpr auto value = true; }; template <> struct is_real final { static constexpr auto value = true; }; /// \brief alias equiv_to to boolean type. template using equiv_to_bool = equiv_to; } // namespace ocl #endif