Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-08-28 09:11:40

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_GENERIC_ARCH_HPP
0013 #define XSIMD_GENERIC_ARCH_HPP
0014 
0015 #include "../config/xsimd_config.hpp"
0016 
0017 /**
0018  * @defgroup architectures Architecture description
0019  * */
0020 namespace xsimd
0021 {
0022     /**
0023      * @ingroup architectures
0024      *
0025      * Base class for all architectures.
0026      */
0027     struct generic
0028     {
0029         /// Whether this architecture is supported at compile-time.
0030         static constexpr bool supported() noexcept { return true; }
0031         /// Whether this architecture is available at run-time.
0032         static constexpr bool available() noexcept { return true; }
0033         /// If this architectures supports aligned memory accesses, the required
0034         /// alignment.
0035         static constexpr std::size_t alignment() noexcept { return 0; }
0036         /// Whether this architecture requires aligned memory access.
0037         static constexpr bool requires_alignment() noexcept { return false; }
0038         /// Name of the architecture.
0039         static constexpr char const* name() noexcept { return "generic"; }
0040     };
0041 
0042     struct unsupported
0043     {
0044     };
0045 }
0046 
0047 #endif