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.
- package/COPYING +339 -0
- package/README.md +46 -0
- package/bin/64bit/obs.lib +0 -0
- package/binding.gyp +23 -0
- package/dist/bin/Qt6Core.dll +0 -0
- package/dist/bin/Qt6Gui.dll +0 -0
- package/dist/bin/Qt6Network.dll +0 -0
- package/dist/bin/Qt6Svg.dll +0 -0
- package/dist/bin/Qt6Widgets.dll +0 -0
- package/dist/bin/Qt6Xml.dll +0 -0
- package/dist/bin/avcodec-61.dll +0 -0
- package/dist/bin/avdevice-61.dll +0 -0
- package/dist/bin/avfilter-10.dll +0 -0
- package/dist/bin/avformat-61.dll +0 -0
- package/dist/bin/avutil-59.dll +0 -0
- package/dist/bin/datachannel.dll +0 -0
- package/dist/bin/libcurl.dll +0 -0
- package/dist/bin/libobs-d3d11.dll +0 -0
- package/dist/bin/libobs-opengl.dll +0 -0
- package/dist/bin/libobs-winrt.dll +0 -0
- package/dist/bin/librist.dll +0 -0
- package/dist/bin/libx264-164.dll +0 -0
- package/dist/bin/lua51.dll +0 -0
- package/dist/bin/obs-amf-test.exe +0 -0
- package/dist/bin/obs-ffmpeg-mux.exe +0 -0
- package/dist/bin/obs-frontend-api.dll +0 -0
- package/dist/bin/obs-scripting.dll +0 -0
- package/dist/bin/obs.dll +0 -0
- package/dist/bin/srt.dll +0 -0
- package/dist/bin/swresample-5.dll +0 -0
- package/dist/bin/swscale-8.dll +0 -0
- package/dist/bin/w32-pthreads.dll +0 -0
- package/dist/bin/zlib.dll +0 -0
- package/dist/effects/area.effect +250 -0
- package/dist/effects/bicubic_scale.effect +236 -0
- package/dist/effects/bilinear_lowres_scale.effect +123 -0
- package/dist/effects/color.effect +172 -0
- package/dist/effects/default.effect +254 -0
- package/dist/effects/default_rect.effect +84 -0
- package/dist/effects/deinterlace_base.effect +325 -0
- package/dist/effects/deinterlace_blend.effect +21 -0
- package/dist/effects/deinterlace_blend_2x.effect +21 -0
- package/dist/effects/deinterlace_discard.effect +21 -0
- package/dist/effects/deinterlace_discard_2x.effect +21 -0
- package/dist/effects/deinterlace_linear.effect +21 -0
- package/dist/effects/deinterlace_linear_2x.effect +21 -0
- package/dist/effects/deinterlace_yadif.effect +21 -0
- package/dist/effects/deinterlace_yadif_2x.effect +21 -0
- package/dist/effects/format_conversion.effect +1823 -0
- package/dist/effects/lanczos_scale.effect +292 -0
- package/dist/effects/opaque.effect +159 -0
- package/dist/effects/premultiplied_alpha.effect +38 -0
- package/dist/effects/repeat.effect +36 -0
- package/dist/effects/solid.effect +80 -0
- package/dist/noobs.node +0 -0
- package/dist/plugins/obs-ffmpeg.dll +0 -0
- package/dist/plugins/obs-x264.dll +0 -0
- package/dist/plugins/win-capture.dll +0 -0
- package/include/audio-monitoring/osx/mac-helpers.h +13 -0
- package/include/audio-monitoring/pulse/pulseaudio-wrapper.h +212 -0
- package/include/audio-monitoring/win32/wasapi-output.h +22 -0
- package/include/callback/calldata.h +195 -0
- package/include/callback/decl.h +61 -0
- package/include/callback/proc.h +52 -0
- package/include/callback/signal.h +73 -0
- package/include/graphics/axisang.h +65 -0
- package/include/graphics/bounds.h +108 -0
- package/include/graphics/device-exports.h +177 -0
- package/include/graphics/effect-parser.h +290 -0
- package/include/graphics/effect.h +190 -0
- package/include/graphics/graphics-internal.h +335 -0
- package/include/graphics/graphics.h +1024 -0
- package/include/graphics/half.h +100 -0
- package/include/graphics/image-file.h +124 -0
- package/include/graphics/input.h +34 -0
- package/include/graphics/libnsgif/libnsgif.h +142 -0
- package/include/graphics/math-defs.h +45 -0
- package/include/graphics/math-extra.h +61 -0
- package/include/graphics/matrix3.h +98 -0
- package/include/graphics/matrix4.h +102 -0
- package/include/graphics/plane.h +85 -0
- package/include/graphics/quat.h +170 -0
- package/include/graphics/shader-parser.h +273 -0
- package/include/graphics/srgb.h +177 -0
- package/include/graphics/vec2.h +148 -0
- package/include/graphics/vec3.h +224 -0
- package/include/graphics/vec4.h +241 -0
- package/include/media-io/audio-io.h +228 -0
- package/include/media-io/audio-math.h +43 -0
- package/include/media-io/audio-resampler.h +44 -0
- package/include/media-io/format-conversion.h +50 -0
- package/include/media-io/frame-rate.h +29 -0
- package/include/media-io/media-io-defs.h +20 -0
- package/include/media-io/media-remux.h +37 -0
- package/include/media-io/video-frame.h +64 -0
- package/include/media-io/video-io.h +338 -0
- package/include/media-io/video-scaler.h +43 -0
- package/include/obs-audio-controls.h +250 -0
- package/include/obs-av1.h +47 -0
- package/include/obs-avc.h +55 -0
- package/include/obs-config.h +52 -0
- package/include/obs-data.h +311 -0
- package/include/obs-defs.h +52 -0
- package/include/obs-encoder.h +361 -0
- package/include/obs-ffmpeg-compat.h +13 -0
- package/include/obs-hevc.h +81 -0
- package/include/obs-hotkey.h +271 -0
- package/include/obs-hotkeys.h +653 -0
- package/include/obs-interaction.h +56 -0
- package/include/obs-internal.h +1459 -0
- package/include/obs-missing-files.h +53 -0
- package/include/obs-module.h +181 -0
- package/include/obs-nal.h +37 -0
- package/include/obs-nix-platform.h +53 -0
- package/include/obs-nix-wayland.h +24 -0
- package/include/obs-nix-x11.h +22 -0
- package/include/obs-nix.h +42 -0
- package/include/obs-output.h +96 -0
- package/include/obs-properties.h +364 -0
- package/include/obs-scene.h +127 -0
- package/include/obs-service.h +115 -0
- package/include/obs-source.h +568 -0
- package/include/obs.h +2608 -0
- package/include/obsconfig.h +13 -0
- package/include/obsversion.h +5 -0
- package/include/util/apple/cfstring-utils.h +16 -0
- package/include/util/array-serializer.h +37 -0
- package/include/util/base.h +97 -0
- package/include/util/bitstream.h +28 -0
- package/include/util/bmem.h +94 -0
- package/include/util/buffered-file-serializer.h +32 -0
- package/include/util/c99defs.h +75 -0
- package/include/util/cf-lexer.h +199 -0
- package/include/util/cf-parser.h +281 -0
- package/include/util/circlebuf.h +319 -0
- package/include/util/config-file.h +103 -0
- package/include/util/crc32.h +29 -0
- package/include/util/curl/curl-helper.h +35 -0
- package/include/util/darray.h +606 -0
- package/include/util/deque.h +319 -0
- package/include/util/dstr.h +320 -0
- package/include/util/file-serializer.h +34 -0
- package/include/util/lexer.h +273 -0
- package/include/util/pipe.h +52 -0
- package/include/util/platform.h +223 -0
- package/include/util/profiler.h +97 -0
- package/include/util/serializer.h +158 -0
- package/include/util/simde/check.h +285 -0
- package/include/util/simde/debug-trap.h +117 -0
- package/include/util/simde/hedley.h +2123 -0
- package/include/util/simde/simde-align.h +481 -0
- package/include/util/simde/simde-arch.h +537 -0
- package/include/util/simde/simde-common.h +918 -0
- package/include/util/simde/simde-constify.h +925 -0
- package/include/util/simde/simde-detect-clang.h +114 -0
- package/include/util/simde/simde-diagnostic.h +447 -0
- package/include/util/simde/simde-features.h +550 -0
- package/include/util/simde/simde-math.h +1858 -0
- package/include/util/simde/x86/mmx.h +2456 -0
- package/include/util/simde/x86/sse.h +4479 -0
- package/include/util/simde/x86/sse2.h +7549 -0
- package/include/util/source-profiler.h +66 -0
- package/include/util/sse-intrin.h +32 -0
- package/include/util/task.h +22 -0
- package/include/util/text-lookup.h +45 -0
- package/include/util/threading-posix.h +77 -0
- package/include/util/threading-windows.h +142 -0
- package/include/util/threading.h +103 -0
- package/include/util/utf8.h +35 -0
- package/include/util/uthash.h +34 -0
- package/include/util/util_uint128.h +108 -0
- package/include/util/util_uint64.h +34 -0
- package/include/util/windows/device-enum.h +14 -0
- package/include/util/windows/obfuscate.h +16 -0
- package/include/util/windows/win-registry.h +37 -0
- package/include/util/windows/win-version.h +57 -0
- package/include/util/windows/window-helpers.h +47 -0
- package/index.d.ts +38 -0
- package/index.js +8 -0
- package/package.json +31 -0
- package/src/main.cpp +321 -0
- package/src/obs_interface.cpp +605 -0
- package/src/obs_interface.h +74 -0
- package/src/utils.cpp +80 -0
- package/src/utils.h +3 -0
|
@@ -0,0 +1,550 @@
|
|
|
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
|
+
/* simde-arch.h is used to determine which features are available according
|
|
28
|
+
to the compiler. However, we want to make it possible to forcibly enable
|
|
29
|
+
or disable APIs */
|
|
30
|
+
|
|
31
|
+
#if !defined(SIMDE_FEATURES_H)
|
|
32
|
+
#define SIMDE_FEATURES_H
|
|
33
|
+
|
|
34
|
+
#include "simde-arch.h"
|
|
35
|
+
#include "simde-diagnostic.h"
|
|
36
|
+
|
|
37
|
+
#if !defined(SIMDE_X86_SVML_NATIVE) && !defined(SIMDE_X86_SVML_NO_NATIVE) && \
|
|
38
|
+
!defined(SIMDE_NO_NATIVE)
|
|
39
|
+
#if defined(SIMDE_ARCH_X86_SVML)
|
|
40
|
+
#define SIMDE_X86_SVML_NATIVE
|
|
41
|
+
#endif
|
|
42
|
+
#endif
|
|
43
|
+
#if defined(SIMDE_X86_SVML_NATIVE) && !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
44
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
#if !defined(SIMDE_X86_AVX512VP2INTERSECT_NATIVE) && \
|
|
48
|
+
!defined(SIMDE_X86_AVX512VP2INTERSECT_NO_NATIVE) && \
|
|
49
|
+
!defined(SIMDE_NO_NATIVE)
|
|
50
|
+
#if defined(SIMDE_ARCH_X86_AVX512VP2INTERSECT)
|
|
51
|
+
#define SIMDE_X86_AVX512VP2INTERSECT_NATIVE
|
|
52
|
+
#endif
|
|
53
|
+
#endif
|
|
54
|
+
#if defined(SIMDE_X86_AVX512VP2INTERSECT_NATIVE) && \
|
|
55
|
+
!defined(SIMDE_X86_AVX512F_NATIVE)
|
|
56
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
57
|
+
#endif
|
|
58
|
+
|
|
59
|
+
#if !defined(SIMDE_X86_AVX512VBMI_NATIVE) && \
|
|
60
|
+
!defined(SIMDE_X86_AVX512VBMI_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
61
|
+
#if defined(SIMDE_ARCH_X86_AVX512VBMI)
|
|
62
|
+
#define SIMDE_X86_AVX512VBMI_NATIVE
|
|
63
|
+
#endif
|
|
64
|
+
#endif
|
|
65
|
+
#if defined(SIMDE_X86_AVX512VBMI_NATIVE) && !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
66
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
#if !defined(SIMDE_X86_AVX512CD_NATIVE) && \
|
|
70
|
+
!defined(SIMDE_X86_AVX512CD_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
71
|
+
#if defined(SIMDE_ARCH_X86_AVX512CD)
|
|
72
|
+
#define SIMDE_X86_AVX512CD_NATIVE
|
|
73
|
+
#endif
|
|
74
|
+
#endif
|
|
75
|
+
#if defined(SIMDE_X86_AVX512CD_NATIVE) && !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
76
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
#if !defined(SIMDE_X86_AVX512DQ_NATIVE) && \
|
|
80
|
+
!defined(SIMDE_X86_AVX512DQ_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
81
|
+
#if defined(SIMDE_ARCH_X86_AVX512DQ)
|
|
82
|
+
#define SIMDE_X86_AVX512DQ_NATIVE
|
|
83
|
+
#endif
|
|
84
|
+
#endif
|
|
85
|
+
#if defined(SIMDE_X86_AVX512DQ_NATIVE) && !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
86
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
87
|
+
#endif
|
|
88
|
+
|
|
89
|
+
#if !defined(SIMDE_X86_AVX512VL_NATIVE) && \
|
|
90
|
+
!defined(SIMDE_X86_AVX512VL_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
91
|
+
#if defined(SIMDE_ARCH_X86_AVX512VL)
|
|
92
|
+
#define SIMDE_X86_AVX512VL_NATIVE
|
|
93
|
+
#endif
|
|
94
|
+
#endif
|
|
95
|
+
#if defined(SIMDE_X86_AVX512VL_NATIVE) && !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
96
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
#if !defined(SIMDE_X86_AVX512BW_NATIVE) && \
|
|
100
|
+
!defined(SIMDE_X86_AVX512BW_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
101
|
+
#if defined(SIMDE_ARCH_X86_AVX512BW)
|
|
102
|
+
#define SIMDE_X86_AVX512BW_NATIVE
|
|
103
|
+
#endif
|
|
104
|
+
#endif
|
|
105
|
+
#if defined(SIMDE_X86_AVX512BW_NATIVE) && !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
106
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
107
|
+
#endif
|
|
108
|
+
|
|
109
|
+
#if !defined(SIMDE_X86_AVX512F_NATIVE) && \
|
|
110
|
+
!defined(SIMDE_X86_AVX512F_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
111
|
+
#if defined(SIMDE_ARCH_X86_AVX512F)
|
|
112
|
+
#define SIMDE_X86_AVX512F_NATIVE
|
|
113
|
+
#endif
|
|
114
|
+
#endif
|
|
115
|
+
#if defined(SIMDE_X86_AVX512F_NATIVE) && !defined(SIMDE_X86_AVX2_NATIVE)
|
|
116
|
+
#define SIMDE_X86_AVX2_NATIVE
|
|
117
|
+
#endif
|
|
118
|
+
|
|
119
|
+
#if !defined(SIMDE_X86_FMA_NATIVE) && !defined(SIMDE_X86_FMA_NO_NATIVE) && \
|
|
120
|
+
!defined(SIMDE_NO_NATIVE)
|
|
121
|
+
#if defined(SIMDE_ARCH_X86_FMA)
|
|
122
|
+
#define SIMDE_X86_FMA_NATIVE
|
|
123
|
+
#endif
|
|
124
|
+
#endif
|
|
125
|
+
#if defined(SIMDE_X86_FMA_NATIVE) && !defined(SIMDE_X86_AVX_NATIVE)
|
|
126
|
+
#define SIMDE_X86_AVX_NATIVE
|
|
127
|
+
#endif
|
|
128
|
+
|
|
129
|
+
#if !defined(SIMDE_X86_AVX2_NATIVE) && !defined(SIMDE_X86_AVX2_NO_NATIVE) && \
|
|
130
|
+
!defined(SIMDE_NO_NATIVE)
|
|
131
|
+
#if defined(SIMDE_ARCH_X86_AVX2)
|
|
132
|
+
#define SIMDE_X86_AVX2_NATIVE
|
|
133
|
+
#endif
|
|
134
|
+
#endif
|
|
135
|
+
#if defined(SIMDE_X86_AVX2_NATIVE) && !defined(SIMDE_X86_AVX_NATIVE)
|
|
136
|
+
#define SIMDE_X86_AVX_NATIVE
|
|
137
|
+
#endif
|
|
138
|
+
|
|
139
|
+
#if !defined(SIMDE_X86_AVX_NATIVE) && !defined(SIMDE_X86_AVX_NO_NATIVE) && \
|
|
140
|
+
!defined(SIMDE_NO_NATIVE)
|
|
141
|
+
#if defined(SIMDE_ARCH_X86_AVX)
|
|
142
|
+
#define SIMDE_X86_AVX_NATIVE
|
|
143
|
+
#endif
|
|
144
|
+
#endif
|
|
145
|
+
#if defined(SIMDE_X86_AVX_NATIVE) && !defined(SIMDE_X86_SSE4_1_NATIVE)
|
|
146
|
+
#define SIMDE_X86_SSE4_2_NATIVE
|
|
147
|
+
#endif
|
|
148
|
+
|
|
149
|
+
#if !defined(SIMDE_X86_SSE4_2_NATIVE) && \
|
|
150
|
+
!defined(SIMDE_X86_SSE4_2_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
151
|
+
#if defined(SIMDE_ARCH_X86_SSE4_2)
|
|
152
|
+
#define SIMDE_X86_SSE4_2_NATIVE
|
|
153
|
+
#endif
|
|
154
|
+
#endif
|
|
155
|
+
#if defined(SIMDE_X86_SSE4_2_NATIVE) && !defined(SIMDE_X86_SSE4_1_NATIVE)
|
|
156
|
+
#define SIMDE_X86_SSE4_1_NATIVE
|
|
157
|
+
#endif
|
|
158
|
+
|
|
159
|
+
#if !defined(SIMDE_X86_SSE4_1_NATIVE) && \
|
|
160
|
+
!defined(SIMDE_X86_SSE4_1_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
161
|
+
#if defined(SIMDE_ARCH_X86_SSE4_1)
|
|
162
|
+
#define SIMDE_X86_SSE4_1_NATIVE
|
|
163
|
+
#endif
|
|
164
|
+
#endif
|
|
165
|
+
#if defined(SIMDE_X86_SSE4_1_NATIVE) && !defined(SIMDE_X86_SSSE3_NATIVE)
|
|
166
|
+
#define SIMDE_X86_SSSE3_NATIVE
|
|
167
|
+
#endif
|
|
168
|
+
|
|
169
|
+
#if !defined(SIMDE_X86_SSSE3_NATIVE) && !defined(SIMDE_X86_SSSE3_NO_NATIVE) && \
|
|
170
|
+
!defined(SIMDE_NO_NATIVE)
|
|
171
|
+
#if defined(SIMDE_ARCH_X86_SSSE3)
|
|
172
|
+
#define SIMDE_X86_SSSE3_NATIVE
|
|
173
|
+
#endif
|
|
174
|
+
#endif
|
|
175
|
+
#if defined(SIMDE_X86_SSSE3_NATIVE) && !defined(SIMDE_X86_SSE3_NATIVE)
|
|
176
|
+
#define SIMDE_X86_SSE3_NATIVE
|
|
177
|
+
#endif
|
|
178
|
+
|
|
179
|
+
#if !defined(SIMDE_X86_SSE3_NATIVE) && !defined(SIMDE_X86_SSE3_NO_NATIVE) && \
|
|
180
|
+
!defined(SIMDE_NO_NATIVE)
|
|
181
|
+
#if defined(SIMDE_ARCH_X86_SSE3)
|
|
182
|
+
#define SIMDE_X86_SSE3_NATIVE
|
|
183
|
+
#endif
|
|
184
|
+
#endif
|
|
185
|
+
#if defined(SIMDE_X86_SSE3_NATIVE) && !defined(SIMDE_X86_SSE2_NATIVE)
|
|
186
|
+
#define SIMDE_X86_SSE2_NATIVE
|
|
187
|
+
#endif
|
|
188
|
+
|
|
189
|
+
#if !defined(SIMDE_X86_SSE2_NATIVE) && !defined(SIMDE_X86_SSE2_NO_NATIVE) && \
|
|
190
|
+
!defined(SIMDE_NO_NATIVE)
|
|
191
|
+
#if defined(SIMDE_ARCH_X86_SSE2)
|
|
192
|
+
#define SIMDE_X86_SSE2_NATIVE
|
|
193
|
+
#endif
|
|
194
|
+
#endif
|
|
195
|
+
#if defined(SIMDE_X86_SSE2_NATIVE) && !defined(SIMDE_X86_SSE_NATIVE)
|
|
196
|
+
#define SIMDE_X86_SSE_NATIVE
|
|
197
|
+
#endif
|
|
198
|
+
|
|
199
|
+
#if !defined(SIMDE_X86_SSE_NATIVE) && !defined(SIMDE_X86_SSE_NO_NATIVE) && \
|
|
200
|
+
!defined(SIMDE_NO_NATIVE)
|
|
201
|
+
#if defined(SIMDE_ARCH_X86_SSE)
|
|
202
|
+
#define SIMDE_X86_SSE_NATIVE
|
|
203
|
+
#endif
|
|
204
|
+
#endif
|
|
205
|
+
|
|
206
|
+
#if !defined(SIMDE_X86_MMX_NATIVE) && !defined(SIMDE_X86_MMX_NO_NATIVE) && \
|
|
207
|
+
!defined(SIMDE_NO_NATIVE)
|
|
208
|
+
#if defined(SIMDE_ARCH_X86_MMX)
|
|
209
|
+
#define SIMDE_X86_MMX_NATIVE
|
|
210
|
+
#endif
|
|
211
|
+
#endif
|
|
212
|
+
|
|
213
|
+
#if !defined(SIMDE_X86_GFNI_NATIVE) && !defined(SIMDE_X86_GFNI_NO_NATIVE) && \
|
|
214
|
+
!defined(SIMDE_NO_NATIVE)
|
|
215
|
+
#if defined(SIMDE_ARCH_X86_GFNI)
|
|
216
|
+
#define SIMDE_X86_GFNI_NATIVE
|
|
217
|
+
#endif
|
|
218
|
+
#endif
|
|
219
|
+
|
|
220
|
+
#if !defined(SIMDE_X86_PCLMUL_NATIVE) && \
|
|
221
|
+
!defined(SIMDE_X86_PCLMUL_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
222
|
+
#if defined(SIMDE_ARCH_X86_PCLMUL)
|
|
223
|
+
#define SIMDE_X86_PCLMUL_NATIVE
|
|
224
|
+
#endif
|
|
225
|
+
#endif
|
|
226
|
+
|
|
227
|
+
#if !defined(SIMDE_X86_VPCLMULQDQ_NATIVE) && \
|
|
228
|
+
!defined(SIMDE_X86_VPCLMULQDQ_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
229
|
+
#if defined(SIMDE_ARCH_X86_VPCLMULQDQ)
|
|
230
|
+
#define SIMDE_X86_VPCLMULQDQ_NATIVE
|
|
231
|
+
#endif
|
|
232
|
+
#endif
|
|
233
|
+
|
|
234
|
+
#if !defined(SIMDE_X86_SVML_NATIVE) && !defined(SIMDE_X86_SVML_NO_NATIVE) && \
|
|
235
|
+
!defined(SIMDE_NO_NATIVE)
|
|
236
|
+
#if defined(__INTEL_COMPILER)
|
|
237
|
+
#define SIMDE_X86_SVML_NATIVE
|
|
238
|
+
#endif
|
|
239
|
+
#endif
|
|
240
|
+
|
|
241
|
+
#if defined(HEDLEY_MSVC_VERSION)
|
|
242
|
+
#pragma warning(push)
|
|
243
|
+
#pragma warning(disable : 4799)
|
|
244
|
+
#endif
|
|
245
|
+
|
|
246
|
+
#if defined(SIMDE_X86_AVX_NATIVE) || defined(SIMDE_X86_GFNI_NATIVE)
|
|
247
|
+
#include <immintrin.h>
|
|
248
|
+
#elif defined(SIMDE_X86_SSE4_2_NATIVE)
|
|
249
|
+
#include <nmmintrin.h>
|
|
250
|
+
#elif defined(SIMDE_X86_SSE4_1_NATIVE)
|
|
251
|
+
#include <smmintrin.h>
|
|
252
|
+
#elif defined(SIMDE_X86_SSSE3_NATIVE)
|
|
253
|
+
#include <tmmintrin.h>
|
|
254
|
+
#elif defined(SIMDE_X86_SSE3_NATIVE)
|
|
255
|
+
#include <pmmintrin.h>
|
|
256
|
+
#elif defined(SIMDE_X86_SSE2_NATIVE)
|
|
257
|
+
#include <emmintrin.h>
|
|
258
|
+
#elif defined(SIMDE_X86_SSE_NATIVE)
|
|
259
|
+
#include <xmmintrin.h>
|
|
260
|
+
#elif defined(SIMDE_X86_MMX_NATIVE)
|
|
261
|
+
#include <mmintrin.h>
|
|
262
|
+
#endif
|
|
263
|
+
|
|
264
|
+
#if defined(HEDLEY_MSVC_VERSION)
|
|
265
|
+
#pragma warning(pop)
|
|
266
|
+
#endif
|
|
267
|
+
|
|
268
|
+
#if !defined(SIMDE_ARM_NEON_A64V8_NATIVE) && \
|
|
269
|
+
!defined(SIMDE_ARM_NEON_A64V8_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
270
|
+
#if defined(SIMDE_ARCH_ARM_NEON) && defined(SIMDE_ARCH_AARCH64) && \
|
|
271
|
+
SIMDE_ARCH_ARM_CHECK(80)
|
|
272
|
+
#define SIMDE_ARM_NEON_A64V8_NATIVE
|
|
273
|
+
#endif
|
|
274
|
+
#endif
|
|
275
|
+
#if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && \
|
|
276
|
+
!defined(SIMDE_ARM_NEON_A32V8_NATIVE)
|
|
277
|
+
#define SIMDE_ARM_NEON_A32V8_NATIVE
|
|
278
|
+
#endif
|
|
279
|
+
|
|
280
|
+
#if !defined(SIMDE_ARM_NEON_A32V8_NATIVE) && \
|
|
281
|
+
!defined(SIMDE_ARM_NEON_A32V8_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
282
|
+
#if defined(SIMDE_ARCH_ARM_NEON) && SIMDE_ARCH_ARM_CHECK(80) && \
|
|
283
|
+
(__ARM_NEON_FP & 0x02)
|
|
284
|
+
#define SIMDE_ARM_NEON_A32V8_NATIVE
|
|
285
|
+
#endif
|
|
286
|
+
#endif
|
|
287
|
+
#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && \
|
|
288
|
+
!defined(SIMDE_ARM_NEON_A32V7_NATIVE)
|
|
289
|
+
#define SIMDE_ARM_NEON_A32V7_NATIVE
|
|
290
|
+
#endif
|
|
291
|
+
|
|
292
|
+
#if !defined(SIMDE_ARM_NEON_A32V7_NATIVE) && \
|
|
293
|
+
!defined(SIMDE_ARM_NEON_A32V7_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
294
|
+
#if defined(SIMDE_ARCH_ARM_NEON) && SIMDE_ARCH_ARM_CHECK(70)
|
|
295
|
+
#define SIMDE_ARM_NEON_A32V7_NATIVE
|
|
296
|
+
#endif
|
|
297
|
+
#endif
|
|
298
|
+
#if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
|
|
299
|
+
#include <arm_neon.h>
|
|
300
|
+
#endif
|
|
301
|
+
|
|
302
|
+
#if !defined(SIMDE_ARM_SVE_NATIVE) && !defined(SIMDE_ARM_SVE_NO_NATIVE) && \
|
|
303
|
+
!defined(SIMDE_NO_NATIVE)
|
|
304
|
+
#if defined(SIMDE_ARCH_ARM_SVE)
|
|
305
|
+
#define SIMDE_ARM_SVE_NATIVE
|
|
306
|
+
#include <arm_sve.h>
|
|
307
|
+
#endif
|
|
308
|
+
#endif
|
|
309
|
+
|
|
310
|
+
#if !defined(SIMDE_WASM_SIMD128_NATIVE) && \
|
|
311
|
+
!defined(SIMDE_WASM_SIMD128_NO_NATIVE) && !defined(SIMDE_NO_NATIVE)
|
|
312
|
+
#if defined(SIMDE_ARCH_WASM_SIMD128)
|
|
313
|
+
#define SIMDE_WASM_SIMD128_NATIVE
|
|
314
|
+
#endif
|
|
315
|
+
#endif
|
|
316
|
+
#if defined(SIMDE_WASM_SIMD128_NATIVE)
|
|
317
|
+
#if !defined(__wasm_unimplemented_simd128__)
|
|
318
|
+
HEDLEY_DIAGNOSTIC_PUSH
|
|
319
|
+
SIMDE_DIAGNOSTIC_DISABLE_RESERVED_ID_MACRO_
|
|
320
|
+
#define __wasm_unimplemented_simd128__
|
|
321
|
+
HEDLEY_DIAGNOSTIC_POP
|
|
322
|
+
#endif
|
|
323
|
+
#include <wasm_simd128.h>
|
|
324
|
+
#endif
|
|
325
|
+
|
|
326
|
+
#if !defined(SIMDE_POWER_ALTIVEC_P9_NATIVE) && \
|
|
327
|
+
!defined(SIMDE_POWER_ALTIVEC_P9_NO_NATIVE) && \
|
|
328
|
+
!defined(SIMDE_NO_NATIVE)
|
|
329
|
+
#if SIMDE_ARCH_POWER_ALTIVEC_CHECK(900)
|
|
330
|
+
#define SIMDE_POWER_ALTIVEC_P9_NATIVE
|
|
331
|
+
#endif
|
|
332
|
+
#endif
|
|
333
|
+
#if defined(SIMDE_POWER_ALTIVEC_P9_NATIVE) && !defined(SIMDE_POWER_ALTIVEC_P8)
|
|
334
|
+
#define SIMDE_POWER_ALTIVEC_P8_NATIVE
|
|
335
|
+
#endif
|
|
336
|
+
|
|
337
|
+
#if !defined(SIMDE_POWER_ALTIVEC_P8_NATIVE) && \
|
|
338
|
+
!defined(SIMDE_POWER_ALTIVEC_P8_NO_NATIVE) && \
|
|
339
|
+
!defined(SIMDE_NO_NATIVE)
|
|
340
|
+
#if SIMDE_ARCH_POWER_ALTIVEC_CHECK(800)
|
|
341
|
+
#define SIMDE_POWER_ALTIVEC_P8_NATIVE
|
|
342
|
+
#endif
|
|
343
|
+
#endif
|
|
344
|
+
#if defined(SIMDE_POWER_ALTIVEC_P8_NATIVE) && !defined(SIMDE_POWER_ALTIVEC_P7)
|
|
345
|
+
#define SIMDE_POWER_ALTIVEC_P7_NATIVE
|
|
346
|
+
#endif
|
|
347
|
+
|
|
348
|
+
#if !defined(SIMDE_POWER_ALTIVEC_P7_NATIVE) && \
|
|
349
|
+
!defined(SIMDE_POWER_ALTIVEC_P7_NO_NATIVE) && \
|
|
350
|
+
!defined(SIMDE_NO_NATIVE)
|
|
351
|
+
#if SIMDE_ARCH_POWER_ALTIVEC_CHECK(700)
|
|
352
|
+
#define SIMDE_POWER_ALTIVEC_P7_NATIVE
|
|
353
|
+
#endif
|
|
354
|
+
#endif
|
|
355
|
+
#if defined(SIMDE_POWER_ALTIVEC_P7_NATIVE) && !defined(SIMDE_POWER_ALTIVEC_P6)
|
|
356
|
+
#define SIMDE_POWER_ALTIVEC_P6_NATIVE
|
|
357
|
+
#endif
|
|
358
|
+
|
|
359
|
+
#if !defined(SIMDE_POWER_ALTIVEC_P6_NATIVE) && \
|
|
360
|
+
!defined(SIMDE_POWER_ALTIVEC_P6_NO_NATIVE) && \
|
|
361
|
+
!defined(SIMDE_NO_NATIVE)
|
|
362
|
+
#if SIMDE_ARCH_POWER_ALTIVEC_CHECK(600)
|
|
363
|
+
#define SIMDE_POWER_ALTIVEC_P6_NATIVE
|
|
364
|
+
#endif
|
|
365
|
+
#endif
|
|
366
|
+
#if defined(SIMDE_POWER_ALTIVEC_P6_NATIVE) && !defined(SIMDE_POWER_ALTIVEC_P5)
|
|
367
|
+
#define SIMDE_POWER_ALTIVEC_P5_NATIVE
|
|
368
|
+
#endif
|
|
369
|
+
|
|
370
|
+
#if !defined(SIMDE_POWER_ALTIVEC_P5_NATIVE) && \
|
|
371
|
+
!defined(SIMDE_POWER_ALTIVEC_P5_NO_NATIVE) && \
|
|
372
|
+
!defined(SIMDE_NO_NATIVE)
|
|
373
|
+
#if SIMDE_ARCH_POWER_ALTIVEC_CHECK(500)
|
|
374
|
+
#define SIMDE_POWER_ALTIVEC_P5_NATIVE
|
|
375
|
+
#endif
|
|
376
|
+
#endif
|
|
377
|
+
|
|
378
|
+
#if defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
|
|
379
|
+
/* AltiVec conflicts with lots of stuff. The bool keyword conflicts
|
|
380
|
+
* with the bool keyword in C++ and the bool macro in C99+ (defined
|
|
381
|
+
* in stdbool.h). The vector keyword conflicts with std::vector in
|
|
382
|
+
* C++ if you are `using std;`.
|
|
383
|
+
*
|
|
384
|
+
* Luckily AltiVec allows you to use `__vector`/`__bool`/`__pixel`
|
|
385
|
+
* instead, but altivec.h will unconditionally define
|
|
386
|
+
* `vector`/`bool`/`pixel` so we need to work around that.
|
|
387
|
+
*
|
|
388
|
+
* Unfortunately this means that if your code uses AltiVec directly
|
|
389
|
+
* it may break. If this is the case you'll want to define
|
|
390
|
+
* `SIMDE_POWER_ALTIVEC_NO_UNDEF` before including SIMDe. Or, even
|
|
391
|
+
* better, port your code to use the double-underscore versions. */
|
|
392
|
+
#if defined(bool)
|
|
393
|
+
#undef bool
|
|
394
|
+
#endif
|
|
395
|
+
|
|
396
|
+
#include <altivec.h>
|
|
397
|
+
|
|
398
|
+
#if !defined(SIMDE_POWER_ALTIVEC_NO_UNDEF)
|
|
399
|
+
#if defined(vector)
|
|
400
|
+
#undef vector
|
|
401
|
+
#endif
|
|
402
|
+
#if defined(pixel)
|
|
403
|
+
#undef pixel
|
|
404
|
+
#endif
|
|
405
|
+
#if defined(bool)
|
|
406
|
+
#undef bool
|
|
407
|
+
#endif
|
|
408
|
+
#endif /* !defined(SIMDE_POWER_ALTIVEC_NO_UNDEF) */
|
|
409
|
+
|
|
410
|
+
/* Use these intsead of vector/pixel/bool in SIMDe. */
|
|
411
|
+
#define SIMDE_POWER_ALTIVEC_VECTOR(T) __vector T
|
|
412
|
+
#define SIMDE_POWER_ALTIVEC_PIXEL __pixel
|
|
413
|
+
#define SIMDE_POWER_ALTIVEC_BOOL __bool
|
|
414
|
+
|
|
415
|
+
/* Re-define bool if we're using stdbool.h */
|
|
416
|
+
#if !defined(__cplusplus) && defined(__bool_true_false_are_defined) && \
|
|
417
|
+
!defined(SIMDE_POWER_ALTIVEC_NO_UNDEF)
|
|
418
|
+
#define bool _Bool
|
|
419
|
+
#endif
|
|
420
|
+
#endif
|
|
421
|
+
|
|
422
|
+
#if !defined(SIMDE_MIPS_LOONGSON_MMI_NATIVE) && \
|
|
423
|
+
!defined(SIMDE_MIPS_LOONGSON_MMI_NO_NATIVE) && \
|
|
424
|
+
!defined(SIMDE_NO_NATIVE)
|
|
425
|
+
#if defined(SIMDE_ARCH_MIPS_LOONGSON_MMI)
|
|
426
|
+
#define SIMDE_MIPS_LOONGSON_MMI_NATIVE 1
|
|
427
|
+
#endif
|
|
428
|
+
#endif
|
|
429
|
+
#if defined(SIMDE_MIPS_LOONGSON_MMI_NATIVE)
|
|
430
|
+
#include <loongson-mmiintrin.h>
|
|
431
|
+
#endif
|
|
432
|
+
|
|
433
|
+
/* This is used to determine whether or not to fall back on a vector
|
|
434
|
+
* function in an earlier ISA extensions, as well as whether
|
|
435
|
+
* we expected any attempts at vectorization to be fruitful or if we
|
|
436
|
+
* expect to always be running serial code. */
|
|
437
|
+
|
|
438
|
+
#if !defined(SIMDE_NATURAL_VECTOR_SIZE)
|
|
439
|
+
#if defined(SIMDE_X86_AVX512F_NATIVE)
|
|
440
|
+
#define SIMDE_NATURAL_VECTOR_SIZE (512)
|
|
441
|
+
#elif defined(SIMDE_X86_AVX_NATIVE)
|
|
442
|
+
#define SIMDE_NATURAL_VECTOR_SIZE (256)
|
|
443
|
+
#elif defined(SIMDE_X86_SSE_NATIVE) || defined(SIMDE_ARM_NEON_A32V7_NATIVE) || \
|
|
444
|
+
defined(SIMDE_WASM_SIMD128_NATIVE) || \
|
|
445
|
+
defined(SIMDE_POWER_ALTIVEC_P5_NATIVE)
|
|
446
|
+
#define SIMDE_NATURAL_VECTOR_SIZE (128)
|
|
447
|
+
#endif
|
|
448
|
+
|
|
449
|
+
#if !defined(SIMDE_NATURAL_VECTOR_SIZE)
|
|
450
|
+
#define SIMDE_NATURAL_VECTOR_SIZE (0)
|
|
451
|
+
#endif
|
|
452
|
+
#endif
|
|
453
|
+
|
|
454
|
+
#define SIMDE_NATURAL_VECTOR_SIZE_LE(x) \
|
|
455
|
+
((SIMDE_NATURAL_VECTOR_SIZE > 0) && (SIMDE_NATURAL_VECTOR_SIZE <= (x)))
|
|
456
|
+
#define SIMDE_NATURAL_VECTOR_SIZE_GE(x) \
|
|
457
|
+
((SIMDE_NATURAL_VECTOR_SIZE > 0) && (SIMDE_NATURAL_VECTOR_SIZE >= (x)))
|
|
458
|
+
|
|
459
|
+
/* Native aliases */
|
|
460
|
+
#if defined(SIMDE_ENABLE_NATIVE_ALIASES)
|
|
461
|
+
#if !defined(SIMDE_X86_MMX_NATIVE)
|
|
462
|
+
#define SIMDE_X86_MMX_ENABLE_NATIVE_ALIASES
|
|
463
|
+
#endif
|
|
464
|
+
#if !defined(SIMDE_X86_SSE_NATIVE)
|
|
465
|
+
#define SIMDE_X86_SSE_ENABLE_NATIVE_ALIASES
|
|
466
|
+
#endif
|
|
467
|
+
#if !defined(SIMDE_X86_SSE2_NATIVE)
|
|
468
|
+
#define SIMDE_X86_SSE2_ENABLE_NATIVE_ALIASES
|
|
469
|
+
#endif
|
|
470
|
+
#if !defined(SIMDE_X86_SSE3_NATIVE)
|
|
471
|
+
#define SIMDE_X86_SSE3_ENABLE_NATIVE_ALIASES
|
|
472
|
+
#endif
|
|
473
|
+
#if !defined(SIMDE_X86_SSSE3_NATIVE)
|
|
474
|
+
#define SIMDE_X86_SSSE3_ENABLE_NATIVE_ALIASES
|
|
475
|
+
#endif
|
|
476
|
+
#if !defined(SIMDE_X86_SSE4_1_NATIVE)
|
|
477
|
+
#define SIMDE_X86_SSE4_1_ENABLE_NATIVE_ALIASES
|
|
478
|
+
#endif
|
|
479
|
+
#if !defined(SIMDE_X86_SSE4_2_NATIVE)
|
|
480
|
+
#define SIMDE_X86_SSE4_2_ENABLE_NATIVE_ALIASES
|
|
481
|
+
#endif
|
|
482
|
+
#if !defined(SIMDE_X86_AVX_NATIVE)
|
|
483
|
+
#define SIMDE_X86_AVX_ENABLE_NATIVE_ALIASES
|
|
484
|
+
#endif
|
|
485
|
+
#if !defined(SIMDE_X86_AVX2_NATIVE)
|
|
486
|
+
#define SIMDE_X86_AVX2_ENABLE_NATIVE_ALIASES
|
|
487
|
+
#endif
|
|
488
|
+
#if !defined(SIMDE_X86_FMA_NATIVE)
|
|
489
|
+
#define SIMDE_X86_FMA_ENABLE_NATIVE_ALIASES
|
|
490
|
+
#endif
|
|
491
|
+
#if !defined(SIMDE_X86_AVX512F_NATIVE)
|
|
492
|
+
#define SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES
|
|
493
|
+
#endif
|
|
494
|
+
#if !defined(SIMDE_X86_AVX512VL_NATIVE)
|
|
495
|
+
#define SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES
|
|
496
|
+
#endif
|
|
497
|
+
#if !defined(SIMDE_X86_AVX512BW_NATIVE)
|
|
498
|
+
#define SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES
|
|
499
|
+
#endif
|
|
500
|
+
#if !defined(SIMDE_X86_AVX512DQ_NATIVE)
|
|
501
|
+
#define SIMDE_X86_AVX512DQ_ENABLE_NATIVE_ALIASES
|
|
502
|
+
#endif
|
|
503
|
+
#if !defined(SIMDE_X86_AVX512CD_NATIVE)
|
|
504
|
+
#define SIMDE_X86_AVX512CD_ENABLE_NATIVE_ALIASES
|
|
505
|
+
#endif
|
|
506
|
+
#if !defined(SIMDE_X86_GFNI_NATIVE)
|
|
507
|
+
#define SIMDE_X86_GFNI_ENABLE_NATIVE_ALIASES
|
|
508
|
+
#endif
|
|
509
|
+
#if !defined(SIMDE_X86_PCLMUL_NATIVE)
|
|
510
|
+
#define SIMDE_X86_PCLMUL_ENABLE_NATIVE_ALIASES
|
|
511
|
+
#endif
|
|
512
|
+
#if !defined(SIMDE_X86_VPCLMULQDQ_NATIVE)
|
|
513
|
+
#define SIMDE_X86_VPCLMULQDQ_ENABLE_NATIVE_ALIASES
|
|
514
|
+
#endif
|
|
515
|
+
|
|
516
|
+
#if !defined(SIMDE_ARM_NEON_A32V7_NATIVE)
|
|
517
|
+
#define SIMDE_ARM_NEON_A32V7_ENABLE_NATIVE_ALIASES
|
|
518
|
+
#endif
|
|
519
|
+
#if !defined(SIMDE_ARM_NEON_A32V8_NATIVE)
|
|
520
|
+
#define SIMDE_ARM_NEON_A32V8_ENABLE_NATIVE_ALIASES
|
|
521
|
+
#endif
|
|
522
|
+
#if !defined(SIMDE_ARM_NEON_A64V8_NATIVE)
|
|
523
|
+
#define SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES
|
|
524
|
+
#endif
|
|
525
|
+
#endif
|
|
526
|
+
|
|
527
|
+
/* Are floating point values stored using IEEE 754? Knowing
|
|
528
|
+
* this at during preprocessing is a bit tricky, mostly because what
|
|
529
|
+
* we're curious about is how values are stored and not whether the
|
|
530
|
+
* implementation is fully conformant in terms of rounding, NaN
|
|
531
|
+
* handling, etc.
|
|
532
|
+
*
|
|
533
|
+
* For example, if you use -ffast-math or -Ofast on
|
|
534
|
+
* GCC or clang IEEE 754 isn't strictly followed, therefore IEE 754
|
|
535
|
+
* support is not advertised (by defining __STDC_IEC_559__).
|
|
536
|
+
*
|
|
537
|
+
* However, what we care about is whether it is safe to assume that
|
|
538
|
+
* floating point values are stored in IEEE 754 format, in which case
|
|
539
|
+
* we can provide faster implementations of some functions.
|
|
540
|
+
*
|
|
541
|
+
* Luckily every vaugely modern architecture I'm aware of uses IEEE 754-
|
|
542
|
+
* so we just assume IEEE 754 for now. There is a test which verifies
|
|
543
|
+
* this, if that test fails sowewhere please let us know and we'll add
|
|
544
|
+
* an exception for that platform. Meanwhile, you can define
|
|
545
|
+
* SIMDE_NO_IEEE754_STORAGE. */
|
|
546
|
+
#if !defined(SIMDE_IEEE754_STORAGE) && !defined(SIMDE_NO_IEE754_STORAGE)
|
|
547
|
+
#define SIMDE_IEEE754_STORAGE
|
|
548
|
+
#endif
|
|
549
|
+
|
|
550
|
+
#endif /* !defined(SIMDE_FEATURES_H) */
|