@cpp-linter/clang-tidy-win32-x64 21.1.0 → 23.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{21 → 23}/include/__clang_cuda_device_functions.h +1 -1
  5. package/lib/clang/{21 → 23}/include/__clang_cuda_intrinsics.h +207 -226
  6. package/lib/clang/{21 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  7. package/lib/clang/{21 → 23}/include/__clang_cuda_runtime_wrapper.h +27 -5
  8. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  9. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  10. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  11. package/lib/clang/{21 → 23}/include/__clang_hip_libdevice_declares.h +14 -121
  12. package/lib/clang/{21 → 23}/include/__clang_hip_math.h +5 -5
  13. package/lib/clang/{21 → 23}/include/__clang_hip_runtime_wrapper.h +9 -1
  14. package/lib/clang/{21 → 23}/include/__clang_spirv_builtins.h +12 -12
  15. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  16. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  17. package/lib/clang/{21/include/float.h → 23/include/__float_float.h} +13 -24
  18. package/lib/clang/23/include/__float_header_macro.h +12 -0
  19. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  20. package/lib/clang/{21 → 23}/include/altivec.h +79 -9
  21. package/lib/clang/{21 → 23}/include/amdgpuintrin.h +2 -29
  22. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  23. package/lib/clang/23/include/amo.h +220 -0
  24. package/lib/clang/{21 → 23}/include/amxavx512intrin.h +215 -1
  25. package/lib/clang/{21 → 23}/include/amxintrin.h +0 -2
  26. package/lib/clang/{21 → 23}/include/andes_vector.h +5 -0
  27. package/lib/clang/23/include/arm64_neon.h +21 -0
  28. package/lib/clang/{21 → 23}/include/arm64intr.h +10 -0
  29. package/lib/clang/{21 → 23}/include/arm_acle.h +38 -27
  30. package/lib/clang/{21 → 23}/include/arm_neon.h +4140 -3836
  31. package/lib/clang/{21 → 23}/include/arm_sme.h +20 -8
  32. package/lib/clang/{21 → 23}/include/arm_sve.h +4582 -3782
  33. package/lib/clang/{21 → 23}/include/avx10_2_512bf16intrin.h +19 -12
  34. package/lib/clang/{21 → 23}/include/avx10_2_512convertintrin.h +1 -1
  35. package/lib/clang/{21 → 23}/include/avx10_2_512niintrin.h +25 -25
  36. package/lib/clang/{21 → 23}/include/avx10_2_512satcvtdsintrin.h +1 -1
  37. package/lib/clang/{21 → 23}/include/avx10_2bf16intrin.h +54 -45
  38. package/lib/clang/{21 → 23}/include/avx10_2convertintrin.h +2 -2
  39. package/lib/clang/{21 → 23}/include/avx10_2copyintrin.h +1 -1
  40. package/lib/clang/{21 → 23}/include/avx10_2niintrin.h +2 -2
  41. package/lib/clang/{21 → 23}/include/avx10_2satcvtdsintrin.h +2 -2
  42. package/lib/clang/{21 → 23}/include/avx2intrin.h +279 -382
  43. package/lib/clang/{21 → 23}/include/avx512bf16intrin.h +25 -16
  44. package/lib/clang/{21 → 23}/include/avx512bitalgintrin.h +19 -30
  45. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  46. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  47. package/lib/clang/{21 → 23}/include/avx512bwintrin.h +405 -534
  48. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  49. package/lib/clang/{21 → 23}/include/avx512dqintrin.h +132 -161
  50. package/lib/clang/{21 → 23}/include/avx512fintrin.h +1049 -1485
  51. package/lib/clang/{21 → 23}/include/avx512fp16intrin.h +124 -128
  52. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  53. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  54. package/lib/clang/{21 → 23}/include/avx512vbmi2intrin.h +55 -48
  55. package/lib/clang/{21 → 23}/include/avx512vbmiintrin.h +19 -27
  56. package/lib/clang/{21 → 23}/include/avx512vbmivlintrin.h +35 -49
  57. package/lib/clang/{21 → 23}/include/avx512vlbf16intrin.h +32 -22
  58. package/lib/clang/{21 → 23}/include/avx512vlbitalgintrin.h +37 -53
  59. package/lib/clang/{21 → 23}/include/avx512vlbwintrin.h +494 -609
  60. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  61. package/lib/clang/{21 → 23}/include/avx512vldqintrin.h +110 -127
  62. package/lib/clang/{21 → 23}/include/avx512vlfp16intrin.h +130 -111
  63. package/lib/clang/{21 → 23}/include/avx512vlintrin.h +1025 -1395
  64. package/lib/clang/{21 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  65. package/lib/clang/{21 → 23}/include/avx512vlvnniintrin.h +50 -52
  66. package/lib/clang/{21 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  67. package/lib/clang/{21 → 23}/include/avx512vnniintrin.h +42 -45
  68. package/lib/clang/{21 → 23}/include/avx512vp2intersectintrin.h +2 -3
  69. package/lib/clang/{21 → 23}/include/avx512vpopcntdqintrin.h +8 -10
  70. package/lib/clang/{21 → 23}/include/avx512vpopcntdqvlintrin.h +17 -15
  71. package/lib/clang/{21 → 23}/include/avxifmaintrin.h +16 -0
  72. package/lib/clang/{21 → 23}/include/avxintrin.h +165 -241
  73. package/lib/clang/{21 → 23}/include/avxvnniint16intrin.h +118 -99
  74. package/lib/clang/{21 → 23}/include/avxvnniint8intrin.h +56 -32
  75. package/lib/clang/{21 → 23}/include/avxvnniintrin.h +39 -26
  76. package/lib/clang/{21 → 23}/include/cpuid.h +101 -4
  77. package/lib/clang/{21 → 23}/include/crc32intrin.h +10 -8
  78. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  79. package/lib/clang/{21 → 23}/include/emmintrin.h +176 -176
  80. package/lib/clang/23/include/endian.h +91 -0
  81. package/lib/clang/{21 → 23}/include/f16cintrin.h +23 -9
  82. package/lib/clang/23/include/float.h +48 -0
  83. package/lib/clang/23/include/fma4intrin.h +220 -0
  84. package/lib/clang/{21 → 23}/include/fmaintrin.h +96 -66
  85. package/lib/clang/{21 → 23}/include/gfniintrin.h +21 -16
  86. package/lib/clang/{21 → 23}/include/gpuintrin.h +129 -109
  87. package/lib/clang/{21 → 23}/include/hexagon_types.h +23 -20
  88. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  89. package/lib/clang/{21/include/hlsl/hlsl_alias_intrinsics.h → 23/include/hlsl/hlsl_alias_intrinsics_gen.inc} +2090 -1032
  90. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  91. package/lib/clang/{21 → 23}/include/hlsl/hlsl_compat_overloads.h +150 -18
  92. package/lib/clang/{21 → 23}/include/hlsl/hlsl_detail.h +6 -4
  93. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  94. package/lib/clang/{21 → 23}/include/hlsl/hlsl_intrinsic_helpers.h +71 -45
  95. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  96. package/lib/clang/{21 → 23}/include/hvx_hexagon_protos.h +724 -913
  97. package/lib/clang/{21 → 23}/include/immintrin.h +4 -14
  98. package/lib/clang/{21 → 23}/include/intrin.h +24 -10
  99. package/lib/clang/{21 → 23}/include/larchintrin.h +2 -0
  100. package/lib/clang/{21 → 23}/include/lasxintrin.h +113 -0
  101. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  102. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  103. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  104. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  105. package/lib/clang/23/include/llvm_libc_wrappers/stdlib.h +32 -0
  106. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  107. package/lib/clang/{21 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  108. package/lib/clang/{21 → 23}/include/mmintrin.h +188 -257
  109. package/lib/clang/{21 → 23}/include/module.modulemap +39 -5
  110. package/lib/clang/{21 → 23}/include/movrs_avx10_2_512intrin.h +2 -2
  111. package/lib/clang/{21 → 23}/include/movrs_avx10_2intrin.h +4 -4
  112. package/lib/clang/{21 → 23}/include/nvptxintrin.h +15 -26
  113. package/lib/clang/{21 → 23}/include/opencl-c-base.h +7 -93
  114. package/lib/clang/{21 → 23}/include/opencl-c.h +225 -118
  115. package/lib/clang/{21 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +14 -0
  116. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex +7 -1
  117. package/lib/clang/{21 → 23}/include/openmp_wrappers/complex.h +6 -0
  118. package/lib/clang/{21 → 23}/include/openmp_wrappers/math.h +10 -0
  119. package/lib/clang/{21 → 23}/include/pmmintrin.h +12 -24
  120. package/lib/clang/{21 → 23}/include/ptrauth.h +104 -12
  121. package/lib/clang/{21 → 23}/include/riscv_bitmanip.h +7 -0
  122. package/lib/clang/{21 → 23}/include/riscv_corev_alu.h +2 -0
  123. package/lib/clang/{21 → 23}/include/riscv_crypto.h +8 -0
  124. package/lib/clang/23/include/riscv_mips.h +36 -0
  125. package/lib/clang/23/include/riscv_nds.h +92 -0
  126. package/lib/clang/{21 → 23}/include/riscv_ntlh.h +2 -0
  127. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  128. package/lib/clang/{21 → 23}/include/riscv_vector.h +43 -0
  129. package/lib/clang/{21 → 23}/include/sifive_vector.h +76 -2
  130. package/lib/clang/{21 → 23}/include/sm4evexintrin.h +2 -2
  131. package/lib/clang/{21 → 23}/include/smmintrin.h +77 -59
  132. package/lib/clang/23/include/spirvintrin.h +167 -0
  133. package/lib/clang/23/include/stddefer.h +19 -0
  134. package/lib/clang/{21 → 23}/include/stdint.h +5 -14
  135. package/lib/clang/{21 → 23}/include/tmmintrin.h +116 -147
  136. package/lib/clang/{21 → 23}/include/vaesintrin.h +1 -2
  137. package/lib/clang/{21 → 23}/include/vecintrin.h +1 -1
  138. package/lib/clang/{21 → 23}/include/wasm_simd128.h +17 -0
  139. package/lib/clang/{21 → 23}/include/xmmintrin.h +50 -75
  140. package/lib/clang/{21 → 23}/include/xopintrin.h +20 -10
  141. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  142. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  143. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  144. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  145. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  146. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  147. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  148. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  149. package/package.json +6 -6
  150. package/lib/clang/21/include/__clang_cuda_complex_builtins.h +0 -285
  151. package/lib/clang/21/include/amxbf16transposeintrin.h +0 -94
  152. package/lib/clang/21/include/amxcomplextransposeintrin.h +0 -303
  153. package/lib/clang/21/include/amxfp16transposeintrin.h +0 -94
  154. package/lib/clang/21/include/amxmovrstransposeintrin.h +0 -200
  155. package/lib/clang/21/include/amxtf32intrin.h +0 -108
  156. package/lib/clang/21/include/amxtf32transposeintrin.h +0 -105
  157. package/lib/clang/21/include/amxtransposeintrin.h +0 -248
  158. package/lib/clang/21/include/avx512cdintrin.h +0 -125
  159. package/lib/clang/21/include/avx512ifmaintrin.h +0 -70
  160. package/lib/clang/21/include/avx512ifmavlintrin.h +0 -111
  161. package/lib/clang/21/include/avx512vlcdintrin.h +0 -230
  162. package/lib/clang/21/include/fma4intrin.h +0 -218
  163. package/lib/clang/21/include/hlsl/hlsl_basic_types.h +0 -120
  164. package/lib/clang/21/include/hlsl/hlsl_intrinsics.h +0 -526
  165. package/lib/clang/21/include/llvm_libc_wrappers/ctype.h +0 -140
  166. package/lib/clang/21/include/llvm_libc_wrappers/stdio.h +0 -80
  167. package/lib/clang/21/include/llvm_libc_wrappers/stdlib.h +0 -53
  168. package/lib/clang/21/include/llvm_libc_wrappers/string.h +0 -96
  169. /package/lib/clang/{21 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  170. /package/lib/clang/{21 → 23}/include/__clang_cuda_cmath.h +0 -0
  171. /package/lib/clang/{21 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  172. /package/lib/clang/{21 → 23}/include/__clang_cuda_math.h +0 -0
  173. /package/lib/clang/{21 → 23}/include/__clang_cuda_texture_intrinsics.h +0 -0
  174. /package/lib/clang/{21 → 23}/include/__clang_hip_cmath.h +0 -0
  175. /package/lib/clang/{21 → 23}/include/__clang_hip_stdlib.h +0 -0
  176. /package/lib/clang/{21 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  177. /package/lib/clang/{21 → 23}/include/__stdarg___va_copy.h +0 -0
  178. /package/lib/clang/{21 → 23}/include/__stdarg_header_macro.h +0 -0
  179. /package/lib/clang/{21 → 23}/include/__stdarg_va_arg.h +0 -0
  180. /package/lib/clang/{21 → 23}/include/__stdarg_va_copy.h +0 -0
  181. /package/lib/clang/{21 → 23}/include/__stdarg_va_list.h +0 -0
  182. /package/lib/clang/{21 → 23}/include/__stddef_header_macro.h +0 -0
  183. /package/lib/clang/{21 → 23}/include/__stddef_max_align_t.h +0 -0
  184. /package/lib/clang/{21 → 23}/include/__stddef_null.h +0 -0
  185. /package/lib/clang/{21 → 23}/include/__stddef_nullptr_t.h +0 -0
  186. /package/lib/clang/{21 → 23}/include/__stddef_offsetof.h +0 -0
  187. /package/lib/clang/{21 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  188. /package/lib/clang/{21 → 23}/include/__stddef_rsize_t.h +0 -0
  189. /package/lib/clang/{21 → 23}/include/__stddef_size_t.h +0 -0
  190. /package/lib/clang/{21 → 23}/include/__stddef_unreachable.h +0 -0
  191. /package/lib/clang/{21 → 23}/include/__stddef_wchar_t.h +0 -0
  192. /package/lib/clang/{21 → 23}/include/__stddef_wint_t.h +0 -0
  193. /package/lib/clang/{21 → 23}/include/__wmmintrin_aes.h +0 -0
  194. /package/lib/clang/{21 → 23}/include/__wmmintrin_pclmul.h +0 -0
  195. /package/lib/clang/{21 → 23}/include/adcintrin.h +0 -0
  196. /package/lib/clang/{21 → 23}/include/adxintrin.h +0 -0
  197. /package/lib/clang/{21 → 23}/include/ammintrin.h +0 -0
  198. /package/lib/clang/{21 → 23}/include/amxcomplexintrin.h +0 -0
  199. /package/lib/clang/{21 → 23}/include/amxfp16intrin.h +0 -0
  200. /package/lib/clang/{21 → 23}/include/amxfp8intrin.h +0 -0
  201. /package/lib/clang/{21 → 23}/include/amxmovrsintrin.h +0 -0
  202. /package/lib/clang/{21 → 23}/include/arm_bf16.h +0 -0
  203. /package/lib/clang/{21 → 23}/include/arm_cde.h +0 -0
  204. /package/lib/clang/{21 → 23}/include/arm_cmse.h +0 -0
  205. /package/lib/clang/{21 → 23}/include/arm_fp16.h +0 -0
  206. /package/lib/clang/{21 → 23}/include/arm_mve.h +0 -0
  207. /package/lib/clang/{21 → 23}/include/arm_neon_sve_bridge.h +0 -0
  208. /package/lib/clang/{21 → 23}/include/arm_vector_types.h +0 -0
  209. /package/lib/clang/{21 → 23}/include/armintr.h +0 -0
  210. /package/lib/clang/{21 → 23}/include/avx10_2_512minmaxintrin.h +0 -0
  211. /package/lib/clang/{21 → 23}/include/avx10_2_512satcvtintrin.h +0 -0
  212. /package/lib/clang/{21 → 23}/include/avx10_2minmaxintrin.h +0 -0
  213. /package/lib/clang/{21 → 23}/include/avx10_2satcvtintrin.h +0 -0
  214. /package/lib/clang/{21 → 23}/include/avxneconvertintrin.h +0 -0
  215. /package/lib/clang/{21 → 23}/include/bmi2intrin.h +0 -0
  216. /package/lib/clang/{21 → 23}/include/bmiintrin.h +0 -0
  217. /package/lib/clang/{21 → 23}/include/builtins.h +0 -0
  218. /package/lib/clang/{21 → 23}/include/cet.h +0 -0
  219. /package/lib/clang/{21 → 23}/include/cetintrin.h +0 -0
  220. /package/lib/clang/{21 → 23}/include/cldemoteintrin.h +0 -0
  221. /package/lib/clang/{21 → 23}/include/clflushoptintrin.h +0 -0
  222. /package/lib/clang/{21 → 23}/include/clwbintrin.h +0 -0
  223. /package/lib/clang/{21 → 23}/include/clzerointrin.h +0 -0
  224. /package/lib/clang/{21 → 23}/include/cmpccxaddintrin.h +0 -0
  225. /package/lib/clang/{21 → 23}/include/cuda_wrappers/algorithm +0 -0
  226. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  227. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  228. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/c++config.h +0 -0
  229. /package/lib/clang/{21 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  230. /package/lib/clang/{21 → 23}/include/cuda_wrappers/cmath +0 -0
  231. /package/lib/clang/{21 → 23}/include/cuda_wrappers/complex +0 -0
  232. /package/lib/clang/{21 → 23}/include/cuda_wrappers/new +0 -0
  233. /package/lib/clang/{21 → 23}/include/enqcmdintrin.h +0 -0
  234. /package/lib/clang/{21 → 23}/include/fxsrintrin.h +0 -0
  235. /package/lib/clang/{21 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  236. /package/lib/clang/{21 → 23}/include/hexagon_protos.h +0 -0
  237. /package/lib/clang/{21 → 23}/include/hlsl/hlsl_spirv.h +0 -0
  238. /package/lib/clang/{21 → 23}/include/hlsl.h +0 -0
  239. /package/lib/clang/{21 → 23}/include/hresetintrin.h +0 -0
  240. /package/lib/clang/{21 → 23}/include/htmintrin.h +0 -0
  241. /package/lib/clang/{21 → 23}/include/htmxlintrin.h +0 -0
  242. /package/lib/clang/{21 → 23}/include/ia32intrin.h +0 -0
  243. /package/lib/clang/{21 → 23}/include/intrin0.h +0 -0
  244. /package/lib/clang/{21 → 23}/include/inttypes.h +0 -0
  245. /package/lib/clang/{21 → 23}/include/invpcidintrin.h +0 -0
  246. /package/lib/clang/{21 → 23}/include/iso646.h +0 -0
  247. /package/lib/clang/{21 → 23}/include/keylockerintrin.h +0 -0
  248. /package/lib/clang/{21 → 23}/include/limits.h +0 -0
  249. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload.h +0 -0
  250. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_device.h +0 -0
  251. /package/lib/clang/{21 → 23}/include/llvm_offload_wrappers/__llvm_offload_host.h +0 -0
  252. /package/lib/clang/{21 → 23}/include/lsxintrin.h +0 -0
  253. /package/lib/clang/{21 → 23}/include/lwpintrin.h +0 -0
  254. /package/lib/clang/{21 → 23}/include/lzcntintrin.h +0 -0
  255. /package/lib/clang/{21 → 23}/include/mm3dnow.h +0 -0
  256. /package/lib/clang/{21 → 23}/include/mm_malloc.h +0 -0
  257. /package/lib/clang/{21 → 23}/include/movdirintrin.h +0 -0
  258. /package/lib/clang/{21 → 23}/include/movrsintrin.h +0 -0
  259. /package/lib/clang/{21 → 23}/include/msa.h +0 -0
  260. /package/lib/clang/{21 → 23}/include/mwaitxintrin.h +0 -0
  261. /package/lib/clang/{21 → 23}/include/nmmintrin.h +0 -0
  262. /package/lib/clang/{21 → 23}/include/openmp_wrappers/cmath +0 -0
  263. /package/lib/clang/{21 → 23}/include/openmp_wrappers/complex_cmath.h +0 -0
  264. /package/lib/clang/{21 → 23}/include/openmp_wrappers/new +0 -0
  265. /package/lib/clang/{21 → 23}/include/pconfigintrin.h +0 -0
  266. /package/lib/clang/{21 → 23}/include/pkuintrin.h +0 -0
  267. /package/lib/clang/{21 → 23}/include/popcntintrin.h +0 -0
  268. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  269. /package/lib/clang/{21 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  270. /package/lib/clang/{21 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  271. /package/lib/clang/{21 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  272. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  273. /package/lib/clang/{21 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  274. /package/lib/clang/{21 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  275. /package/lib/clang/{21 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  276. /package/lib/clang/{21 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  277. /package/lib/clang/{21 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  278. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  279. /package/lib/clang/{21 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  280. /package/lib/clang/{21 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  281. /package/lib/clang/{21 → 23}/include/prfchiintrin.h +0 -0
  282. /package/lib/clang/{21 → 23}/include/prfchwintrin.h +0 -0
  283. /package/lib/clang/{21 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{21 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{21 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{21 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{21 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{21 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{21 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{21 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{21 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{21 → 23}/include/shaintrin.h +0 -0
  293. /package/lib/clang/{21 → 23}/include/sm3intrin.h +0 -0
  294. /package/lib/clang/{21 → 23}/include/sm4intrin.h +0 -0
  295. /package/lib/clang/{21 → 23}/include/stdalign.h +0 -0
  296. /package/lib/clang/{21 → 23}/include/stdarg.h +0 -0
  297. /package/lib/clang/{21 → 23}/include/stdatomic.h +0 -0
  298. /package/lib/clang/{21 → 23}/include/stdbool.h +0 -0
  299. /package/lib/clang/{21 → 23}/include/stdckdint.h +0 -0
  300. /package/lib/clang/{21 → 23}/include/stdcountof.h +0 -0
  301. /package/lib/clang/{21 → 23}/include/stddef.h +0 -0
  302. /package/lib/clang/{21 → 23}/include/stdnoreturn.h +0 -0
  303. /package/lib/clang/{21 → 23}/include/tbmintrin.h +0 -0
  304. /package/lib/clang/{21 → 23}/include/tgmath.h +0 -0
  305. /package/lib/clang/{21 → 23}/include/tsxldtrkintrin.h +0 -0
  306. /package/lib/clang/{21 → 23}/include/uintrintrin.h +0 -0
  307. /package/lib/clang/{21 → 23}/include/unwind.h +0 -0
  308. /package/lib/clang/{21 → 23}/include/usermsrintrin.h +0 -0
  309. /package/lib/clang/{21 → 23}/include/vadefs.h +0 -0
  310. /package/lib/clang/{21 → 23}/include/varargs.h +0 -0
  311. /package/lib/clang/{21 → 23}/include/velintrin.h +0 -0
  312. /package/lib/clang/{21 → 23}/include/velintrin_approx.h +0 -0
  313. /package/lib/clang/{21 → 23}/include/velintrin_gen.h +0 -0
  314. /package/lib/clang/{21 → 23}/include/vpclmulqdqintrin.h +0 -0
  315. /package/lib/clang/{21 → 23}/include/waitpkgintrin.h +0 -0
  316. /package/lib/clang/{21 → 23}/include/wbnoinvdintrin.h +0 -0
  317. /package/lib/clang/{21 → 23}/include/wmmintrin.h +0 -0
  318. /package/lib/clang/{21 → 23}/include/x86gprintrin.h +0 -0
  319. /package/lib/clang/{21 → 23}/include/x86intrin.h +0 -0
  320. /package/lib/clang/{21 → 23}/include/xsavecintrin.h +0 -0
  321. /package/lib/clang/{21 → 23}/include/xsaveintrin.h +0 -0
  322. /package/lib/clang/{21 → 23}/include/xsaveoptintrin.h +0 -0
  323. /package/lib/clang/{21 → 23}/include/xsavesintrin.h +0 -0
  324. /package/lib/clang/{21 → 23}/include/xtestintrin.h +0 -0
  325. /package/lib/clang/{21 → 23}/include/yvals_core.h +0 -0
  326. /package/lib/clang/{21 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -0,0 +1,546 @@
1
+ // This file is auto-generated by clang-tblgen from HLSLIntrinsics.td.
2
+ // Do not edit this file directly.
3
+
4
+ /// \fn T abs(T Val)
5
+ /// \brief Returns the absolute value of the input value, \a Val.
6
+ /// \param Val The input value.
7
+ ///
8
+ /// Unsigned overload - unsigned values are already non-negative, so this
9
+ /// function returns its input unchanged.
10
+ // abs overloads
11
+ #ifdef __HLSL_ENABLE_16_BIT
12
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
13
+ constexpr uint16_t abs(uint16_t V) { return V; }
14
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
15
+ constexpr uint16_t2 abs(uint16_t2 V) { return V; }
16
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
17
+ constexpr uint16_t3 abs(uint16_t3 V) { return V; }
18
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
19
+ constexpr uint16_t4 abs(uint16_t4 V) { return V; }
20
+ #endif
21
+
22
+ constexpr uint abs(uint V) { return V; }
23
+ constexpr uint2 abs(uint2 V) { return V; }
24
+ constexpr uint3 abs(uint3 V) { return V; }
25
+ constexpr uint4 abs(uint4 V) { return V; }
26
+
27
+ constexpr uint64_t abs(uint64_t V) { return V; }
28
+ constexpr uint64_t2 abs(uint64_t2 V) { return V; }
29
+ constexpr uint64_t3 abs(uint64_t3 V) { return V; }
30
+ constexpr uint64_t4 abs(uint64_t4 V) { return V; }
31
+
32
+ /// \fn bool CheckAccessFullyMapped(uint Status)
33
+ /// \brief Checks whether the value is fully mapped.
34
+ /// \param Status The status value to check.
35
+ // CheckAccessFullyMapped overloads
36
+ inline bool CheckAccessFullyMapped(uint Status) { return static_cast<bool>(Status); }
37
+
38
+ /// \fn T countbits(T Val)
39
+ /// \brief Return the number of bits (per component) set in the input integer.
40
+ /// \param Val The input value.
41
+ // countbits overloads
42
+ #ifdef __HLSL_ENABLE_16_BIT
43
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
44
+ inline uint countbits(int16_t x) { return __builtin_elementwise_popcount(x); }
45
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
46
+ inline uint2 countbits(int16_t2 x) { return __builtin_elementwise_popcount(x); }
47
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
48
+ inline uint3 countbits(int16_t3 x) { return __builtin_elementwise_popcount(x); }
49
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
50
+ inline uint4 countbits(int16_t4 x) { return __builtin_elementwise_popcount(x); }
51
+
52
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
53
+ inline uint countbits(uint16_t x) { return __builtin_elementwise_popcount(x); }
54
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
55
+ inline uint2 countbits(uint16_t2 x) { return __builtin_elementwise_popcount(x); }
56
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
57
+ inline uint3 countbits(uint16_t3 x) { return __builtin_elementwise_popcount(x); }
58
+ _HLSL_AVAILABILITY(shadermodel, 6.2)
59
+ inline uint4 countbits(uint16_t4 x) { return __builtin_elementwise_popcount(x); }
60
+ #endif
61
+
62
+ inline uint countbits(int x) { return __builtin_elementwise_popcount(x); }
63
+ inline uint2 countbits(int2 x) { return __builtin_elementwise_popcount(x); }
64
+ inline uint3 countbits(int3 x) { return __builtin_elementwise_popcount(x); }
65
+ inline uint4 countbits(int4 x) { return __builtin_elementwise_popcount(x); }
66
+
67
+ inline uint countbits(uint x) { return __builtin_elementwise_popcount(x); }
68
+ inline uint2 countbits(uint2 x) { return __builtin_elementwise_popcount(x); }
69
+ inline uint3 countbits(uint3 x) { return __builtin_elementwise_popcount(x); }
70
+ inline uint4 countbits(uint4 x) { return __builtin_elementwise_popcount(x); }
71
+
72
+ inline uint countbits(int64_t x) { return __builtin_elementwise_popcount(x); }
73
+ inline uint2 countbits(int64_t2 x) { return __builtin_elementwise_popcount(x); }
74
+ inline uint3 countbits(int64_t3 x) { return __builtin_elementwise_popcount(x); }
75
+ inline uint4 countbits(int64_t4 x) { return __builtin_elementwise_popcount(x); }
76
+
77
+ inline uint countbits(uint64_t x) { return __builtin_elementwise_popcount(x); }
78
+ inline uint2 countbits(uint64_t2 x) { return __builtin_elementwise_popcount(x); }
79
+ inline uint3 countbits(uint64_t3 x) { return __builtin_elementwise_popcount(x); }
80
+ inline uint4 countbits(uint64_t4 x) { return __builtin_elementwise_popcount(x); }
81
+
82
+ /// \fn int4 D3DCOLORtoUBYTE4(float4 x)
83
+ /// \brief Converts a floating-point, 4D vector set by a D3DCOLOR to a UBYTE4.
84
+ /// \param x [in] The floating-point vector4 to convert.
85
+ ///
86
+ /// The return value is the UBYTE4 representation of the \a x parameter.
87
+ ///
88
+ /// This function swizzles and scales components of the \a x parameter. Use this
89
+ /// function to compensate for the lack of UBYTE4 support in some hardware.
90
+ // D3DCOLORtoUBYTE4 overloads
91
+ constexpr int4 D3DCOLORtoUBYTE4(float4 V) { return V.zyxw * 255.001953f; }
92
+
93
+ /// \fn T ddx(T x)
94
+ /// \brief Computes the partial derivative of the specified value with regard to
95
+ /// the screen-space x-coordinate.
96
+ /// \param x [in] The floating-point scalar or vector to process.
97
+ // ddx overloads
98
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
99
+ inline half ddx(half input) {
100
+ return __detail::ddx_impl(input);
101
+ }
102
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
103
+ inline half2 ddx(half2 input) {
104
+ return __detail::ddx_impl(input);
105
+ }
106
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
107
+ inline half3 ddx(half3 input) {
108
+ return __detail::ddx_impl(input);
109
+ }
110
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
111
+ inline half4 ddx(half4 input) {
112
+ return __detail::ddx_impl(input);
113
+ }
114
+
115
+ inline float ddx(float input) {
116
+ return __detail::ddx_impl(input);
117
+ }
118
+ inline float2 ddx(float2 input) {
119
+ return __detail::ddx_impl(input);
120
+ }
121
+ inline float3 ddx(float3 input) {
122
+ return __detail::ddx_impl(input);
123
+ }
124
+ inline float4 ddx(float4 input) {
125
+ return __detail::ddx_impl(input);
126
+ }
127
+
128
+ /// \fn T ddy(T x)
129
+ /// \brief Computes the partial derivative of the specified value with regard to
130
+ /// the screen-space y-coordinate.
131
+ /// \param x [in] The floating-point scalar or vector to process.
132
+ // ddy overloads
133
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
134
+ inline half ddy(half input) {
135
+ return __detail::ddy_impl(input);
136
+ }
137
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
138
+ inline half2 ddy(half2 input) {
139
+ return __detail::ddy_impl(input);
140
+ }
141
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
142
+ inline half3 ddy(half3 input) {
143
+ return __detail::ddy_impl(input);
144
+ }
145
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
146
+ inline half4 ddy(half4 input) {
147
+ return __detail::ddy_impl(input);
148
+ }
149
+
150
+ inline float ddy(float input) {
151
+ return __detail::ddy_impl(input);
152
+ }
153
+ inline float2 ddy(float2 input) {
154
+ return __detail::ddy_impl(input);
155
+ }
156
+ inline float3 ddy(float3 input) {
157
+ return __detail::ddy_impl(input);
158
+ }
159
+ inline float4 ddy(float4 input) {
160
+ return __detail::ddy_impl(input);
161
+ }
162
+
163
+ /// \fn K distance(T X, T Y)
164
+ /// \brief Returns a distance scalar between \a X and \a Y.
165
+ /// \param X The X input value.
166
+ /// \param Y The Y input value.
167
+ // distance overloads
168
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
169
+ inline half distance(half X, half Y) { return __detail::length_impl(X - Y); }
170
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
171
+ inline half distance(half2 X, half2 Y) { return __detail::length_impl(X - Y); }
172
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
173
+ inline half distance(half3 X, half3 Y) { return __detail::length_impl(X - Y); }
174
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
175
+ inline half distance(half4 X, half4 Y) { return __detail::length_impl(X - Y); }
176
+
177
+ inline float distance(float X, float Y) { return __detail::length_impl(X - Y); }
178
+ inline float distance(float2 X, float2 Y) { return __detail::length_impl(X - Y); }
179
+ inline float distance(float3 X, float3 Y) { return __detail::length_impl(X - Y); }
180
+ inline float distance(float4 X, float4 Y) { return __detail::length_impl(X - Y); }
181
+
182
+ /// \fn float dot2add(half2 A, half2 B, float Acc)
183
+ /// \brief Multiplies the elements of the two half-precision float input vectors
184
+ /// together and sums the results into the 32-bit float accumulator.
185
+ /// \param A The first input value to dot product.
186
+ /// \param B The second input value to dot product.
187
+ /// \param Acc The accumulator value added to the dot product.
188
+ ///
189
+ /// This instruction operates within a single 32-bit wide SIMD lane.
190
+ /// The inputs are 16-bit quantities packed into the same lane.
191
+ // dot2add overloads
192
+ _HLSL_AVAILABILITY(shadermodel, 6.4)
193
+ inline float dot2add(half2 A, half2 B, float Acc) {
194
+ return __detail::dot2add_impl(A, B, Acc);
195
+ }
196
+
197
+ /// \fn vector<T, 4> dst(vector<T, 4> Src0, vector<T, 4> Src1)
198
+ /// \brief Calculates a distance vector.
199
+ /// \param Src0 [in] Contains the squared distance.
200
+ /// \param Src1 [in] Contains the reciprocal distance.
201
+ ///
202
+ /// Return the computed distance vector.
203
+ // dst overloads
204
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
205
+ inline half4 dst(half4 Src0, half4 Src1) { return {1, Src0[1] * Src1[1], Src0[2], Src1[3]}; }
206
+
207
+ inline float4 dst(float4 Src0, float4 Src1) { return {1, Src0[1] * Src1[1], Src0[2], Src1[3]}; }
208
+
209
+ inline double4 dst(double4 Src0, double4 Src1) { return {1, Src0[1] * Src1[1], Src0[2], Src1[3]}; }
210
+
211
+ /// \fn T faceforward(T N, T I, T Ng)
212
+ /// \brief Flips the surface-normal (if needed) to face in a direction opposite
213
+ /// to \a I. Returns the result in terms of \a N.
214
+ /// \param N The resulting floating-point surface-normal vector.
215
+ /// \param I A floating-point, incident vector that points from the view
216
+ /// position to the shading position.
217
+ /// \param Ng A floating-point surface-normal vector.
218
+ ///
219
+ /// Return a floating-point, surface normal vector that is facing the view
220
+ /// direction.
221
+ // faceforward overloads
222
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
223
+ inline half faceforward(half N, half I, half Ng) {
224
+ return __detail::faceforward_impl(N, I, Ng);
225
+ }
226
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
227
+ inline half2 faceforward(half2 N, half2 I, half2 Ng) {
228
+ return __detail::faceforward_impl(N, I, Ng);
229
+ }
230
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
231
+ inline half3 faceforward(half3 N, half3 I, half3 Ng) {
232
+ return __detail::faceforward_impl(N, I, Ng);
233
+ }
234
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
235
+ inline half4 faceforward(half4 N, half4 I, half4 Ng) {
236
+ return __detail::faceforward_impl(N, I, Ng);
237
+ }
238
+
239
+ inline float faceforward(float N, float I, float Ng) {
240
+ return __detail::faceforward_impl(N, I, Ng);
241
+ }
242
+ inline float2 faceforward(float2 N, float2 I, float2 Ng) {
243
+ return __detail::faceforward_impl(N, I, Ng);
244
+ }
245
+ inline float3 faceforward(float3 N, float3 I, float3 Ng) {
246
+ return __detail::faceforward_impl(N, I, Ng);
247
+ }
248
+ inline float4 faceforward(float4 N, float4 I, float4 Ng) {
249
+ return __detail::faceforward_impl(N, I, Ng);
250
+ }
251
+
252
+ /// \fn T fmod(T x, T y)
253
+ /// \brief Returns the floating-point remainder of x/y.
254
+ /// \param x [in] The dividend.
255
+ /// \param y [in] The divisor.
256
+ ///
257
+ /// Return the floating-point remainder of the x parameter divided by the y
258
+ /// parameter.
259
+ // fmod overloads
260
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
261
+ inline half fmod(half X, half Y) {
262
+ return __detail::fmod_impl(X, Y);
263
+ }
264
+
265
+ inline float fmod(float X, float Y) {
266
+ return __detail::fmod_impl(X, Y);
267
+ }
268
+
269
+ // fmod overloads
270
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
271
+ inline half2 fmod(half2 X, half2 Y) {
272
+ return __detail::fmod_vec_impl(X, Y);
273
+ }
274
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
275
+ inline half3 fmod(half3 X, half3 Y) {
276
+ return __detail::fmod_vec_impl(X, Y);
277
+ }
278
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
279
+ inline half4 fmod(half4 X, half4 Y) {
280
+ return __detail::fmod_vec_impl(X, Y);
281
+ }
282
+
283
+ inline float2 fmod(float2 X, float2 Y) {
284
+ return __detail::fmod_vec_impl(X, Y);
285
+ }
286
+ inline float3 fmod(float3 X, float3 Y) {
287
+ return __detail::fmod_vec_impl(X, Y);
288
+ }
289
+ inline float4 fmod(float4 X, float4 Y) {
290
+ return __detail::fmod_vec_impl(X, Y);
291
+ }
292
+
293
+ /// \fn T fwidth(T x)
294
+ /// \brief Computes the sum of the absolute values of the partial derivatives
295
+ /// with regard to the x and y screen space coordinates.
296
+ /// \param x [in] The floating-point scalar or vector to process.
297
+ // fwidth overloads
298
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
299
+ inline half fwidth(half input) {
300
+ return __detail::fwidth_impl(input);
301
+ }
302
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
303
+ inline half2 fwidth(half2 input) {
304
+ return __detail::fwidth_impl(input);
305
+ }
306
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
307
+ inline half3 fwidth(half3 input) {
308
+ return __detail::fwidth_impl(input);
309
+ }
310
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
311
+ inline half4 fwidth(half4 input) {
312
+ return __detail::fwidth_impl(input);
313
+ }
314
+
315
+ inline float fwidth(float input) {
316
+ return __detail::fwidth_impl(input);
317
+ }
318
+ inline float2 fwidth(float2 input) {
319
+ return __detail::fwidth_impl(input);
320
+ }
321
+ inline float3 fwidth(float3 input) {
322
+ return __detail::fwidth_impl(input);
323
+ }
324
+ inline float4 fwidth(float4 input) {
325
+ return __detail::fwidth_impl(input);
326
+ }
327
+
328
+ /// \fn T ldexp(T X, T Exp)
329
+ /// \brief Returns the result of multiplying the specified value by two raised
330
+ /// to the power of the specified exponent.
331
+ /// \param X [in] The specified value.
332
+ /// \param Exp [in] The specified exponent.
333
+ ///
334
+ /// This function uses the following formula: X * 2^Exp
335
+ // ldexp overloads
336
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
337
+ inline half ldexp(half X, half Exp) { return exp2(Exp) * X; }
338
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
339
+ inline half2 ldexp(half2 X, half2 Exp) { return exp2(Exp) * X; }
340
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
341
+ inline half3 ldexp(half3 X, half3 Exp) { return exp2(Exp) * X; }
342
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
343
+ inline half4 ldexp(half4 X, half4 Exp) { return exp2(Exp) * X; }
344
+
345
+ inline float ldexp(float X, float Exp) { return exp2(Exp) * X; }
346
+ inline float2 ldexp(float2 X, float2 Exp) { return exp2(Exp) * X; }
347
+ inline float3 ldexp(float3 X, float3 Exp) { return exp2(Exp) * X; }
348
+ inline float4 ldexp(float4 X, float4 Exp) { return exp2(Exp) * X; }
349
+
350
+ /// \fn T length(T x)
351
+ /// \brief Returns the length of the specified floating-point vector.
352
+ /// \param x [in] The vector of floats, or a scalar float.
353
+ ///
354
+ /// Length is based on the following formula: sqrt(x[0]^2 + x[1]^2 + ...).
355
+ // length overloads
356
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
357
+ inline half length(half X) {
358
+ return __detail::length_impl(X);
359
+ }
360
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
361
+ inline half length(half2 X) {
362
+ return __detail::length_impl(X);
363
+ }
364
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
365
+ inline half length(half3 X) {
366
+ return __detail::length_impl(X);
367
+ }
368
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
369
+ inline half length(half4 X) {
370
+ return __detail::length_impl(X);
371
+ }
372
+
373
+ inline float length(float X) {
374
+ return __detail::length_impl(X);
375
+ }
376
+ inline float length(float2 X) {
377
+ return __detail::length_impl(X);
378
+ }
379
+ inline float length(float3 X) {
380
+ return __detail::length_impl(X);
381
+ }
382
+ inline float length(float4 X) {
383
+ return __detail::length_impl(X);
384
+ }
385
+
386
+ // lit overloads
387
+ inline float4 lit(float NDotL, float NDotH, float M) {
388
+ return __detail::lit_impl(NDotL, NDotH, M);
389
+ }
390
+
391
+ /// \fn vector<T, 4> lit(T NDotL, T NDotH, T M)
392
+ /// \brief Returns a lighting coefficient vector.
393
+ /// \param NDotL The dot product of the normalized surface normal and the
394
+ /// light vector.
395
+ /// \param NDotH The dot product of the half-angle vector and the surface
396
+ /// normal.
397
+ /// \param M A specular exponent.
398
+ ///
399
+ /// This function returns a lighting coefficient vector (ambient, diffuse,
400
+ /// specular, 1).
401
+ // lit overloads
402
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
403
+ inline half4 lit(half NDotL, half NDotH, half M) {
404
+ return __detail::lit_impl(NDotL, NDotH, M);
405
+ }
406
+
407
+ /// \fn T reflect(T I, T N)
408
+ /// \brief Returns a reflection using an incident ray, \a I, and a surface
409
+ /// normal, \a N.
410
+ /// \param I The incident ray.
411
+ /// \param N The surface normal.
412
+ ///
413
+ /// The return value is a floating-point vector that represents the reflection
414
+ /// of the incident ray, \a I, off a surface with the normal \a N.
415
+ ///
416
+ /// This function calculates the reflection vector using the following formula:
417
+ /// V = I - 2 * N * dot(I N) .
418
+ ///
419
+ /// N must already be normalized in order to achieve the desired result.
420
+ // reflect overloads
421
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
422
+ inline half reflect(half I, half N) {
423
+ return __detail::reflect_impl(I, N);
424
+ }
425
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
426
+ inline half2 reflect(half2 I, half2 N) {
427
+ return __detail::reflect_impl(I, N);
428
+ }
429
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
430
+ inline half3 reflect(half3 I, half3 N) {
431
+ return __detail::reflect_impl(I, N);
432
+ }
433
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
434
+ inline half4 reflect(half4 I, half4 N) {
435
+ return __detail::reflect_impl(I, N);
436
+ }
437
+
438
+ inline float reflect(float I, float N) {
439
+ return __detail::reflect_impl(I, N);
440
+ }
441
+ inline float2 reflect(float2 I, float2 N) {
442
+ return __detail::reflect_impl(I, N);
443
+ }
444
+ inline float3 reflect(float3 I, float3 N) {
445
+ return __detail::reflect_impl(I, N);
446
+ }
447
+ inline float4 reflect(float4 I, float4 N) {
448
+ return __detail::reflect_impl(I, N);
449
+ }
450
+
451
+ /// \fn T refract(T I, T N, T eta)
452
+ /// \brief Returns a refraction using an entering ray, \a I, a surface
453
+ /// normal, \a N and refraction index \a eta
454
+ /// \param I The entering ray.
455
+ /// \param N The surface normal.
456
+ /// \param eta The refraction index.
457
+ ///
458
+ /// The return value is a floating-point vector that represents the refraction
459
+ /// using the refraction index, \a eta, for the direction of the entering ray,
460
+ /// \a I, off a surface with the normal \a N.
461
+ ///
462
+ /// This function calculates the refraction vector using the following formulas:
463
+ /// k = 1.0 - eta * eta * (1.0 - dot(N, I) * dot(N, I))
464
+ /// if k < 0.0 the result is 0.0
465
+ /// otherwise, the result is eta * I - (eta * dot(N, I) + sqrt(k)) * N
466
+ ///
467
+ /// I and N must already be normalized in order to achieve the desired result.
468
+ ///
469
+ /// I and N must be a scalar or vector whose component type is
470
+ /// floating-point.
471
+ ///
472
+ /// eta must be a 16-bit or 32-bit floating-point scalar.
473
+ ///
474
+ /// Result type, the type of I, and the type of N must all be the same type.
475
+ // refract overloads
476
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
477
+ inline half refract(half I, half N, half eta) {
478
+ return __detail::refract_impl(I, N, eta);
479
+ }
480
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
481
+ inline half2 refract(half2 I, half2 N, half eta) {
482
+ return __detail::refract_impl(I, N, eta);
483
+ }
484
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
485
+ inline half3 refract(half3 I, half3 N, half eta) {
486
+ return __detail::refract_impl(I, N, eta);
487
+ }
488
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
489
+ inline half4 refract(half4 I, half4 N, half eta) {
490
+ return __detail::refract_impl(I, N, eta);
491
+ }
492
+
493
+ inline float refract(float I, float N, float eta) {
494
+ return __detail::refract_impl(I, N, eta);
495
+ }
496
+ inline float2 refract(float2 I, float2 N, float eta) {
497
+ return __detail::refract_impl(I, N, eta);
498
+ }
499
+ inline float3 refract(float3 I, float3 N, float eta) {
500
+ return __detail::refract_impl(I, N, eta);
501
+ }
502
+ inline float4 refract(float4 I, float4 N, float eta) {
503
+ return __detail::refract_impl(I, N, eta);
504
+ }
505
+
506
+ /// \fn T smoothstep(T Min, T Max, T X)
507
+ /// \brief Returns a smooth Hermite interpolation between 0 and 1, if \a X is in
508
+ /// the range [\a Min, \a Max].
509
+ /// \param Min The minimum range of the x parameter.
510
+ /// \param Max The maximum range of the x parameter.
511
+ /// \param X The specified value to be interpolated.
512
+ ///
513
+ /// The return value is 0.0 if \a X <= \a Min and 1.0 if \a X >= \a Max. When \a
514
+ /// Min < \a X < \a Max, the function performs smooth Hermite interpolation
515
+ /// between 0 and 1.
516
+ // smoothstep overloads
517
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
518
+ inline half smoothstep(half Min, half Max, half X) {
519
+ return __detail::smoothstep_impl(Min, Max, X);
520
+ }
521
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
522
+ inline half2 smoothstep(half2 Min, half2 Max, half2 X) {
523
+ return __detail::smoothstep_impl(Min, Max, X);
524
+ }
525
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
526
+ inline half3 smoothstep(half3 Min, half3 Max, half3 X) {
527
+ return __detail::smoothstep_impl(Min, Max, X);
528
+ }
529
+ _HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
530
+ inline half4 smoothstep(half4 Min, half4 Max, half4 X) {
531
+ return __detail::smoothstep_impl(Min, Max, X);
532
+ }
533
+
534
+ inline float smoothstep(float Min, float Max, float X) {
535
+ return __detail::smoothstep_impl(Min, Max, X);
536
+ }
537
+ inline float2 smoothstep(float2 Min, float2 Max, float2 X) {
538
+ return __detail::smoothstep_impl(Min, Max, X);
539
+ }
540
+ inline float3 smoothstep(float3 Min, float3 Max, float3 X) {
541
+ return __detail::smoothstep_impl(Min, Max, X);
542
+ }
543
+ inline float4 smoothstep(float4 Min, float4 Max, float4 X) {
544
+ return __detail::smoothstep_impl(Min, Max, X);
545
+ }
546
+