.. Copyright (c) 2016, Johan Mabille, Sylvain Corlay Distributed under the terms of the BSD 3-Clause License. The full license is in the file LICENSE, distributed with this software. Architecture Manipulation ========================= xsimd provides an high level description of the instruction sets it manipulates. The mentioned types are primarily used as template parameters for :ref:`batch `, and when interacting with :cpp:func:`xsimd::dispatch()`. The best available architecture is available at compile time through ``xsimd::best_arch`` which also happens to be ``xsimd::default_arch``. .. doxygengroup:: architectures :project: xsimd :members: Emulated Mode ------------- When compiled with the macro ``XSIMD_WITH_EMULATED`` set to ``1``, xsimd also exhibits a specific architecture ``xsimd::emulated``, which consists of a vector of ``N`` bits emulated using scalar mode. It is mostly available for testing and debugging.