Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-07 10:37:17

0001 /***************************************************************************
0002  * Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and         *
0003  * Martin Renou                                                             *
0004  * Copyright (c) QuantStack                                                 *
0005  * Copyright (c) Serge Guelton                                              *
0006  *                                                                          *
0007  * Distributed under the terms of the BSD 3-Clause License.                 *
0008  *                                                                          *
0009  * The full license is in the file LICENSE, distributed with this software. *
0010  ****************************************************************************/
0011 
0012 #ifndef XSIMD_COMMON_ARCH_HPP
0013 #define XSIMD_COMMON_ARCH_HPP
0014 
0015 #include "../config/xsimd_config.hpp"
0016 
0017 #include <cstddef>
0018 
0019 /**
0020  * @defgroup architectures Architecture description
0021  * */
0022 namespace xsimd
0023 {
0024     /**
0025      * @ingroup architectures
0026      *
0027      * Base class for all architectures.
0028      */
0029     struct common
0030     {
0031         /// Whether this architecture is supported at compile-time.
0032         static constexpr bool supported() noexcept { return true; }
0033         /// Whether this architecture is available at run-time.
0034         static constexpr bool available() noexcept { return true; }
0035         /// If this architectures supports aligned memory accesses, the required
0036         /// alignment.
0037         static constexpr std::size_t alignment() noexcept { return 0; }
0038         /// Whether this architecture requires aligned memory access.
0039         static constexpr bool requires_alignment() noexcept { return false; }
0040         /// Name of the architecture.
0041         static constexpr char const* name() noexcept { return "common"; }
0042     };
0043 
0044     struct unsupported
0045     {
0046     };
0047 }
0048 
0049 #endif