================ @@ -853,6 +853,45 @@ float3 degrees(float3); _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_degrees) float4 degrees(float4); +//===----------------------------------------------------------------------===// +// distance builtins +//===----------------------------------------------------------------------===// + +/// \fn K distance(T X, T Y) +/// \brief Returns a distance scalar between two vectors of \a X and \a Y. +/// \param X The X input value. +/// \param Y The Y input value. + +template <typename T> +constexpr __detail::enable_if_t< + __detail::is_same<float, T>::value || __detail::is_same<half, T>::value, T> +distance_impl(T X, T Y) { ---------------- farzonl wrote:
moving implementations to a separate header makes sense. It would simplify our ordering problem and issues with type promotion that can pop up when using the builtins on scalars. There isn't much in the `__detail` namespace yet so I don't know what the rules are for putting things there. https://github.com/llvm/llvm-project/pull/117240 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits