noobs 0.0.6

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 (185) hide show
  1. package/COPYING +339 -0
  2. package/README.md +46 -0
  3. package/bin/64bit/obs.lib +0 -0
  4. package/binding.gyp +23 -0
  5. package/dist/bin/Qt6Core.dll +0 -0
  6. package/dist/bin/Qt6Gui.dll +0 -0
  7. package/dist/bin/Qt6Network.dll +0 -0
  8. package/dist/bin/Qt6Svg.dll +0 -0
  9. package/dist/bin/Qt6Widgets.dll +0 -0
  10. package/dist/bin/Qt6Xml.dll +0 -0
  11. package/dist/bin/avcodec-61.dll +0 -0
  12. package/dist/bin/avdevice-61.dll +0 -0
  13. package/dist/bin/avfilter-10.dll +0 -0
  14. package/dist/bin/avformat-61.dll +0 -0
  15. package/dist/bin/avutil-59.dll +0 -0
  16. package/dist/bin/datachannel.dll +0 -0
  17. package/dist/bin/libcurl.dll +0 -0
  18. package/dist/bin/libobs-d3d11.dll +0 -0
  19. package/dist/bin/libobs-opengl.dll +0 -0
  20. package/dist/bin/libobs-winrt.dll +0 -0
  21. package/dist/bin/librist.dll +0 -0
  22. package/dist/bin/libx264-164.dll +0 -0
  23. package/dist/bin/lua51.dll +0 -0
  24. package/dist/bin/obs-amf-test.exe +0 -0
  25. package/dist/bin/obs-ffmpeg-mux.exe +0 -0
  26. package/dist/bin/obs-frontend-api.dll +0 -0
  27. package/dist/bin/obs-scripting.dll +0 -0
  28. package/dist/bin/obs.dll +0 -0
  29. package/dist/bin/srt.dll +0 -0
  30. package/dist/bin/swresample-5.dll +0 -0
  31. package/dist/bin/swscale-8.dll +0 -0
  32. package/dist/bin/w32-pthreads.dll +0 -0
  33. package/dist/bin/zlib.dll +0 -0
  34. package/dist/effects/area.effect +250 -0
  35. package/dist/effects/bicubic_scale.effect +236 -0
  36. package/dist/effects/bilinear_lowres_scale.effect +123 -0
  37. package/dist/effects/color.effect +172 -0
  38. package/dist/effects/default.effect +254 -0
  39. package/dist/effects/default_rect.effect +84 -0
  40. package/dist/effects/deinterlace_base.effect +325 -0
  41. package/dist/effects/deinterlace_blend.effect +21 -0
  42. package/dist/effects/deinterlace_blend_2x.effect +21 -0
  43. package/dist/effects/deinterlace_discard.effect +21 -0
  44. package/dist/effects/deinterlace_discard_2x.effect +21 -0
  45. package/dist/effects/deinterlace_linear.effect +21 -0
  46. package/dist/effects/deinterlace_linear_2x.effect +21 -0
  47. package/dist/effects/deinterlace_yadif.effect +21 -0
  48. package/dist/effects/deinterlace_yadif_2x.effect +21 -0
  49. package/dist/effects/format_conversion.effect +1823 -0
  50. package/dist/effects/lanczos_scale.effect +292 -0
  51. package/dist/effects/opaque.effect +159 -0
  52. package/dist/effects/premultiplied_alpha.effect +38 -0
  53. package/dist/effects/repeat.effect +36 -0
  54. package/dist/effects/solid.effect +80 -0
  55. package/dist/noobs.node +0 -0
  56. package/dist/plugins/obs-ffmpeg.dll +0 -0
  57. package/dist/plugins/obs-x264.dll +0 -0
  58. package/dist/plugins/win-capture.dll +0 -0
  59. package/include/audio-monitoring/osx/mac-helpers.h +13 -0
  60. package/include/audio-monitoring/pulse/pulseaudio-wrapper.h +212 -0
  61. package/include/audio-monitoring/win32/wasapi-output.h +22 -0
  62. package/include/callback/calldata.h +195 -0
  63. package/include/callback/decl.h +61 -0
  64. package/include/callback/proc.h +52 -0
  65. package/include/callback/signal.h +73 -0
  66. package/include/graphics/axisang.h +65 -0
  67. package/include/graphics/bounds.h +108 -0
  68. package/include/graphics/device-exports.h +177 -0
  69. package/include/graphics/effect-parser.h +290 -0
  70. package/include/graphics/effect.h +190 -0
  71. package/include/graphics/graphics-internal.h +335 -0
  72. package/include/graphics/graphics.h +1024 -0
  73. package/include/graphics/half.h +100 -0
  74. package/include/graphics/image-file.h +124 -0
  75. package/include/graphics/input.h +34 -0
  76. package/include/graphics/libnsgif/libnsgif.h +142 -0
  77. package/include/graphics/math-defs.h +45 -0
  78. package/include/graphics/math-extra.h +61 -0
  79. package/include/graphics/matrix3.h +98 -0
  80. package/include/graphics/matrix4.h +102 -0
  81. package/include/graphics/plane.h +85 -0
  82. package/include/graphics/quat.h +170 -0
  83. package/include/graphics/shader-parser.h +273 -0
  84. package/include/graphics/srgb.h +177 -0
  85. package/include/graphics/vec2.h +148 -0
  86. package/include/graphics/vec3.h +224 -0
  87. package/include/graphics/vec4.h +241 -0
  88. package/include/media-io/audio-io.h +228 -0
  89. package/include/media-io/audio-math.h +43 -0
  90. package/include/media-io/audio-resampler.h +44 -0
  91. package/include/media-io/format-conversion.h +50 -0
  92. package/include/media-io/frame-rate.h +29 -0
  93. package/include/media-io/media-io-defs.h +20 -0
  94. package/include/media-io/media-remux.h +37 -0
  95. package/include/media-io/video-frame.h +64 -0
  96. package/include/media-io/video-io.h +338 -0
  97. package/include/media-io/video-scaler.h +43 -0
  98. package/include/obs-audio-controls.h +250 -0
  99. package/include/obs-av1.h +47 -0
  100. package/include/obs-avc.h +55 -0
  101. package/include/obs-config.h +52 -0
  102. package/include/obs-data.h +311 -0
  103. package/include/obs-defs.h +52 -0
  104. package/include/obs-encoder.h +361 -0
  105. package/include/obs-ffmpeg-compat.h +13 -0
  106. package/include/obs-hevc.h +81 -0
  107. package/include/obs-hotkey.h +271 -0
  108. package/include/obs-hotkeys.h +653 -0
  109. package/include/obs-interaction.h +56 -0
  110. package/include/obs-internal.h +1459 -0
  111. package/include/obs-missing-files.h +53 -0
  112. package/include/obs-module.h +181 -0
  113. package/include/obs-nal.h +37 -0
  114. package/include/obs-nix-platform.h +53 -0
  115. package/include/obs-nix-wayland.h +24 -0
  116. package/include/obs-nix-x11.h +22 -0
  117. package/include/obs-nix.h +42 -0
  118. package/include/obs-output.h +96 -0
  119. package/include/obs-properties.h +364 -0
  120. package/include/obs-scene.h +127 -0
  121. package/include/obs-service.h +115 -0
  122. package/include/obs-source.h +568 -0
  123. package/include/obs.h +2608 -0
  124. package/include/obsconfig.h +13 -0
  125. package/include/obsversion.h +5 -0
  126. package/include/util/apple/cfstring-utils.h +16 -0
  127. package/include/util/array-serializer.h +37 -0
  128. package/include/util/base.h +97 -0
  129. package/include/util/bitstream.h +28 -0
  130. package/include/util/bmem.h +94 -0
  131. package/include/util/buffered-file-serializer.h +32 -0
  132. package/include/util/c99defs.h +75 -0
  133. package/include/util/cf-lexer.h +199 -0
  134. package/include/util/cf-parser.h +281 -0
  135. package/include/util/circlebuf.h +319 -0
  136. package/include/util/config-file.h +103 -0
  137. package/include/util/crc32.h +29 -0
  138. package/include/util/curl/curl-helper.h +35 -0
  139. package/include/util/darray.h +606 -0
  140. package/include/util/deque.h +319 -0
  141. package/include/util/dstr.h +320 -0
  142. package/include/util/file-serializer.h +34 -0
  143. package/include/util/lexer.h +273 -0
  144. package/include/util/pipe.h +52 -0
  145. package/include/util/platform.h +223 -0
  146. package/include/util/profiler.h +97 -0
  147. package/include/util/serializer.h +158 -0
  148. package/include/util/simde/check.h +285 -0
  149. package/include/util/simde/debug-trap.h +117 -0
  150. package/include/util/simde/hedley.h +2123 -0
  151. package/include/util/simde/simde-align.h +481 -0
  152. package/include/util/simde/simde-arch.h +537 -0
  153. package/include/util/simde/simde-common.h +918 -0
  154. package/include/util/simde/simde-constify.h +925 -0
  155. package/include/util/simde/simde-detect-clang.h +114 -0
  156. package/include/util/simde/simde-diagnostic.h +447 -0
  157. package/include/util/simde/simde-features.h +550 -0
  158. package/include/util/simde/simde-math.h +1858 -0
  159. package/include/util/simde/x86/mmx.h +2456 -0
  160. package/include/util/simde/x86/sse.h +4479 -0
  161. package/include/util/simde/x86/sse2.h +7549 -0
  162. package/include/util/source-profiler.h +66 -0
  163. package/include/util/sse-intrin.h +32 -0
  164. package/include/util/task.h +22 -0
  165. package/include/util/text-lookup.h +45 -0
  166. package/include/util/threading-posix.h +77 -0
  167. package/include/util/threading-windows.h +142 -0
  168. package/include/util/threading.h +103 -0
  169. package/include/util/utf8.h +35 -0
  170. package/include/util/uthash.h +34 -0
  171. package/include/util/util_uint128.h +108 -0
  172. package/include/util/util_uint64.h +34 -0
  173. package/include/util/windows/device-enum.h +14 -0
  174. package/include/util/windows/obfuscate.h +16 -0
  175. package/include/util/windows/win-registry.h +37 -0
  176. package/include/util/windows/win-version.h +57 -0
  177. package/include/util/windows/window-helpers.h +47 -0
  178. package/index.d.ts +38 -0
  179. package/index.js +8 -0
  180. package/package.json +31 -0
  181. package/src/main.cpp +321 -0
  182. package/src/obs_interface.cpp +605 -0
  183. package/src/obs_interface.h +74 -0
  184. package/src/utils.cpp +80 -0
  185. package/src/utils.h +3 -0
@@ -0,0 +1,537 @@
1
+ /* Architecture detection
2
+ * Created by Evan Nemerson <evan@nemerson.com>
3
+ *
4
+ * To the extent possible under law, the authors have waived all
5
+ * copyright and related or neighboring rights to this code. For
6
+ * details, see the Creative Commons Zero 1.0 Universal license at
7
+ * <https://creativecommons.org/publicdomain/zero/1.0/>
8
+ *
9
+ * SPDX-License-Identifier: CC0-1.0
10
+ *
11
+ * Different compilers define different preprocessor macros for the
12
+ * same architecture. This is an attempt to provide a single
13
+ * interface which is usable on any compiler.
14
+ *
15
+ * In general, a macro named SIMDE_ARCH_* is defined for each
16
+ * architecture the CPU supports. When there are multiple possible
17
+ * versions, we try to define the macro to the target version. For
18
+ * example, if you want to check for i586+, you could do something
19
+ * like:
20
+ *
21
+ * #if defined(SIMDE_ARCH_X86) && (SIMDE_ARCH_X86 >= 5)
22
+ * ...
23
+ * #endif
24
+ *
25
+ * You could also just check that SIMDE_ARCH_X86 >= 5 without checking
26
+ * if it's defined first, but some compilers may emit a warning about
27
+ * an undefined macro being used (e.g., GCC with -Wundef).
28
+ *
29
+ * This was originally created for SIMDe
30
+ * <https://github.com/simd-everywhere/simde> (hence the prefix), but this
31
+ * header has no dependencies and may be used anywhere. It is
32
+ * originally based on information from
33
+ * <https://sourceforge.net/p/predef/wiki/Architectures/>, though it
34
+ * has been enhanced with additional information.
35
+ *
36
+ * If you improve this file, or find a bug, please file the issue at
37
+ * <https://github.com/simd-everywhere/simde/issues>. If you copy this into
38
+ * your project, even if you change the prefix, please keep the links
39
+ * to SIMDe intact so others know where to report issues, submit
40
+ * enhancements, and find the latest version. */
41
+
42
+ #if !defined(SIMDE_ARCH_H)
43
+ #define SIMDE_ARCH_H
44
+
45
+ /* Alpha
46
+ <https://en.wikipedia.org/wiki/DEC_Alpha> */
47
+ #if defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
48
+ #if defined(__alpha_ev6__)
49
+ #define SIMDE_ARCH_ALPHA 6
50
+ #elif defined(__alpha_ev5__)
51
+ #define SIMDE_ARCH_ALPHA 5
52
+ #elif defined(__alpha_ev4__)
53
+ #define SIMDE_ARCH_ALPHA 4
54
+ #else
55
+ #define SIMDE_ARCH_ALPHA 1
56
+ #endif
57
+ #endif
58
+ #if defined(SIMDE_ARCH_ALPHA)
59
+ #define SIMDE_ARCH_ALPHA_CHECK(version) ((version) <= SIMDE_ARCH_ALPHA)
60
+ #else
61
+ #define SIMDE_ARCH_ALPHA_CHECK(version) (0)
62
+ #endif
63
+
64
+ /* Atmel AVR
65
+ <https://en.wikipedia.org/wiki/Atmel_AVR> */
66
+ #if defined(__AVR_ARCH__)
67
+ #define SIMDE_ARCH_AVR __AVR_ARCH__
68
+ #endif
69
+
70
+ /* AMD64 / x86_64
71
+ <https://en.wikipedia.org/wiki/X86-64> */
72
+ #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || \
73
+ defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)
74
+ #define SIMDE_ARCH_AMD64 1000
75
+ #endif
76
+
77
+ /* ARM
78
+ <https://en.wikipedia.org/wiki/ARM_architecture> */
79
+ #if defined(__ARM_ARCH_8A__)
80
+ #define SIMDE_ARCH_ARM 82
81
+ #elif defined(__ARM_ARCH_8R__)
82
+ #define SIMDE_ARCH_ARM 81
83
+ #elif defined(__ARM_ARCH_8__)
84
+ #define SIMDE_ARCH_ARM 80
85
+ #elif defined(__ARM_ARCH_7S__)
86
+ #define SIMDE_ARCH_ARM 74
87
+ #elif defined(__ARM_ARCH_7M__)
88
+ #define SIMDE_ARCH_ARM 73
89
+ #elif defined(__ARM_ARCH_7R__)
90
+ #define SIMDE_ARCH_ARM 72
91
+ #elif defined(__ARM_ARCH_7A__)
92
+ #define SIMDE_ARCH_ARM 71
93
+ #elif defined(__ARM_ARCH_7__)
94
+ #define SIMDE_ARCH_ARM 70
95
+ #elif defined(__ARM_ARCH)
96
+ #define SIMDE_ARCH_ARM (__ARM_ARCH * 10)
97
+ #elif defined(_M_ARM)
98
+ #define SIMDE_ARCH_ARM (_M_ARM * 10)
99
+ #elif defined(__arm__) || defined(__thumb__) || defined(__TARGET_ARCH_ARM) || \
100
+ defined(_ARM) || defined(_M_ARM) || defined(_M_ARM)
101
+ #define SIMDE_ARCH_ARM 1
102
+ #endif
103
+ #if defined(SIMDE_ARCH_ARM)
104
+ #define SIMDE_ARCH_ARM_CHECK(version) ((version) <= SIMDE_ARCH_ARM)
105
+ #else
106
+ #define SIMDE_ARCH_ARM_CHECK(version) (0)
107
+ #endif
108
+
109
+ /* AArch64
110
+ <https://en.wikipedia.org/wiki/ARM_architecture> */
111
+ #if defined(__aarch64__) || defined(_M_ARM64)
112
+ #define SIMDE_ARCH_AARCH64 1000
113
+ #endif
114
+ #if defined(SIMDE_ARCH_AARCH64)
115
+ #define SIMDE_ARCH_AARCH64_CHECK(version) ((version) <= SIMDE_ARCH_AARCH64)
116
+ #else
117
+ #define SIMDE_ARCH_AARCH64_CHECK(version) (0)
118
+ #endif
119
+
120
+ /* ARM SIMD ISA extensions */
121
+ #if defined(__ARM_NEON)
122
+ #if defined(SIMDE_ARCH_AARCH64)
123
+ #define SIMDE_ARCH_ARM_NEON SIMDE_ARCH_AARCH64
124
+ #elif defined(SIMDE_ARCH_ARM)
125
+ #define SIMDE_ARCH_ARM_NEON SIMDE_ARCH_ARM
126
+ #endif
127
+ #endif
128
+ #if defined(__ARM_FEATURE_SVE)
129
+ #define SIMDE_ARCH_ARM_SVE
130
+ #endif
131
+
132
+ /* Blackfin
133
+ <https://en.wikipedia.org/wiki/Blackfin> */
134
+ #if defined(__bfin) || defined(__BFIN__) || defined(__bfin__)
135
+ #define SIMDE_ARCH_BLACKFIN 1
136
+ #endif
137
+
138
+ /* CRIS
139
+ <https://en.wikipedia.org/wiki/ETRAX_CRIS> */
140
+ #if defined(__CRIS_arch_version)
141
+ #define SIMDE_ARCH_CRIS __CRIS_arch_version
142
+ #elif defined(__cris__) || defined(__cris) || defined(__CRIS) || \
143
+ defined(__CRIS__)
144
+ #define SIMDE_ARCH_CRIS 1
145
+ #endif
146
+
147
+ /* Convex
148
+ <https://en.wikipedia.org/wiki/Convex_Computer> */
149
+ #if defined(__convex_c38__)
150
+ #define SIMDE_ARCH_CONVEX 38
151
+ #elif defined(__convex_c34__)
152
+ #define SIMDE_ARCH_CONVEX 34
153
+ #elif defined(__convex_c32__)
154
+ #define SIMDE_ARCH_CONVEX 32
155
+ #elif defined(__convex_c2__)
156
+ #define SIMDE_ARCH_CONVEX 2
157
+ #elif defined(__convex__)
158
+ #define SIMDE_ARCH_CONVEX 1
159
+ #endif
160
+ #if defined(SIMDE_ARCH_CONVEX)
161
+ #define SIMDE_ARCH_CONVEX_CHECK(version) ((version) <= SIMDE_ARCH_CONVEX)
162
+ #else
163
+ #define SIMDE_ARCH_CONVEX_CHECK(version) (0)
164
+ #endif
165
+
166
+ /* Adapteva Epiphany
167
+ <https://en.wikipedia.org/wiki/Adapteva_Epiphany> */
168
+ #if defined(__epiphany__)
169
+ #define SIMDE_ARCH_EPIPHANY 1
170
+ #endif
171
+
172
+ /* Fujitsu FR-V
173
+ <https://en.wikipedia.org/wiki/FR-V_(microprocessor)> */
174
+ #if defined(__frv__)
175
+ #define SIMDE_ARCH_FRV 1
176
+ #endif
177
+
178
+ /* H8/300
179
+ <https://en.wikipedia.org/wiki/H8_Family> */
180
+ #if defined(__H8300__)
181
+ #define SIMDE_ARCH_H8300
182
+ #endif
183
+
184
+ /* HP/PA / PA-RISC
185
+ <https://en.wikipedia.org/wiki/PA-RISC> */
186
+ #if defined(__PA8000__) || defined(__HPPA20__) || defined(__RISC2_0__) || \
187
+ defined(_PA_RISC2_0)
188
+ #define SIMDE_ARCH_HPPA 20
189
+ #elif defined(__PA7100__) || defined(__HPPA11__) || defined(_PA_RISC1_1)
190
+ #define SIMDE_ARCH_HPPA 11
191
+ #elif defined(_PA_RISC1_0)
192
+ #define SIMDE_ARCH_HPPA 10
193
+ #elif defined(__hppa__) || defined(__HPPA__) || defined(__hppa)
194
+ #define SIMDE_ARCH_HPPA 1
195
+ #endif
196
+ #if defined(SIMDE_ARCH_HPPA)
197
+ #define SIMDE_ARCH_HPPA_CHECK(version) ((version) <= SIMDE_ARCH_HPPA)
198
+ #else
199
+ #define SIMDE_ARCH_HPPA_CHECK(version) (0)
200
+ #endif
201
+
202
+ /* x86
203
+ <https://en.wikipedia.org/wiki/X86> */
204
+ #if defined(_M_IX86)
205
+ #define SIMDE_ARCH_X86 (_M_IX86 / 100)
206
+ #elif defined(__I86__)
207
+ #define SIMDE_ARCH_X86 __I86__
208
+ #elif defined(i686) || defined(__i686) || defined(__i686__)
209
+ #define SIMDE_ARCH_X86 6
210
+ #elif defined(i586) || defined(__i586) || defined(__i586__)
211
+ #define SIMDE_ARCH_X86 5
212
+ #elif defined(i486) || defined(__i486) || defined(__i486__)
213
+ #define SIMDE_ARCH_X86 4
214
+ #elif defined(i386) || defined(__i386) || defined(__i386__)
215
+ #define SIMDE_ARCH_X86 3
216
+ #elif defined(_X86_) || defined(__X86__) || defined(__THW_INTEL__)
217
+ #define SIMDE_ARCH_X86 3
218
+ #endif
219
+ #if defined(SIMDE_ARCH_X86)
220
+ #define SIMDE_ARCH_X86_CHECK(version) ((version) <= SIMDE_ARCH_X86)
221
+ #else
222
+ #define SIMDE_ARCH_X86_CHECK(version) (0)
223
+ #endif
224
+
225
+ /* SIMD ISA extensions for x86/x86_64 */
226
+ #if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
227
+ #if defined(_M_IX86_FP)
228
+ #define SIMDE_ARCH_X86_MMX
229
+ #if (_M_IX86_FP >= 1)
230
+ #define SIMDE_ARCH_X86_SSE 1
231
+ #endif
232
+ #if (_M_IX86_FP >= 2)
233
+ #define SIMDE_ARCH_X86_SSE2 1
234
+ #endif
235
+ #elif defined(_M_X64)
236
+ #define SIMDE_ARCH_X86_SSE 1
237
+ #define SIMDE_ARCH_X86_SSE2 1
238
+ #else
239
+ #if defined(__MMX__)
240
+ #define SIMDE_ARCH_X86_MMX 1
241
+ #endif
242
+ #if defined(__SSE__)
243
+ #define SIMDE_ARCH_X86_SSE 1
244
+ #endif
245
+ #if defined(__SSE2__)
246
+ #define SIMDE_ARCH_X86_SSE2 1
247
+ #endif
248
+ #endif
249
+ #if defined(__SSE3__)
250
+ #define SIMDE_ARCH_X86_SSE3 1
251
+ #endif
252
+ #if defined(__SSSE3__)
253
+ #define SIMDE_ARCH_X86_SSSE3 1
254
+ #endif
255
+ #if defined(__SSE4_1__)
256
+ #define SIMDE_ARCH_X86_SSE4_1 1
257
+ #endif
258
+ #if defined(__SSE4_2__)
259
+ #define SIMDE_ARCH_X86_SSE4_2 1
260
+ #endif
261
+ #if defined(__AVX__)
262
+ #define SIMDE_ARCH_X86_AVX 1
263
+ #if !defined(SIMDE_ARCH_X86_SSE3)
264
+ #define SIMDE_ARCH_X86_SSE3 1
265
+ #endif
266
+ #if !defined(SIMDE_ARCH_X86_SSE4_1)
267
+ #define SIMDE_ARCH_X86_SSE4_1 1
268
+ #endif
269
+ #if !defined(SIMDE_ARCH_X86_SSE4_1)
270
+ #define SIMDE_ARCH_X86_SSE4_2 1
271
+ #endif
272
+ #endif
273
+ #if defined(__AVX2__)
274
+ #define SIMDE_ARCH_X86_AVX2 1
275
+ #endif
276
+ #if defined(__FMA__)
277
+ #define SIMDE_ARCH_X86_FMA 1
278
+ #if !defined(SIMDE_ARCH_X86_AVX)
279
+ #define SIMDE_ARCH_X86_AVX 1
280
+ #endif
281
+ #endif
282
+ #if defined(__AVX512VP2INTERSECT__)
283
+ #define SIMDE_ARCH_X86_AVX512VP2INTERSECT 1
284
+ #endif
285
+ #if defined(__AVX512VBMI__)
286
+ #define SIMDE_ARCH_X86_AVX512VBMI 1
287
+ #endif
288
+ #if defined(__AVX512BW__)
289
+ #define SIMDE_ARCH_X86_AVX512BW 1
290
+ #endif
291
+ #if defined(__AVX512CD__)
292
+ #define SIMDE_ARCH_X86_AVX512CD 1
293
+ #endif
294
+ #if defined(__AVX512DQ__)
295
+ #define SIMDE_ARCH_X86_AVX512DQ 1
296
+ #endif
297
+ #if defined(__AVX512F__)
298
+ #define SIMDE_ARCH_X86_AVX512F 1
299
+ #endif
300
+ #if defined(__AVX512VL__)
301
+ #define SIMDE_ARCH_X86_AVX512VL 1
302
+ #endif
303
+ #if defined(__GFNI__)
304
+ #define SIMDE_ARCH_X86_GFNI 1
305
+ #endif
306
+ #if defined(__PCLMUL__)
307
+ #define SIMDE_ARCH_X86_PCLMUL 1
308
+ #endif
309
+ #if defined(__VPCLMULQDQ__)
310
+ #define SIMDE_ARCH_X86_VPCLMULQDQ 1
311
+ #endif
312
+ #endif
313
+
314
+ /* Itanium
315
+ <https://en.wikipedia.org/wiki/Itanium> */
316
+ #if defined(__ia64__) || defined(_IA64) || defined(__IA64__) || \
317
+ defined(__ia64) || defined(_M_IA64) || defined(__itanium__)
318
+ #define SIMDE_ARCH_IA64 1
319
+ #endif
320
+
321
+ /* Renesas M32R
322
+ <https://en.wikipedia.org/wiki/M32R> */
323
+ #if defined(__m32r__) || defined(__M32R__)
324
+ #define SIMDE_ARCH_M32R
325
+ #endif
326
+
327
+ /* Motorola 68000
328
+ <https://en.wikipedia.org/wiki/Motorola_68000> */
329
+ #if defined(__mc68060__) || defined(__MC68060__)
330
+ #define SIMDE_ARCH_M68K 68060
331
+ #elif defined(__mc68040__) || defined(__MC68040__)
332
+ #define SIMDE_ARCH_M68K 68040
333
+ #elif defined(__mc68030__) || defined(__MC68030__)
334
+ #define SIMDE_ARCH_M68K 68030
335
+ #elif defined(__mc68020__) || defined(__MC68020__)
336
+ #define SIMDE_ARCH_M68K 68020
337
+ #elif defined(__mc68010__) || defined(__MC68010__)
338
+ #define SIMDE_ARCH_M68K 68010
339
+ #elif defined(__mc68000__) || defined(__MC68000__)
340
+ #define SIMDE_ARCH_M68K 68000
341
+ #endif
342
+ #if defined(SIMDE_ARCH_M68K)
343
+ #define SIMDE_ARCH_M68K_CHECK(version) ((version) <= SIMDE_ARCH_M68K)
344
+ #else
345
+ #define SIMDE_ARCH_M68K_CHECK(version) (0)
346
+ #endif
347
+
348
+ /* Xilinx MicroBlaze
349
+ <https://en.wikipedia.org/wiki/MicroBlaze> */
350
+ #if defined(__MICROBLAZE__) || defined(__microblaze__)
351
+ #define SIMDE_ARCH_MICROBLAZE
352
+ #endif
353
+
354
+ /* MIPS
355
+ <https://en.wikipedia.org/wiki/MIPS_architecture> */
356
+ #if defined(_MIPS_ISA_MIPS64R2)
357
+ #define SIMDE_ARCH_MIPS 642
358
+ #elif defined(_MIPS_ISA_MIPS64)
359
+ #define SIMDE_ARCH_MIPS 640
360
+ #elif defined(_MIPS_ISA_MIPS32R2)
361
+ #define SIMDE_ARCH_MIPS 322
362
+ #elif defined(_MIPS_ISA_MIPS32)
363
+ #define SIMDE_ARCH_MIPS 320
364
+ #elif defined(_MIPS_ISA_MIPS4)
365
+ #define SIMDE_ARCH_MIPS 4
366
+ #elif defined(_MIPS_ISA_MIPS3)
367
+ #define SIMDE_ARCH_MIPS 3
368
+ #elif defined(_MIPS_ISA_MIPS2)
369
+ #define SIMDE_ARCH_MIPS 2
370
+ #elif defined(_MIPS_ISA_MIPS1)
371
+ #define SIMDE_ARCH_MIPS 1
372
+ #elif defined(_MIPS_ISA_MIPS) || defined(__mips) || defined(__MIPS__)
373
+ #define SIMDE_ARCH_MIPS 1
374
+ #endif
375
+ #if defined(SIMDE_ARCH_MIPS)
376
+ #define SIMDE_ARCH_MIPS_CHECK(version) ((version) <= SIMDE_ARCH_MIPS)
377
+ #else
378
+ #define SIMDE_ARCH_MIPS_CHECK(version) (0)
379
+ #endif
380
+
381
+ #if defined(__mips_loongson_mmi)
382
+ #define SIMDE_ARCH_MIPS_LOONGSON_MMI 1
383
+ #endif
384
+
385
+ /* Matsushita MN10300
386
+ <https://en.wikipedia.org/wiki/MN103> */
387
+ #if defined(__MN10300__) || defined(__mn10300__)
388
+ #define SIMDE_ARCH_MN10300 1
389
+ #endif
390
+
391
+ /* POWER
392
+ <https://en.wikipedia.org/wiki/IBM_POWER_Instruction_Set_Architecture> */
393
+ #if defined(_M_PPC)
394
+ #define SIMDE_ARCH_POWER _M_PPC
395
+ #elif defined(_ARCH_PWR9)
396
+ #define SIMDE_ARCH_POWER 900
397
+ #elif defined(_ARCH_PWR8)
398
+ #define SIMDE_ARCH_POWER 800
399
+ #elif defined(_ARCH_PWR7)
400
+ #define SIMDE_ARCH_POWER 700
401
+ #elif defined(_ARCH_PWR6)
402
+ #define SIMDE_ARCH_POWER 600
403
+ #elif defined(_ARCH_PWR5)
404
+ #define SIMDE_ARCH_POWER 500
405
+ #elif defined(_ARCH_PWR4)
406
+ #define SIMDE_ARCH_POWER 400
407
+ #elif defined(_ARCH_440) || defined(__ppc440__)
408
+ #define SIMDE_ARCH_POWER 440
409
+ #elif defined(_ARCH_450) || defined(__ppc450__)
410
+ #define SIMDE_ARCH_POWER 450
411
+ #elif defined(_ARCH_601) || defined(__ppc601__)
412
+ #define SIMDE_ARCH_POWER 601
413
+ #elif defined(_ARCH_603) || defined(__ppc603__)
414
+ #define SIMDE_ARCH_POWER 603
415
+ #elif defined(_ARCH_604) || defined(__ppc604__)
416
+ #define SIMDE_ARCH_POWER 604
417
+ #elif defined(_ARCH_605) || defined(__ppc605__)
418
+ #define SIMDE_ARCH_POWER 605
419
+ #elif defined(_ARCH_620) || defined(__ppc620__)
420
+ #define SIMDE_ARCH_POWER 620
421
+ #elif defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) || \
422
+ defined(__ppc__) || defined(__PPC__) || defined(_ARCH_PPC) || \
423
+ defined(__ppc)
424
+ #define SIMDE_ARCH_POWER 1
425
+ #endif
426
+ #if defined(SIMDE_ARCH_POWER)
427
+ #define SIMDE_ARCH_POWER_CHECK(version) ((version) <= SIMDE_ARCH_POWER)
428
+ #else
429
+ #define SIMDE_ARCH_POWER_CHECK(version) (0)
430
+ #endif
431
+
432
+ #if defined(__ALTIVEC__)
433
+ #define SIMDE_ARCH_POWER_ALTIVEC SIMDE_ARCH_POWER
434
+ #endif
435
+ #if defined(SIMDE_ARCH_POWER)
436
+ #define SIMDE_ARCH_POWER_ALTIVEC_CHECK(version) ((version) <= SIMDE_ARCH_POWER)
437
+ #else
438
+ #define SIMDE_ARCH_POWER_ALTIVEC_CHECK(version) (0)
439
+ #endif
440
+
441
+ /* SPARC
442
+ <https://en.wikipedia.org/wiki/SPARC> */
443
+ #if defined(__sparc_v9__) || defined(__sparcv9)
444
+ #define SIMDE_ARCH_SPARC 9
445
+ #elif defined(__sparc_v8__) || defined(__sparcv8)
446
+ #define SIMDE_ARCH_SPARC 8
447
+ #elif defined(__sparc_v7__) || defined(__sparcv7)
448
+ #define SIMDE_ARCH_SPARC 7
449
+ #elif defined(__sparc_v6__) || defined(__sparcv6)
450
+ #define SIMDE_ARCH_SPARC 6
451
+ #elif defined(__sparc_v5__) || defined(__sparcv5)
452
+ #define SIMDE_ARCH_SPARC 5
453
+ #elif defined(__sparc_v4__) || defined(__sparcv4)
454
+ #define SIMDE_ARCH_SPARC 4
455
+ #elif defined(__sparc_v3__) || defined(__sparcv3)
456
+ #define SIMDE_ARCH_SPARC 3
457
+ #elif defined(__sparc_v2__) || defined(__sparcv2)
458
+ #define SIMDE_ARCH_SPARC 2
459
+ #elif defined(__sparc_v1__) || defined(__sparcv1)
460
+ #define SIMDE_ARCH_SPARC 1
461
+ #elif defined(__sparc__) || defined(__sparc)
462
+ #define SIMDE_ARCH_SPARC 1
463
+ #endif
464
+ #if defined(SIMDE_ARCH_SPARC)
465
+ #define SIMDE_ARCH_SPARC_CHECK(version) ((version) <= SIMDE_ARCH_SPARC)
466
+ #else
467
+ #define SIMDE_ARCH_SPARC_CHECK(version) (0)
468
+ #endif
469
+
470
+ /* SuperH
471
+ <https://en.wikipedia.org/wiki/SuperH> */
472
+ #if defined(__sh5__) || defined(__SH5__)
473
+ #define SIMDE_ARCH_SUPERH 5
474
+ #elif defined(__sh4__) || defined(__SH4__)
475
+ #define SIMDE_ARCH_SUPERH 4
476
+ #elif defined(__sh3__) || defined(__SH3__)
477
+ #define SIMDE_ARCH_SUPERH 3
478
+ #elif defined(__sh2__) || defined(__SH2__)
479
+ #define SIMDE_ARCH_SUPERH 2
480
+ #elif defined(__sh1__) || defined(__SH1__)
481
+ #define SIMDE_ARCH_SUPERH 1
482
+ #elif defined(__sh__) || defined(__SH__)
483
+ #define SIMDE_ARCH_SUPERH 1
484
+ #endif
485
+
486
+ /* IBM System z
487
+ <https://en.wikipedia.org/wiki/IBM_System_z> */
488
+ #if defined(__370__) || defined(__THW_370__) || defined(__s390__) || \
489
+ defined(__s390x__) || defined(__zarch__) || defined(__SYSC_ZARCH__)
490
+ #define SIMDE_ARCH_SYSTEMZ
491
+ #endif
492
+
493
+ /* TMS320 DSP
494
+ <https://en.wikipedia.org/wiki/Texas_Instruments_TMS320> */
495
+ #if defined(_TMS320C6740) || defined(__TMS320C6740__)
496
+ #define SIMDE_ARCH_TMS320 6740
497
+ #elif defined(_TMS320C6700_PLUS) || defined(__TMS320C6700_PLUS__)
498
+ #define SIMDE_ARCH_TMS320 6701
499
+ #elif defined(_TMS320C6700) || defined(__TMS320C6700__)
500
+ #define SIMDE_ARCH_TMS320 6700
501
+ #elif defined(_TMS320C6600) || defined(__TMS320C6600__)
502
+ #define SIMDE_ARCH_TMS320 6600
503
+ #elif defined(_TMS320C6400_PLUS) || defined(__TMS320C6400_PLUS__)
504
+ #define SIMDE_ARCH_TMS320 6401
505
+ #elif defined(_TMS320C6400) || defined(__TMS320C6400__)
506
+ #define SIMDE_ARCH_TMS320 6400
507
+ #elif defined(_TMS320C6200) || defined(__TMS320C6200__)
508
+ #define SIMDE_ARCH_TMS320 6200
509
+ #elif defined(_TMS320C55X) || defined(__TMS320C55X__)
510
+ #define SIMDE_ARCH_TMS320 550
511
+ #elif defined(_TMS320C54X) || defined(__TMS320C54X__)
512
+ #define SIMDE_ARCH_TMS320 540
513
+ #elif defined(_TMS320C28X) || defined(__TMS320C28X__)
514
+ #define SIMDE_ARCH_TMS320 280
515
+ #endif
516
+ #if defined(SIMDE_ARCH_TMS320)
517
+ #define SIMDE_ARCH_TMS320_CHECK(version) ((version) <= SIMDE_ARCH_TMS320)
518
+ #else
519
+ #define SIMDE_ARCH_TMS320_CHECK(version) (0)
520
+ #endif
521
+
522
+ /* WebAssembly */
523
+ #if defined(__wasm__)
524
+ #define SIMDE_ARCH_WASM 1
525
+ #endif
526
+
527
+ #if defined(SIMDE_ARCH_WASM) && defined(__wasm_simd128__)
528
+ #define SIMDE_ARCH_WASM_SIMD128
529
+ #endif
530
+
531
+ /* Xtensa
532
+ <https://en.wikipedia.org/wiki/> */
533
+ #if defined(__xtensa__) || defined(__XTENSA__)
534
+ #define SIMDE_ARCH_XTENSA 1
535
+ #endif
536
+
537
+ #endif /* !defined(SIMDE_ARCH_H) */