.. 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. .. _arch-manipulation: 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 is what ``xsimd::default_arch`` defaults to unless otherwise configured. .. doxygengroup:: architectures :project: xsimd :members: .. _emulated-mode: 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.