GNU Radio Manual and C++ API Reference  3.7.4.1
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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_softfp) ();
37  int (*has_hardfp) ();
38  int (*has_neon) ();
39  int (*has_32) ();
40  int (*has_64) ();
41  int (*has_3dnow) ();
42  int (*has_abm) ();
43  int (*has_popcount) ();
44  int (*has_mmx) ();
45  int (*has_sse) ();
46  int (*has_sse2) ();
47  int (*has_orc) ();
48  int (*has_norc) ();
49  int (*has_sse3) ();
50  int (*has_ssse3) ();
51  int (*has_sse4_a) ();
52  int (*has_sse4_1) ();
53  int (*has_sse4_2) ();
54  int (*has_avx) ();
55 };
56 
57 extern struct VOLK_CPU volk_cpu;
58 
59 void volk_cpu_init ();
60 unsigned int volk_get_lvarch ();
61 
63 
64 #endif /*INCLUDED_VOLK_CPU_H*/
int(* has_avx)()
Definition: volk_cpu.h:54
int(* has_64)()
Definition: volk_cpu.h:40
unsigned int volk_get_lvarch()
int(* has_altivec)()
Definition: volk_cpu.h:35
int(* has_sse3)()
Definition: volk_cpu.h:49
int(* has_mmx)()
Definition: volk_cpu.h:44
int(* has_sse2)()
Definition: volk_cpu.h:46
int(* has_sse4_a)()
Definition: volk_cpu.h:51
int(* has_ssse3)()
Definition: volk_cpu.h:50
#define __VOLK_DECL_BEGIN
Definition: volk_common.h:51
int(* has_orc)()
Definition: volk_cpu.h:47
#define __VOLK_DECL_END
Definition: volk_common.h:52
int(* has_32)()
Definition: volk_cpu.h:39
int(* has_sse4_1)()
Definition: volk_cpu.h:52
int(* has_abm)()
Definition: volk_cpu.h:42
int(* has_sse4_2)()
Definition: volk_cpu.h:53
Definition: volk_cpu.tmpl.h:29
void volk_cpu_init()
int(* has_neon)()
Definition: volk_cpu.h:38
int(* has_generic)()
Definition: volk_cpu.h:34
int(* has_hardfp)()
Definition: volk_cpu.h:37
int(* has_popcount)()
Definition: volk_cpu.h:43
struct VOLK_CPU volk_cpu
int(* has_sse)()
Definition: volk_cpu.h:45
int(* has_3dnow)()
Definition: volk_cpu.h:41
int(* has_norc)()
Definition: volk_cpu.h:48
int(* has_softfp)()
Definition: volk_cpu.h:36