clang 23.0.0git
hlsl_intrinsics.h File Reference
#include "hlsl/hlsl_intrinsic_helpers.h"
#include "hlsl_inline_intrinsics_gen.inc"

Go to the source code of this file.

Namespaces

namespace  hlsl

Functions

template<typename T, int N>
constexpr vector< float, N > hlsl::asfloat (vector< T, N > V)
template<typename T>
constexpr float hlsl::asfloat (T F)
 Interprets the bit pattern of x as float point number.
template<typename T, int N>
constexpr vector< int, N > hlsl::asint (vector< T, N > V)
template<typename T>
constexpr int hlsl::asint (T F)
 Interprets the bit pattern of x as an integer.
template<typename T, int N>
constexpr vector< uint, N > hlsl::asuint (vector< T, N > V)
template<typename T>
constexpr uint hlsl::asuint (T F)
 Interprets the bit pattern of x as an unsigned integer.
void hlsl::asuint (double, out uint, out uint)
void hlsl::asuint (double2, out uint2, out uint2)
void hlsl::asuint (double3, out uint3, out uint3)
void hlsl::asuint (double4, out uint4, out uint4)
template<typename T>
const __detail::enable_if_t< __detail::is_same< int, T >::value||__detail::is_same< uint, T >::value, uinthlsl::firstbithigh (T X)
 Returns the location of the first set bit starting from the lowest order bit and working upward, per component.
template<typename T, int N>
const __detail::enable_if_t< __detail::is_same< int, T >::value||__detail::is_same< uint, T >::value, vector< uint, N > > hlsl::firstbithigh (vector< T, N > X)
template<typename T>
const __detail::enable_if_t< __detail::is_same< int64_t, T >::value||__detail::is_same< uint64_t, T >::value, uinthlsl::firstbithigh (T X)
template<typename T, int N>
const __detail::enable_if_t< __detail::is_same< int64_t, T >::value||__detail::is_same< uint64_t, T >::value, vector< uint, N > > hlsl::firstbithigh (vector< T, N > X)
template<typename T>
constexpr __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::mul (T x, T y)
template<typename T>
constexpr __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&!__detail::is_same< half, T >::value, T > hlsl::mul (T x, T y)
template<int N>
constexpr vector< half, N > hlsl::mul (half x, vector< half, N > y)
template<typename T, int N>
constexpr vector< T, N > hlsl::mul (T x, vector< T, N > y)
template<int R, int C>
constexpr matrix< half, R, Chlsl::mul (half x, matrix< half, R, C > y)
template<typename T, int R, int C>
constexpr matrix< T, R, Chlsl::mul (T x, matrix< T, R, C > y)
template<int N>
constexpr vector< half, N > hlsl::mul (vector< half, N > x, half y)
template<typename T, int N>
constexpr vector< T, N > hlsl::mul (vector< T, N > x, T y)
template<int N>
half hlsl::mul (vector< half, N > x, vector< half, N > y)
template<typename T, int N>
hlsl::mul (vector< T, N > x, vector< T, N > y)
template<int R, int C>
constexpr matrix< half, R, Chlsl::mul (matrix< half, R, C > x, half y)
template<typename T, int R, int C>
constexpr matrix< T, R, Chlsl::mul (matrix< T, R, C > x, T y)