Vc  1.0.0-dev
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 
536 namespace Vc
537 {
538 #define INDEX_TYPE Vc::SimdArray<int, size()>
539 #define VECTOR_TYPE Vc::Vector<T>
540 #define ENTRY_TYPE T
541 #define MASK_TYPE Vc::Mask<T>
542 #define EXPONENT_TYPE Vc::SimdArray<int, size()>
543 
544 #include "dox-math.h"
545 
546 #undef INDEX_TYPE
547 #undef VECTOR_TYPE
548 #undef ENTRY_TYPE
549 #undef MASK_TYPE
550 #undef EXPONENT_TYPE
551 
557 
559 
562 #define Vc_IMPL_XOP
563 
566 #define Vc_IMPL_FMA4
567 
570 #define Vc_IMPL_F16C
571 
574 #define Vc_IMPL_POPCNT
575 
578 #define Vc_IMPL_SSE4a
579 
582 #define Vc_IMPL_Scalar
583 
587 #define Vc_IMPL_SSE
588 
592 #define Vc_IMPL_SSE2
593 
596 #define Vc_IMPL_SSE3
597 
600 #define Vc_IMPL_SSSE3
601 
604 #define Vc_IMPL_SSE4_1
605 
608 #define Vc_IMPL_SSE4_2
609 
612 #define Vc_IMPL_AVX
613 
616 #define Vc_IMPL_AVX2
617 
621 #define Vc_IMPL_MIC
622 
623 
624 
634 #define Vc_DOUBLE_V_SIZE
635 
639 #define Vc_FLOAT_V_SIZE
640 
644 #define Vc_INT_V_SIZE
645 
649 #define Vc_UINT_V_SIZE
650 
654 #define Vc_SHORT_V_SIZE
655 
659 #define Vc_USHORT_V_SIZE
660 
661 
662 } // namespace Vc
663 
664 // vim: ft=doxygen
Vector Classes Namespace.
Definition: cpuid.h:33