summaryrefslogtreecommitdiff
path: root/thirdparty/embree-aarch64/common/math/constants.h
diff options
context:
space:
mode:
authorjfons <joan.fonssanchez@gmail.com>2021-05-20 12:49:33 +0200
committerjfons <joan.fonssanchez@gmail.com>2021-05-21 17:00:24 +0200
commit767e374dced69b45db0afb30ca2ccf0bbbeef672 (patch)
treea712cecc2c8cc2c6d6ecdc4a50020d423ddb4c0c /thirdparty/embree-aarch64/common/math/constants.h
parent42b6602f1d4b108cecb94b94c0d2b645acaebd4f (diff)
Upgrade Embree to the latest official release.
Since Embree v3.13.0 supports AARCH64, switch back to the official repo instead of using Embree-aarch64. `thirdparty/embree/patches/godot-changes.patch` should now contain an accurate diff of the changes done to the library.
Diffstat (limited to 'thirdparty/embree-aarch64/common/math/constants.h')
-rw-r--r--thirdparty/embree-aarch64/common/math/constants.h239
1 files changed, 0 insertions, 239 deletions
diff --git a/thirdparty/embree-aarch64/common/math/constants.h b/thirdparty/embree-aarch64/common/math/constants.h
deleted file mode 100644
index e80abec80f..0000000000
--- a/thirdparty/embree-aarch64/common/math/constants.h
+++ /dev/null
@@ -1,239 +0,0 @@
-// Copyright 2009-2020 Intel Corporation
-// SPDX-License-Identifier: Apache-2.0
-
-#pragma once
-
-#include "../sys/platform.h"
-
-#include <limits>
-
-#define _USE_MATH_DEFINES
-#include <math.h> // using cmath causes issues under Windows
-#include <cfloat>
-#include <climits>
-
-// Math constants may not be defined in libcxx + mingw + strict C++ standard
-#if defined(__MINGW32__)
-
-// TODO(LTE): use constexpr
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-#ifndef M_1_PI
-#define M_1_PI 0.31830988618379067154
-#endif
-
-#endif // __MINGW32__
-
-namespace embree
-{
- static MAYBE_UNUSED const float one_over_255 = 1.0f/255.0f;
- static MAYBE_UNUSED const float min_rcp_input = 1E-18f; // for abs(x) >= min_rcp_input the newton raphson rcp calculation does not fail
-
- /* we consider floating point numbers in that range as valid input numbers */
- static MAYBE_UNUSED float FLT_LARGE = 1.844E18f;
-
- struct TrueTy {
- __forceinline operator bool( ) const { return true; }
- };
-
- extern MAYBE_UNUSED TrueTy True;
-
- struct FalseTy {
- __forceinline operator bool( ) const { return false; }
- };
-
- extern MAYBE_UNUSED FalseTy False;
-
- struct ZeroTy
- {
- __forceinline operator double ( ) const { return 0; }
- __forceinline operator float ( ) const { return 0; }
- __forceinline operator long long( ) const { return 0; }
- __forceinline operator unsigned long long( ) const { return 0; }
- __forceinline operator long ( ) const { return 0; }
- __forceinline operator unsigned long ( ) const { return 0; }
- __forceinline operator int ( ) const { return 0; }
- __forceinline operator unsigned int ( ) const { return 0; }
- __forceinline operator short ( ) const { return 0; }
- __forceinline operator unsigned short ( ) const { return 0; }
- __forceinline operator int8_t ( ) const { return 0; }
- __forceinline operator uint8_t ( ) const { return 0; }
- };
-
- extern MAYBE_UNUSED ZeroTy zero;
-
- struct OneTy
- {
- __forceinline operator double ( ) const { return 1; }
- __forceinline operator float ( ) const { return 1; }
- __forceinline operator long long( ) const { return 1; }
- __forceinline operator unsigned long long( ) const { return 1; }
- __forceinline operator long ( ) const { return 1; }
- __forceinline operator unsigned long ( ) const { return 1; }
- __forceinline operator int ( ) const { return 1; }
- __forceinline operator unsigned int ( ) const { return 1; }
- __forceinline operator short ( ) const { return 1; }
- __forceinline operator unsigned short ( ) const { return 1; }
- __forceinline operator int8_t ( ) const { return 1; }
- __forceinline operator uint8_t ( ) const { return 1; }
- };
-
- extern MAYBE_UNUSED OneTy one;
-
- struct NegInfTy
- {
- __forceinline operator double ( ) const { return -std::numeric_limits<double>::infinity(); }
- __forceinline operator float ( ) const { return -std::numeric_limits<float>::infinity(); }
- __forceinline operator long long( ) const { return std::numeric_limits<long long>::min(); }
- __forceinline operator unsigned long long( ) const { return std::numeric_limits<unsigned long long>::min(); }
- __forceinline operator long ( ) const { return std::numeric_limits<long>::min(); }
- __forceinline operator unsigned long ( ) const { return std::numeric_limits<unsigned long>::min(); }
- __forceinline operator int ( ) const { return std::numeric_limits<int>::min(); }
- __forceinline operator unsigned int ( ) const { return std::numeric_limits<unsigned int>::min(); }
- __forceinline operator short ( ) const { return std::numeric_limits<short>::min(); }
- __forceinline operator unsigned short ( ) const { return std::numeric_limits<unsigned short>::min(); }
- __forceinline operator int8_t ( ) const { return std::numeric_limits<int8_t>::min(); }
- __forceinline operator uint8_t ( ) const { return std::numeric_limits<uint8_t>::min(); }
-
- };
-
- extern MAYBE_UNUSED NegInfTy neg_inf;
-
- struct PosInfTy
- {
- __forceinline operator double ( ) const { return std::numeric_limits<double>::infinity(); }
- __forceinline operator float ( ) const { return std::numeric_limits<float>::infinity(); }
- __forceinline operator long long( ) const { return std::numeric_limits<long long>::max(); }
- __forceinline operator unsigned long long( ) const { return std::numeric_limits<unsigned long long>::max(); }
- __forceinline operator long ( ) const { return std::numeric_limits<long>::max(); }
- __forceinline operator unsigned long ( ) const { return std::numeric_limits<unsigned long>::max(); }
- __forceinline operator int ( ) const { return std::numeric_limits<int>::max(); }
- __forceinline operator unsigned int ( ) const { return std::numeric_limits<unsigned int>::max(); }
- __forceinline operator short ( ) const { return std::numeric_limits<short>::max(); }
- __forceinline operator unsigned short ( ) const { return std::numeric_limits<unsigned short>::max(); }
- __forceinline operator int8_t ( ) const { return std::numeric_limits<int8_t>::max(); }
- __forceinline operator uint8_t ( ) const { return std::numeric_limits<uint8_t>::max(); }
- };
-
- extern MAYBE_UNUSED PosInfTy inf;
- extern MAYBE_UNUSED PosInfTy pos_inf;
-
- struct NaNTy
- {
- __forceinline operator double( ) const { return std::numeric_limits<double>::quiet_NaN(); }
- __forceinline operator float ( ) const { return std::numeric_limits<float>::quiet_NaN(); }
- };
-
- extern MAYBE_UNUSED NaNTy nan;
-
- struct UlpTy
- {
- __forceinline operator double( ) const { return std::numeric_limits<double>::epsilon(); }
- __forceinline operator float ( ) const { return std::numeric_limits<float>::epsilon(); }
- };
-
- extern MAYBE_UNUSED UlpTy ulp;
-
- struct PiTy
- {
- __forceinline operator double( ) const { return double(M_PI); }
- __forceinline operator float ( ) const { return float(M_PI); }
- };
-
- extern MAYBE_UNUSED PiTy pi;
-
- struct OneOverPiTy
- {
- __forceinline operator double( ) const { return double(M_1_PI); }
- __forceinline operator float ( ) const { return float(M_1_PI); }
- };
-
- extern MAYBE_UNUSED OneOverPiTy one_over_pi;
-
- struct TwoPiTy
- {
- __forceinline operator double( ) const { return double(2.0*M_PI); }
- __forceinline operator float ( ) const { return float(2.0*M_PI); }
- };
-
- extern MAYBE_UNUSED TwoPiTy two_pi;
-
- struct OneOverTwoPiTy
- {
- __forceinline operator double( ) const { return double(0.5*M_1_PI); }
- __forceinline operator float ( ) const { return float(0.5*M_1_PI); }
- };
-
- extern MAYBE_UNUSED OneOverTwoPiTy one_over_two_pi;
-
- struct FourPiTy
- {
- __forceinline operator double( ) const { return double(4.0*M_PI); }
- __forceinline operator float ( ) const { return float(4.0*M_PI); }
- };
-
- extern MAYBE_UNUSED FourPiTy four_pi;
-
- struct OneOverFourPiTy
- {
- __forceinline operator double( ) const { return double(0.25*M_1_PI); }
- __forceinline operator float ( ) const { return float(0.25*M_1_PI); }
- };
-
- extern MAYBE_UNUSED OneOverFourPiTy one_over_four_pi;
-
- struct StepTy {
- };
-
- extern MAYBE_UNUSED StepTy step;
-
- struct ReverseStepTy {
- };
-
- extern MAYBE_UNUSED ReverseStepTy reverse_step;
-
- struct EmptyTy {
- };
-
- extern MAYBE_UNUSED EmptyTy empty;
-
- struct FullTy {
- };
-
- extern MAYBE_UNUSED FullTy full;
-
- struct UndefinedTy {
- };
-
- extern MAYBE_UNUSED UndefinedTy undefined;
-
-#if defined(__aarch64__)
- extern const uint32x4_t movemask_mask;
- extern const uint32x4_t vzero;
- extern const uint32x4_t v0x80000000;
- extern const uint32x4_t v0x7fffffff;
- extern const uint32x4_t v000F;
- extern const uint32x4_t v00F0;
- extern const uint32x4_t v00FF;
- extern const uint32x4_t v0F00;
- extern const uint32x4_t v0F0F;
- extern const uint32x4_t v0FF0;
- extern const uint32x4_t v0FFF;
- extern const uint32x4_t vF000;
- extern const uint32x4_t vF00F;
- extern const uint32x4_t vF0F0;
- extern const uint32x4_t vF0FF;
- extern const uint32x4_t vFF00;
- extern const uint32x4_t vFF0F;
- extern const uint32x4_t vFFF0;
- extern const uint32x4_t vFFFF;
- extern const uint8x16_t v0022;
- extern const uint8x16_t v1133;
- extern const uint8x16_t v0101;
- extern const float32x4_t vOne;
- extern const float32x4_t vmOne;
- extern const float32x4_t vInf;
- extern const float32x4_t vmInf;
-#endif
-}