/*************************************************************************** * Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and * * Martin Renou * * Copyright (c) QuantStack * * Copyright (c) Serge Guelton * * * * Distributed under the terms of the BSD 3-Clause License. * * * * The full license is in the file LICENSE, distributed with this software. *
****************************************************************************/
#ifndef XSIMD_HPP #define XSIMD_HPP
#ifdefined(__has_cpp_attribute) // if this check passes, then the compiler supports feature test macros #if __has_cpp_attribute(nodiscard) >= 201603L // if this check passes, then the compiler supports [[nodiscard]] without a message #define XSIMD_NO_DISCARD [[nodiscard]] #endif #endif
#if !defined(XSIMD_NO_DISCARD) && __cplusplus >= 201703L // this means that the previous tests failed, but we are using C++17 or higher #define XSIMD_NO_DISCARD [[nodiscard]] #endif
#if !defined(XSIMD_NO_DISCARD) && (defined(__GNUC__) || defined(__clang__)) // this means that the previous checks failed, but we are using GCC or Clang #define XSIMD_NO_DISCARD __attribute__((warn_unused_result)) #endif
#if !defined(XSIMD_NO_DISCARD) // this means that all the previous checks failed, so we fallback to doing nothing #define XSIMD_NO_DISCARD #endif
#ifdef __cpp_if_constexpr // this means that the compiler supports the `if constexpr` construct #define XSIMD_IF_CONSTEXPR if constexpr #endif
#if !defined(XSIMD_IF_CONSTEXPR) && __cplusplus >= 201703L // this means that the previous test failed, but we are using C++17 or higher #define XSIMD_IF_CONSTEXPR if constexpr #endif
#if !defined(XSIMD_IF_CONSTEXPR) // this means that all the previous checks failed, so we fallback to a normal `if` #define XSIMD_IF_CONSTEXPR if #endif
#ifdefined(XSIMD_NO_SUPPORTED_ARCHITECTURE) // to type definition or anything appart from scalar definition and aligned allocator #else #include"types/xsimd_batch.hpp" #include"types/xsimd_batch_constant.hpp" #include"types/xsimd_traits.hpp"
// This include must come last #include"types/xsimd_api.hpp" #endif #endif
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.