diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-05-21 18:30:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-21 18:30:02 +0200 |
commit | 3ee034451a9349e7de26decc662afefd7ab8c460 (patch) | |
tree | a8bec3fbb06c2eaca05a075f5ffe2cdd2d94f04a /thirdparty/embree-aarch64/common/algorithms/parallel_set.h | |
parent | 8fa07eae145e1e37eb8708ce8c117188b58e3ecc (diff) | |
parent | 767e374dced69b45db0afb30ca2ccf0bbbeef672 (diff) | |
download | redot-engine-3ee034451a9349e7de26decc662afefd7ab8c460.tar.gz |
Merge pull request #48885 from JFonS/upgrade_embree
Upgrade Embree to the latest official release (3.13.0).
Diffstat (limited to 'thirdparty/embree-aarch64/common/algorithms/parallel_set.h')
-rw-r--r-- | thirdparty/embree-aarch64/common/algorithms/parallel_set.h | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/thirdparty/embree-aarch64/common/algorithms/parallel_set.h b/thirdparty/embree-aarch64/common/algorithms/parallel_set.h deleted file mode 100644 index 640beba7ec..0000000000 --- a/thirdparty/embree-aarch64/common/algorithms/parallel_set.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2009-2020 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 - -#pragma once - -#include "parallel_sort.h" - -namespace embree -{ - /* implementation of a set of values with parallel construction */ - template<typename T> - class parallel_set - { - public: - - /*! default constructor for the parallel set */ - parallel_set () {} - - /*! construction from vector */ - template<typename Vector> - parallel_set (const Vector& in) { init(in); } - - /*! initialized the parallel set from a vector */ - template<typename Vector> - void init(const Vector& in) - { - /* copy data to internal vector */ - vec.resize(in.size()); - parallel_for( size_t(0), in.size(), size_t(4*4096), [&](const range<size_t>& r) { - for (size_t i=r.begin(); i<r.end(); i++) - vec[i] = in[i]; - }); - - /* sort the data */ - std::vector<T> temp(in.size()); - radix_sort<T>(vec.data(),temp.data(),vec.size()); - } - - /*! tests if some element is in the set */ - __forceinline bool lookup(const T& elt) const { - return std::binary_search(vec.begin(), vec.end(), elt); - } - - /*! clears all state */ - void clear() { - vec.clear(); - } - - private: - std::vector<T> vec; //!< vector containing sorted elements - }; -} |