GNU Radio 3.6.1 C++ API
volk_cpu.h
Go to the documentation of this file.
1 
2 
3 /* this file was generated by volk template utils, do not edit! */
4 
5 /*
6  * Copyright 2011-2012 Free Software Foundation, Inc.
7  *
8  * This file is part of GNU Radio
9  *
10  * GNU Radio is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 3, or (at your option)
13  * any later version.
14  *
15  * GNU Radio is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with GNU Radio; see the file COPYING. If not, write to
22  * the Free Software Foundation, Inc., 51 Franklin Street,
23  * Boston, MA 02110-1301, USA.
24  */
25 
26 #ifndef INCLUDED_VOLK_CPU_H
27 #define INCLUDED_VOLK_CPU_H
28 
29 #include <volk/volk_common.h>
30 
32 
33 struct VOLK_CPU {
34  int (*has_generic) ();
35  int (*has_altivec) ();
36  int (*has_neon) ();
37  int (*has_32) ();
38  int (*has_64) ();
39  int (*has_3dnow) ();
40  int (*has_abm) ();
41  int (*has_popcount) ();
42  int (*has_mmx) ();
43  int (*has_sse) ();
44  int (*has_sse2) ();
45  int (*has_orc) ();
46  int (*has_norc) ();
47  int (*has_sse3) ();
48  int (*has_ssse3) ();
49  int (*has_sse4_a) ();
50  int (*has_sse4_1) ();
51  int (*has_sse4_2) ();
52  int (*has_avx) ();
53 };
54 
55 extern struct VOLK_CPU volk_cpu;
56 
57 void volk_cpu_init ();
58 unsigned int volk_get_lvarch ();
59 
61 
62 #endif /*INCLUDED_VOLK_CPU_H*/