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,925 @@
1
+ /* SPDX-License-Identifier: MIT
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person
4
+ * obtaining a copy of this software and associated documentation
5
+ * files (the "Software"), to deal in the Software without
6
+ * restriction, including without limitation the rights to use, copy,
7
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
8
+ * of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be
12
+ * included in all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ *
23
+ * Copyright:
24
+ * 2020 Evan Nemerson <evan@nemerson.com>
25
+ */
26
+
27
+ /* Constify macros. For internal use only.
28
+ *
29
+ * These are used to make it possible to call a function which takes
30
+ * an Integer Constant Expression (ICE) using a compile time constant.
31
+ * Technically it would also be possible to use a value not trivially
32
+ * known by the compiler, but there would be a siginficant performance
33
+ * hit (a switch switch is used).
34
+ *
35
+ * The basic idea is pretty simple; we just emit a do while loop which
36
+ * contains a switch with a case for every possible value of the
37
+ * constant.
38
+ *
39
+ * As long as the value you pass to the function in constant, pretty
40
+ * much any copmiler shouldn't have a problem generating exactly the
41
+ * same code as if you had used an ICE.
42
+ *
43
+ * This is intended to be used in the SIMDe implementations of
44
+ * functions the compilers require to be an ICE, but the other benefit
45
+ * is that if we also disable the warnings from
46
+ * SIMDE_REQUIRE_CONSTANT_RANGE we can actually just allow the tests
47
+ * to use non-ICE parameters
48
+ */
49
+
50
+ #if !defined(SIMDE_CONSTIFY_H)
51
+ #define SIMDE_CONSTIFY_H
52
+
53
+ #include "simde-diagnostic.h"
54
+
55
+ HEDLEY_DIAGNOSTIC_PUSH
56
+ SIMDE_DIAGNOSTIC_DISABLE_VARIADIC_MACROS_
57
+ SIMDE_DIAGNOSTIC_DISABLE_CPP98_COMPAT_PEDANTIC_
58
+
59
+ #define SIMDE_CONSTIFY_2_(func_name, result, default_case, imm, ...) \
60
+ do { \
61
+ switch (imm) { \
62
+ case 0: \
63
+ result = func_name(__VA_ARGS__, 0); \
64
+ break; \
65
+ case 1: \
66
+ result = func_name(__VA_ARGS__, 1); \
67
+ break; \
68
+ default: \
69
+ result = default_case; \
70
+ break; \
71
+ } \
72
+ } while (0)
73
+
74
+ #define SIMDE_CONSTIFY_4_(func_name, result, default_case, imm, ...) \
75
+ do { \
76
+ switch (imm) { \
77
+ case 0: \
78
+ result = func_name(__VA_ARGS__, 0); \
79
+ break; \
80
+ case 1: \
81
+ result = func_name(__VA_ARGS__, 1); \
82
+ break; \
83
+ case 2: \
84
+ result = func_name(__VA_ARGS__, 2); \
85
+ break; \
86
+ case 3: \
87
+ result = func_name(__VA_ARGS__, 3); \
88
+ break; \
89
+ default: \
90
+ result = default_case; \
91
+ break; \
92
+ } \
93
+ } while (0)
94
+
95
+ #define SIMDE_CONSTIFY_8_(func_name, result, default_case, imm, ...) \
96
+ do { \
97
+ switch (imm) { \
98
+ case 0: \
99
+ result = func_name(__VA_ARGS__, 0); \
100
+ break; \
101
+ case 1: \
102
+ result = func_name(__VA_ARGS__, 1); \
103
+ break; \
104
+ case 2: \
105
+ result = func_name(__VA_ARGS__, 2); \
106
+ break; \
107
+ case 3: \
108
+ result = func_name(__VA_ARGS__, 3); \
109
+ break; \
110
+ case 4: \
111
+ result = func_name(__VA_ARGS__, 4); \
112
+ break; \
113
+ case 5: \
114
+ result = func_name(__VA_ARGS__, 5); \
115
+ break; \
116
+ case 6: \
117
+ result = func_name(__VA_ARGS__, 6); \
118
+ break; \
119
+ case 7: \
120
+ result = func_name(__VA_ARGS__, 7); \
121
+ break; \
122
+ default: \
123
+ result = default_case; \
124
+ break; \
125
+ } \
126
+ } while (0)
127
+
128
+ #define SIMDE_CONSTIFY_16_(func_name, result, default_case, imm, ...) \
129
+ do { \
130
+ switch (imm) { \
131
+ case 0: \
132
+ result = func_name(__VA_ARGS__, 0); \
133
+ break; \
134
+ case 1: \
135
+ result = func_name(__VA_ARGS__, 1); \
136
+ break; \
137
+ case 2: \
138
+ result = func_name(__VA_ARGS__, 2); \
139
+ break; \
140
+ case 3: \
141
+ result = func_name(__VA_ARGS__, 3); \
142
+ break; \
143
+ case 4: \
144
+ result = func_name(__VA_ARGS__, 4); \
145
+ break; \
146
+ case 5: \
147
+ result = func_name(__VA_ARGS__, 5); \
148
+ break; \
149
+ case 6: \
150
+ result = func_name(__VA_ARGS__, 6); \
151
+ break; \
152
+ case 7: \
153
+ result = func_name(__VA_ARGS__, 7); \
154
+ break; \
155
+ case 8: \
156
+ result = func_name(__VA_ARGS__, 8); \
157
+ break; \
158
+ case 9: \
159
+ result = func_name(__VA_ARGS__, 9); \
160
+ break; \
161
+ case 10: \
162
+ result = func_name(__VA_ARGS__, 10); \
163
+ break; \
164
+ case 11: \
165
+ result = func_name(__VA_ARGS__, 11); \
166
+ break; \
167
+ case 12: \
168
+ result = func_name(__VA_ARGS__, 12); \
169
+ break; \
170
+ case 13: \
171
+ result = func_name(__VA_ARGS__, 13); \
172
+ break; \
173
+ case 14: \
174
+ result = func_name(__VA_ARGS__, 14); \
175
+ break; \
176
+ case 15: \
177
+ result = func_name(__VA_ARGS__, 15); \
178
+ break; \
179
+ default: \
180
+ result = default_case; \
181
+ break; \
182
+ } \
183
+ } while (0)
184
+
185
+ #define SIMDE_CONSTIFY_32_(func_name, result, default_case, imm, ...) \
186
+ do { \
187
+ switch (imm) { \
188
+ case 0: \
189
+ result = func_name(__VA_ARGS__, 0); \
190
+ break; \
191
+ case 1: \
192
+ result = func_name(__VA_ARGS__, 1); \
193
+ break; \
194
+ case 2: \
195
+ result = func_name(__VA_ARGS__, 2); \
196
+ break; \
197
+ case 3: \
198
+ result = func_name(__VA_ARGS__, 3); \
199
+ break; \
200
+ case 4: \
201
+ result = func_name(__VA_ARGS__, 4); \
202
+ break; \
203
+ case 5: \
204
+ result = func_name(__VA_ARGS__, 5); \
205
+ break; \
206
+ case 6: \
207
+ result = func_name(__VA_ARGS__, 6); \
208
+ break; \
209
+ case 7: \
210
+ result = func_name(__VA_ARGS__, 7); \
211
+ break; \
212
+ case 8: \
213
+ result = func_name(__VA_ARGS__, 8); \
214
+ break; \
215
+ case 9: \
216
+ result = func_name(__VA_ARGS__, 9); \
217
+ break; \
218
+ case 10: \
219
+ result = func_name(__VA_ARGS__, 10); \
220
+ break; \
221
+ case 11: \
222
+ result = func_name(__VA_ARGS__, 11); \
223
+ break; \
224
+ case 12: \
225
+ result = func_name(__VA_ARGS__, 12); \
226
+ break; \
227
+ case 13: \
228
+ result = func_name(__VA_ARGS__, 13); \
229
+ break; \
230
+ case 14: \
231
+ result = func_name(__VA_ARGS__, 14); \
232
+ break; \
233
+ case 15: \
234
+ result = func_name(__VA_ARGS__, 15); \
235
+ break; \
236
+ case 16: \
237
+ result = func_name(__VA_ARGS__, 16); \
238
+ break; \
239
+ case 17: \
240
+ result = func_name(__VA_ARGS__, 17); \
241
+ break; \
242
+ case 18: \
243
+ result = func_name(__VA_ARGS__, 18); \
244
+ break; \
245
+ case 19: \
246
+ result = func_name(__VA_ARGS__, 19); \
247
+ break; \
248
+ case 20: \
249
+ result = func_name(__VA_ARGS__, 20); \
250
+ break; \
251
+ case 21: \
252
+ result = func_name(__VA_ARGS__, 21); \
253
+ break; \
254
+ case 22: \
255
+ result = func_name(__VA_ARGS__, 22); \
256
+ break; \
257
+ case 23: \
258
+ result = func_name(__VA_ARGS__, 23); \
259
+ break; \
260
+ case 24: \
261
+ result = func_name(__VA_ARGS__, 24); \
262
+ break; \
263
+ case 25: \
264
+ result = func_name(__VA_ARGS__, 25); \
265
+ break; \
266
+ case 26: \
267
+ result = func_name(__VA_ARGS__, 26); \
268
+ break; \
269
+ case 27: \
270
+ result = func_name(__VA_ARGS__, 27); \
271
+ break; \
272
+ case 28: \
273
+ result = func_name(__VA_ARGS__, 28); \
274
+ break; \
275
+ case 29: \
276
+ result = func_name(__VA_ARGS__, 29); \
277
+ break; \
278
+ case 30: \
279
+ result = func_name(__VA_ARGS__, 30); \
280
+ break; \
281
+ case 31: \
282
+ result = func_name(__VA_ARGS__, 31); \
283
+ break; \
284
+ default: \
285
+ result = default_case; \
286
+ break; \
287
+ } \
288
+ } while (0)
289
+
290
+ #define SIMDE_CONSTIFY_64_(func_name, result, default_case, imm, ...) \
291
+ do { \
292
+ switch (imm) { \
293
+ case 0: \
294
+ result = func_name(__VA_ARGS__, 0); \
295
+ break; \
296
+ case 1: \
297
+ result = func_name(__VA_ARGS__, 1); \
298
+ break; \
299
+ case 2: \
300
+ result = func_name(__VA_ARGS__, 2); \
301
+ break; \
302
+ case 3: \
303
+ result = func_name(__VA_ARGS__, 3); \
304
+ break; \
305
+ case 4: \
306
+ result = func_name(__VA_ARGS__, 4); \
307
+ break; \
308
+ case 5: \
309
+ result = func_name(__VA_ARGS__, 5); \
310
+ break; \
311
+ case 6: \
312
+ result = func_name(__VA_ARGS__, 6); \
313
+ break; \
314
+ case 7: \
315
+ result = func_name(__VA_ARGS__, 7); \
316
+ break; \
317
+ case 8: \
318
+ result = func_name(__VA_ARGS__, 8); \
319
+ break; \
320
+ case 9: \
321
+ result = func_name(__VA_ARGS__, 9); \
322
+ break; \
323
+ case 10: \
324
+ result = func_name(__VA_ARGS__, 10); \
325
+ break; \
326
+ case 11: \
327
+ result = func_name(__VA_ARGS__, 11); \
328
+ break; \
329
+ case 12: \
330
+ result = func_name(__VA_ARGS__, 12); \
331
+ break; \
332
+ case 13: \
333
+ result = func_name(__VA_ARGS__, 13); \
334
+ break; \
335
+ case 14: \
336
+ result = func_name(__VA_ARGS__, 14); \
337
+ break; \
338
+ case 15: \
339
+ result = func_name(__VA_ARGS__, 15); \
340
+ break; \
341
+ case 16: \
342
+ result = func_name(__VA_ARGS__, 16); \
343
+ break; \
344
+ case 17: \
345
+ result = func_name(__VA_ARGS__, 17); \
346
+ break; \
347
+ case 18: \
348
+ result = func_name(__VA_ARGS__, 18); \
349
+ break; \
350
+ case 19: \
351
+ result = func_name(__VA_ARGS__, 19); \
352
+ break; \
353
+ case 20: \
354
+ result = func_name(__VA_ARGS__, 20); \
355
+ break; \
356
+ case 21: \
357
+ result = func_name(__VA_ARGS__, 21); \
358
+ break; \
359
+ case 22: \
360
+ result = func_name(__VA_ARGS__, 22); \
361
+ break; \
362
+ case 23: \
363
+ result = func_name(__VA_ARGS__, 23); \
364
+ break; \
365
+ case 24: \
366
+ result = func_name(__VA_ARGS__, 24); \
367
+ break; \
368
+ case 25: \
369
+ result = func_name(__VA_ARGS__, 25); \
370
+ break; \
371
+ case 26: \
372
+ result = func_name(__VA_ARGS__, 26); \
373
+ break; \
374
+ case 27: \
375
+ result = func_name(__VA_ARGS__, 27); \
376
+ break; \
377
+ case 28: \
378
+ result = func_name(__VA_ARGS__, 28); \
379
+ break; \
380
+ case 29: \
381
+ result = func_name(__VA_ARGS__, 29); \
382
+ break; \
383
+ case 30: \
384
+ result = func_name(__VA_ARGS__, 30); \
385
+ break; \
386
+ case 31: \
387
+ result = func_name(__VA_ARGS__, 31); \
388
+ break; \
389
+ case 32: \
390
+ result = func_name(__VA_ARGS__, 32); \
391
+ break; \
392
+ case 33: \
393
+ result = func_name(__VA_ARGS__, 33); \
394
+ break; \
395
+ case 34: \
396
+ result = func_name(__VA_ARGS__, 34); \
397
+ break; \
398
+ case 35: \
399
+ result = func_name(__VA_ARGS__, 35); \
400
+ break; \
401
+ case 36: \
402
+ result = func_name(__VA_ARGS__, 36); \
403
+ break; \
404
+ case 37: \
405
+ result = func_name(__VA_ARGS__, 37); \
406
+ break; \
407
+ case 38: \
408
+ result = func_name(__VA_ARGS__, 38); \
409
+ break; \
410
+ case 39: \
411
+ result = func_name(__VA_ARGS__, 39); \
412
+ break; \
413
+ case 40: \
414
+ result = func_name(__VA_ARGS__, 40); \
415
+ break; \
416
+ case 41: \
417
+ result = func_name(__VA_ARGS__, 41); \
418
+ break; \
419
+ case 42: \
420
+ result = func_name(__VA_ARGS__, 42); \
421
+ break; \
422
+ case 43: \
423
+ result = func_name(__VA_ARGS__, 43); \
424
+ break; \
425
+ case 44: \
426
+ result = func_name(__VA_ARGS__, 44); \
427
+ break; \
428
+ case 45: \
429
+ result = func_name(__VA_ARGS__, 45); \
430
+ break; \
431
+ case 46: \
432
+ result = func_name(__VA_ARGS__, 46); \
433
+ break; \
434
+ case 47: \
435
+ result = func_name(__VA_ARGS__, 47); \
436
+ break; \
437
+ case 48: \
438
+ result = func_name(__VA_ARGS__, 48); \
439
+ break; \
440
+ case 49: \
441
+ result = func_name(__VA_ARGS__, 49); \
442
+ break; \
443
+ case 50: \
444
+ result = func_name(__VA_ARGS__, 50); \
445
+ break; \
446
+ case 51: \
447
+ result = func_name(__VA_ARGS__, 51); \
448
+ break; \
449
+ case 52: \
450
+ result = func_name(__VA_ARGS__, 52); \
451
+ break; \
452
+ case 53: \
453
+ result = func_name(__VA_ARGS__, 53); \
454
+ break; \
455
+ case 54: \
456
+ result = func_name(__VA_ARGS__, 54); \
457
+ break; \
458
+ case 55: \
459
+ result = func_name(__VA_ARGS__, 55); \
460
+ break; \
461
+ case 56: \
462
+ result = func_name(__VA_ARGS__, 56); \
463
+ break; \
464
+ case 57: \
465
+ result = func_name(__VA_ARGS__, 57); \
466
+ break; \
467
+ case 58: \
468
+ result = func_name(__VA_ARGS__, 58); \
469
+ break; \
470
+ case 59: \
471
+ result = func_name(__VA_ARGS__, 59); \
472
+ break; \
473
+ case 60: \
474
+ result = func_name(__VA_ARGS__, 60); \
475
+ break; \
476
+ case 61: \
477
+ result = func_name(__VA_ARGS__, 61); \
478
+ break; \
479
+ case 62: \
480
+ result = func_name(__VA_ARGS__, 62); \
481
+ break; \
482
+ case 63: \
483
+ result = func_name(__VA_ARGS__, 63); \
484
+ break; \
485
+ default: \
486
+ result = default_case; \
487
+ break; \
488
+ } \
489
+ } while (0)
490
+
491
+ #define SIMDE_CONSTIFY_2_NO_RESULT_(func_name, default_case, imm, ...) \
492
+ do { \
493
+ switch (imm) { \
494
+ case 0: \
495
+ func_name(__VA_ARGS__, 0); \
496
+ break; \
497
+ case 1: \
498
+ func_name(__VA_ARGS__, 1); \
499
+ break; \
500
+ default: \
501
+ default_case; \
502
+ break; \
503
+ } \
504
+ } while (0)
505
+
506
+ #define SIMDE_CONSTIFY_4_NO_RESULT_(func_name, default_case, imm, ...) \
507
+ do { \
508
+ switch (imm) { \
509
+ case 0: \
510
+ func_name(__VA_ARGS__, 0); \
511
+ break; \
512
+ case 1: \
513
+ func_name(__VA_ARGS__, 1); \
514
+ break; \
515
+ case 2: \
516
+ func_name(__VA_ARGS__, 2); \
517
+ break; \
518
+ case 3: \
519
+ func_name(__VA_ARGS__, 3); \
520
+ break; \
521
+ default: \
522
+ default_case; \
523
+ break; \
524
+ } \
525
+ } while (0)
526
+
527
+ #define SIMDE_CONSTIFY_8_NO_RESULT_(func_name, default_case, imm, ...) \
528
+ do { \
529
+ switch (imm) { \
530
+ case 0: \
531
+ func_name(__VA_ARGS__, 0); \
532
+ break; \
533
+ case 1: \
534
+ func_name(__VA_ARGS__, 1); \
535
+ break; \
536
+ case 2: \
537
+ func_name(__VA_ARGS__, 2); \
538
+ break; \
539
+ case 3: \
540
+ func_name(__VA_ARGS__, 3); \
541
+ break; \
542
+ case 4: \
543
+ func_name(__VA_ARGS__, 4); \
544
+ break; \
545
+ case 5: \
546
+ func_name(__VA_ARGS__, 5); \
547
+ break; \
548
+ case 6: \
549
+ func_name(__VA_ARGS__, 6); \
550
+ break; \
551
+ case 7: \
552
+ func_name(__VA_ARGS__, 7); \
553
+ break; \
554
+ default: \
555
+ default_case; \
556
+ break; \
557
+ } \
558
+ } while (0)
559
+
560
+ #define SIMDE_CONSTIFY_16_NO_RESULT_(func_name, default_case, imm, ...) \
561
+ do { \
562
+ switch (imm) { \
563
+ case 0: \
564
+ func_name(__VA_ARGS__, 0); \
565
+ break; \
566
+ case 1: \
567
+ func_name(__VA_ARGS__, 1); \
568
+ break; \
569
+ case 2: \
570
+ func_name(__VA_ARGS__, 2); \
571
+ break; \
572
+ case 3: \
573
+ func_name(__VA_ARGS__, 3); \
574
+ break; \
575
+ case 4: \
576
+ func_name(__VA_ARGS__, 4); \
577
+ break; \
578
+ case 5: \
579
+ func_name(__VA_ARGS__, 5); \
580
+ break; \
581
+ case 6: \
582
+ func_name(__VA_ARGS__, 6); \
583
+ break; \
584
+ case 7: \
585
+ func_name(__VA_ARGS__, 7); \
586
+ break; \
587
+ case 8: \
588
+ func_name(__VA_ARGS__, 8); \
589
+ break; \
590
+ case 9: \
591
+ func_name(__VA_ARGS__, 9); \
592
+ break; \
593
+ case 10: \
594
+ func_name(__VA_ARGS__, 10); \
595
+ break; \
596
+ case 11: \
597
+ func_name(__VA_ARGS__, 11); \
598
+ break; \
599
+ case 12: \
600
+ func_name(__VA_ARGS__, 12); \
601
+ break; \
602
+ case 13: \
603
+ func_name(__VA_ARGS__, 13); \
604
+ break; \
605
+ case 14: \
606
+ func_name(__VA_ARGS__, 14); \
607
+ break; \
608
+ case 15: \
609
+ func_name(__VA_ARGS__, 15); \
610
+ break; \
611
+ default: \
612
+ default_case; \
613
+ break; \
614
+ } \
615
+ } while (0)
616
+
617
+ #define SIMDE_CONSTIFY_32_NO_RESULT_(func_name, default_case, imm, ...) \
618
+ do { \
619
+ switch (imm) { \
620
+ case 0: \
621
+ func_name(__VA_ARGS__, 0); \
622
+ break; \
623
+ case 1: \
624
+ func_name(__VA_ARGS__, 1); \
625
+ break; \
626
+ case 2: \
627
+ func_name(__VA_ARGS__, 2); \
628
+ break; \
629
+ case 3: \
630
+ func_name(__VA_ARGS__, 3); \
631
+ break; \
632
+ case 4: \
633
+ func_name(__VA_ARGS__, 4); \
634
+ break; \
635
+ case 5: \
636
+ func_name(__VA_ARGS__, 5); \
637
+ break; \
638
+ case 6: \
639
+ func_name(__VA_ARGS__, 6); \
640
+ break; \
641
+ case 7: \
642
+ func_name(__VA_ARGS__, 7); \
643
+ break; \
644
+ case 8: \
645
+ func_name(__VA_ARGS__, 8); \
646
+ break; \
647
+ case 9: \
648
+ func_name(__VA_ARGS__, 9); \
649
+ break; \
650
+ case 10: \
651
+ func_name(__VA_ARGS__, 10); \
652
+ break; \
653
+ case 11: \
654
+ func_name(__VA_ARGS__, 11); \
655
+ break; \
656
+ case 12: \
657
+ func_name(__VA_ARGS__, 12); \
658
+ break; \
659
+ case 13: \
660
+ func_name(__VA_ARGS__, 13); \
661
+ break; \
662
+ case 14: \
663
+ func_name(__VA_ARGS__, 14); \
664
+ break; \
665
+ case 15: \
666
+ func_name(__VA_ARGS__, 15); \
667
+ break; \
668
+ case 16: \
669
+ func_name(__VA_ARGS__, 16); \
670
+ break; \
671
+ case 17: \
672
+ func_name(__VA_ARGS__, 17); \
673
+ break; \
674
+ case 18: \
675
+ func_name(__VA_ARGS__, 18); \
676
+ break; \
677
+ case 19: \
678
+ func_name(__VA_ARGS__, 19); \
679
+ break; \
680
+ case 20: \
681
+ func_name(__VA_ARGS__, 20); \
682
+ break; \
683
+ case 21: \
684
+ func_name(__VA_ARGS__, 21); \
685
+ break; \
686
+ case 22: \
687
+ func_name(__VA_ARGS__, 22); \
688
+ break; \
689
+ case 23: \
690
+ func_name(__VA_ARGS__, 23); \
691
+ break; \
692
+ case 24: \
693
+ func_name(__VA_ARGS__, 24); \
694
+ break; \
695
+ case 25: \
696
+ func_name(__VA_ARGS__, 25); \
697
+ break; \
698
+ case 26: \
699
+ func_name(__VA_ARGS__, 26); \
700
+ break; \
701
+ case 27: \
702
+ func_name(__VA_ARGS__, 27); \
703
+ break; \
704
+ case 28: \
705
+ func_name(__VA_ARGS__, 28); \
706
+ break; \
707
+ case 29: \
708
+ func_name(__VA_ARGS__, 29); \
709
+ break; \
710
+ case 30: \
711
+ func_name(__VA_ARGS__, 30); \
712
+ break; \
713
+ case 31: \
714
+ func_name(__VA_ARGS__, 31); \
715
+ break; \
716
+ default: \
717
+ default_case; \
718
+ break; \
719
+ } \
720
+ } while (0)
721
+
722
+ #define SIMDE_CONSTIFY_64_NO_RESULT_(func_name, default_case, imm, ...) \
723
+ do { \
724
+ switch (imm) { \
725
+ case 0: \
726
+ func_name(__VA_ARGS__, 0); \
727
+ break; \
728
+ case 1: \
729
+ func_name(__VA_ARGS__, 1); \
730
+ break; \
731
+ case 2: \
732
+ func_name(__VA_ARGS__, 2); \
733
+ break; \
734
+ case 3: \
735
+ func_name(__VA_ARGS__, 3); \
736
+ break; \
737
+ case 4: \
738
+ func_name(__VA_ARGS__, 4); \
739
+ break; \
740
+ case 5: \
741
+ func_name(__VA_ARGS__, 5); \
742
+ break; \
743
+ case 6: \
744
+ func_name(__VA_ARGS__, 6); \
745
+ break; \
746
+ case 7: \
747
+ func_name(__VA_ARGS__, 7); \
748
+ break; \
749
+ case 8: \
750
+ func_name(__VA_ARGS__, 8); \
751
+ break; \
752
+ case 9: \
753
+ func_name(__VA_ARGS__, 9); \
754
+ break; \
755
+ case 10: \
756
+ func_name(__VA_ARGS__, 10); \
757
+ break; \
758
+ case 11: \
759
+ func_name(__VA_ARGS__, 11); \
760
+ break; \
761
+ case 12: \
762
+ func_name(__VA_ARGS__, 12); \
763
+ break; \
764
+ case 13: \
765
+ func_name(__VA_ARGS__, 13); \
766
+ break; \
767
+ case 14: \
768
+ func_name(__VA_ARGS__, 14); \
769
+ break; \
770
+ case 15: \
771
+ func_name(__VA_ARGS__, 15); \
772
+ break; \
773
+ case 16: \
774
+ func_name(__VA_ARGS__, 16); \
775
+ break; \
776
+ case 17: \
777
+ func_name(__VA_ARGS__, 17); \
778
+ break; \
779
+ case 18: \
780
+ func_name(__VA_ARGS__, 18); \
781
+ break; \
782
+ case 19: \
783
+ func_name(__VA_ARGS__, 19); \
784
+ break; \
785
+ case 20: \
786
+ func_name(__VA_ARGS__, 20); \
787
+ break; \
788
+ case 21: \
789
+ func_name(__VA_ARGS__, 21); \
790
+ break; \
791
+ case 22: \
792
+ func_name(__VA_ARGS__, 22); \
793
+ break; \
794
+ case 23: \
795
+ func_name(__VA_ARGS__, 23); \
796
+ break; \
797
+ case 24: \
798
+ func_name(__VA_ARGS__, 24); \
799
+ break; \
800
+ case 25: \
801
+ func_name(__VA_ARGS__, 25); \
802
+ break; \
803
+ case 26: \
804
+ func_name(__VA_ARGS__, 26); \
805
+ break; \
806
+ case 27: \
807
+ func_name(__VA_ARGS__, 27); \
808
+ break; \
809
+ case 28: \
810
+ func_name(__VA_ARGS__, 28); \
811
+ break; \
812
+ case 29: \
813
+ func_name(__VA_ARGS__, 29); \
814
+ break; \
815
+ case 30: \
816
+ func_name(__VA_ARGS__, 30); \
817
+ break; \
818
+ case 31: \
819
+ func_name(__VA_ARGS__, 31); \
820
+ break; \
821
+ case 32: \
822
+ func_name(__VA_ARGS__, 32); \
823
+ break; \
824
+ case 33: \
825
+ func_name(__VA_ARGS__, 33); \
826
+ break; \
827
+ case 34: \
828
+ func_name(__VA_ARGS__, 34); \
829
+ break; \
830
+ case 35: \
831
+ func_name(__VA_ARGS__, 35); \
832
+ break; \
833
+ case 36: \
834
+ func_name(__VA_ARGS__, 36); \
835
+ break; \
836
+ case 37: \
837
+ func_name(__VA_ARGS__, 37); \
838
+ break; \
839
+ case 38: \
840
+ func_name(__VA_ARGS__, 38); \
841
+ break; \
842
+ case 39: \
843
+ func_name(__VA_ARGS__, 39); \
844
+ break; \
845
+ case 40: \
846
+ func_name(__VA_ARGS__, 40); \
847
+ break; \
848
+ case 41: \
849
+ func_name(__VA_ARGS__, 41); \
850
+ break; \
851
+ case 42: \
852
+ func_name(__VA_ARGS__, 42); \
853
+ break; \
854
+ case 43: \
855
+ func_name(__VA_ARGS__, 43); \
856
+ break; \
857
+ case 44: \
858
+ func_name(__VA_ARGS__, 44); \
859
+ break; \
860
+ case 45: \
861
+ func_name(__VA_ARGS__, 45); \
862
+ break; \
863
+ case 46: \
864
+ func_name(__VA_ARGS__, 46); \
865
+ break; \
866
+ case 47: \
867
+ func_name(__VA_ARGS__, 47); \
868
+ break; \
869
+ case 48: \
870
+ func_name(__VA_ARGS__, 48); \
871
+ break; \
872
+ case 49: \
873
+ func_name(__VA_ARGS__, 49); \
874
+ break; \
875
+ case 50: \
876
+ func_name(__VA_ARGS__, 50); \
877
+ break; \
878
+ case 51: \
879
+ func_name(__VA_ARGS__, 51); \
880
+ break; \
881
+ case 52: \
882
+ func_name(__VA_ARGS__, 52); \
883
+ break; \
884
+ case 53: \
885
+ func_name(__VA_ARGS__, 53); \
886
+ break; \
887
+ case 54: \
888
+ func_name(__VA_ARGS__, 54); \
889
+ break; \
890
+ case 55: \
891
+ func_name(__VA_ARGS__, 55); \
892
+ break; \
893
+ case 56: \
894
+ func_name(__VA_ARGS__, 56); \
895
+ break; \
896
+ case 57: \
897
+ func_name(__VA_ARGS__, 57); \
898
+ break; \
899
+ case 58: \
900
+ func_name(__VA_ARGS__, 58); \
901
+ break; \
902
+ case 59: \
903
+ func_name(__VA_ARGS__, 59); \
904
+ break; \
905
+ case 60: \
906
+ func_name(__VA_ARGS__, 60); \
907
+ break; \
908
+ case 61: \
909
+ func_name(__VA_ARGS__, 61); \
910
+ break; \
911
+ case 62: \
912
+ func_name(__VA_ARGS__, 62); \
913
+ break; \
914
+ case 63: \
915
+ func_name(__VA_ARGS__, 63); \
916
+ break; \
917
+ default: \
918
+ default_case; \
919
+ break; \
920
+ } \
921
+ } while (0)
922
+
923
+ HEDLEY_DIAGNOSTIC_POP
924
+
925
+ #endif