Vc  1.2.0
SIMD Vector Classes for C++
dox.h
1 /* This file is part of the Vc library. {{{
2 Copyright © 2009-2015 Matthias Kretz <kretz@kde.org>
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7  * Redistributions of source code must retain the above copyright
8  notice, this list of conditions and the following disclaimer.
9  * Redistributions in binary form must reproduce the above copyright
10  notice, this list of conditions and the following disclaimer in the
11  documentation and/or other materials provided with the distribution.
12  * Neither the names of contributing organizations nor the
13  names of its contributors may be used to endorse or promote products
14  derived from this software without specific prior written permission.
15 
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
20 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 
27 }}}*/
28 
560 namespace Vc
561 {
562 #define INDEX_TYPE Vc::SimdArray<int, size()>
563 #define VECTOR_TYPE Vc::Vector<T>
564 #define ENTRY_TYPE T
565 #define MASK_TYPE Vc::Mask<T>
566 #define EXPONENT_TYPE Vc::SimdArray<int, size()>
567 
568 #include "dox-math.h"
569 
570 #undef INDEX_TYPE
571 #undef VECTOR_TYPE
572 #undef ENTRY_TYPE
573 #undef MASK_TYPE
574 #undef EXPONENT_TYPE
575 
581 
583 
586 #define Vc_IMPL_XOP
587 
590 #define Vc_IMPL_FMA4
591 
594 #define Vc_IMPL_F16C
595 
598 #define Vc_IMPL_POPCNT
599 
602 #define Vc_IMPL_SSE4a
603 
606 #define Vc_IMPL_Scalar
607 
611 #define Vc_IMPL_SSE
612 
616 #define Vc_IMPL_SSE2
617 
620 #define Vc_IMPL_SSE3
621 
624 #define Vc_IMPL_SSSE3
625 
628 #define Vc_IMPL_SSE4_1
629 
632 #define Vc_IMPL_SSE4_2
633 
636 #define Vc_IMPL_AVX
637 
640 #define Vc_IMPL_AVX2
641 
645 #define Vc_IMPL_MIC
646 
647 
648 
658 #define Vc_DOUBLE_V_SIZE
659 
663 #define Vc_FLOAT_V_SIZE
664 
668 #define Vc_INT_V_SIZE
669 
673 #define Vc_UINT_V_SIZE
674 
678 #define Vc_SHORT_V_SIZE
679 
683 #define Vc_USHORT_V_SIZE
684 
685 
686 } // namespace Vc
687 
688 // vim: ft=doxygen
Vector Classes Namespace.
Definition: cpuid.h:33