// // Copyright (C) 2011-15 DyND Developers // BSD 2-Clause License, see LICENSE.txt // #pragma once #include #include namespace dynd { namespace nd { template struct less_kernel : base_strided_kernel, 2> { typedef typename type_of::type arg0_type; typedef typename type_of::type arg1_type; typedef typename std::common_type::type common_type; void single(char *dst, char *const *src) { *reinterpret_cast(dst) = static_cast(*reinterpret_cast(src[0])) < static_cast(*reinterpret_cast(src[1])); } }; template struct less_kernel : base_strided_kernel, 2> { typedef typename type_of::type arg_type; void single(char *dst, char *const *src) { *reinterpret_cast(dst) = *reinterpret_cast(src[0]) < *reinterpret_cast(src[1]); } }; } // namespace dynd::nd namespace ndt { template struct traits> { static type equivalent() { return callable_type::make(make_type(), {type(Src0TypeID), type(Src1TypeID)}); } }; } // namespace dynd::ndt } // namespace dynd