GDAL
include_fast_float.h
1 #ifndef INCLUDE_FAST_FLOAT_H
2 #define INCLUDE_FAST_FLOAT_H
3 
4 #if defined(__GNUC__)
5 #pragma GCC system_header
6 #endif
7 
8 // Detect if there's a system fast_float library available
9 #if defined(__has_include) && !defined(USE_SYSTEM_FAST_FLOAT)
10 #if __has_include("fast_float/fast_float.h")
11 #define USE_SYSTEM_FAST_FLOAT 1
12 #endif
13 #endif
14 
15 #ifdef __clang__
16 #pragma clang attribute push( \
17  __attribute__((no_sanitize("unsigned-integer-overflow"))), \
18  apply_to = function)
19 #endif
20 
21 #if USE_SYSTEM_FAST_FLOAT
22 
23 #include "fast_float/fast_float.h"
24 
25 #else
26 
27 // GDAL wrapper around fast_float to namespace it under gdal_fast_float
28 // if using vendored version
29 
30 #define fast_float gdal_fast_float
31 #include "../third_party/fast_float/fast_float.h"
32 #endif
33 
34 #ifdef __clang__
35 #pragma clang attribute pop
36 #endif
37 
38 #endif // INCLUDE_FAST_FLOAT_H