summaryrefslogtreecommitdiff
path: root/volk/include
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-05-06 12:41:16 -0700
committerJosh Blum <josh@joshknows.com>2011-05-06 12:41:16 -0700
commit5b4c7d27e9d49ab58df1f1d9350dcaf64c60a1ce (patch)
treef90d624a0e9973cd5876030c862395466b6ba64d /volk/include
parent12413747c90754482582e16c95b551e1b36c6074 (diff)
volk: top-level common header cleanup
Since we already have a volk_common.h, moved the attributes, API declaration, and c-linkage macros into volk_common.h This change removes volk_attributes.h, in favor of one common include header. The implementation headers that require attributes now include volk_common.h This change removes the emit_omnilog.py script, in favor of pre-processor macros in volk_common.h In addition, extern C is only defined when in C++ and in GCC because non-GCC does not have complex.h
Diffstat (limited to 'volk/include')
-rw-r--r--volk/include/volk/Makefile.am1
-rw-r--r--volk/include/volk/volk_16ic_magnitude_16i_a16.h2
-rw-r--r--volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a16.h2
-rw-r--r--volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a16.h2
-rw-r--r--volk/include/volk/volk_16ic_s32f_magnitude_32f_a16.h2
-rw-r--r--volk/include/volk/volk_32f_accumulator_s32f_a16.h2
-rw-r--r--volk/include/volk/volk_32f_index_max_16u_a16.h2
-rw-r--r--volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a16.h2
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_16i_a16.h2
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_32i_a16.h2
-rw-r--r--volk/include/volk/volk_32f_s32f_convert_8i_a16.h2
-rw-r--r--volk/include/volk/volk_32f_s32f_stddev_32f_a16.h2
-rw-r--r--volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a16.h2
-rw-r--r--volk/include/volk/volk_32f_x2_dot_prod_32f_a16.h2
-rw-r--r--volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a16.h2
-rw-r--r--volk/include/volk/volk_32fc_s32f_deinterleave_real_16i_a16.h2
-rw-r--r--volk/include/volk/volk_32fc_s32f_magnitude_16i_a16.h2
-rw-r--r--volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a16.h2
-rw-r--r--volk/include/volk/volk_32fc_x2_dot_prod_32fc_a16.h2
-rw-r--r--volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a16.h2
-rw-r--r--volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a16.h2
-rw-r--r--volk/include/volk/volk_attributes.h56
-rw-r--r--volk/include/volk/volk_common.h62
23 files changed, 76 insertions, 83 deletions
diff --git a/volk/include/volk/Makefile.am b/volk/include/volk/Makefile.am
index bb4645526d..a05f0fbfdf 100644
--- a/volk/include/volk/Makefile.am
+++ b/volk/include/volk/Makefile.am
@@ -26,7 +26,6 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) \
volkincludedir = $(prefix)/include/volk
volkinclude_HEADERS = \
- volk_attributes.h \
volk_complex.h \
volk_common.h \
$(top_gendir)/include/volk/volk_config_fixed.h \
diff --git a/volk/include/volk/volk_16ic_magnitude_16i_a16.h b/volk/include/volk/volk_16ic_magnitude_16i_a16.h
index 00d29b1125..73c6f3390b 100644
--- a/volk/include/volk/volk_16ic_magnitude_16i_a16.h
+++ b/volk/include/volk/volk_16ic_magnitude_16i_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_16ic_magnitude_16i_a16_H
#define INCLUDED_volk_16ic_magnitude_16i_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
#include <math.h>
diff --git a/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a16.h b/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a16.h
index a4f0689e54..e4a9015b4a 100644
--- a/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a16.h
+++ b/volk/include/volk/volk_16ic_s32f_deinterleave_32f_x2_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_16ic_s32f_deinterleave_32f_x2_a16_H
#define INCLUDED_volk_16ic_s32f_deinterleave_32f_x2_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a16.h b/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a16.h
index 564aa1f5df..993445995d 100644
--- a/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a16.h
+++ b/volk/include/volk/volk_16ic_s32f_deinterleave_real_32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_16ic_s32f_deinterleave_real_32f_a16_H
#define INCLUDED_volk_16ic_s32f_deinterleave_real_32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_16ic_s32f_magnitude_32f_a16.h b/volk/include/volk/volk_16ic_s32f_magnitude_32f_a16.h
index 637ba9fd08..a136c05359 100644
--- a/volk/include/volk/volk_16ic_s32f_magnitude_32f_a16.h
+++ b/volk/include/volk/volk_16ic_s32f_magnitude_32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_16ic_s32f_magnitude_32f_a16_H
#define INCLUDED_volk_16ic_s32f_magnitude_32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
#include <math.h>
diff --git a/volk/include/volk/volk_32f_accumulator_s32f_a16.h b/volk/include/volk/volk_32f_accumulator_s32f_a16.h
index 94aff3a493..dd24a1e298 100644
--- a/volk/include/volk/volk_32f_accumulator_s32f_a16.h
+++ b/volk/include/volk/volk_32f_accumulator_s32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_accumulator_s32f_a16_H
#define INCLUDED_volk_32f_accumulator_s32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32f_index_max_16u_a16.h b/volk/include/volk/volk_32f_index_max_16u_a16.h
index 5c19bfca01..af1f353486 100644
--- a/volk/include/volk/volk_32f_index_max_16u_a16.h
+++ b/volk/include/volk/volk_32f_index_max_16u_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_index_max_16u_a16_H
#define INCLUDED_volk_32f_index_max_16u_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a16.h b/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a16.h
index 70ab3ccdbf..f5b388e6dd 100644
--- a/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a16.h
+++ b/volk/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_s32f_calc_spectral_noise_floor_32f_a16_H
#define INCLUDED_volk_32f_s32f_calc_spectral_noise_floor_32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32f_s32f_convert_16i_a16.h b/volk/include/volk/volk_32f_s32f_convert_16i_a16.h
index 71b53ba3a1..4acd2e13e1 100644
--- a/volk/include/volk/volk_32f_s32f_convert_16i_a16.h
+++ b/volk/include/volk/volk_32f_s32f_convert_16i_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_s32f_convert_16i_a16_H
#define INCLUDED_volk_32f_s32f_convert_16i_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32f_s32f_convert_32i_a16.h b/volk/include/volk/volk_32f_s32f_convert_32i_a16.h
index 095d7bd352..2927d616ce 100644
--- a/volk/include/volk/volk_32f_s32f_convert_32i_a16.h
+++ b/volk/include/volk/volk_32f_s32f_convert_32i_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_s32f_convert_32i_a16_H
#define INCLUDED_volk_32f_s32f_convert_32i_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32f_s32f_convert_8i_a16.h b/volk/include/volk/volk_32f_s32f_convert_8i_a16.h
index 509a466096..c114ea38f4 100644
--- a/volk/include/volk/volk_32f_s32f_convert_8i_a16.h
+++ b/volk/include/volk/volk_32f_s32f_convert_8i_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_s32f_convert_8i_a16_H
#define INCLUDED_volk_32f_s32f_convert_8i_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32f_s32f_stddev_32f_a16.h b/volk/include/volk/volk_32f_s32f_stddev_32f_a16.h
index 779ae2d39e..c2b903657d 100644
--- a/volk/include/volk/volk_32f_s32f_stddev_32f_a16.h
+++ b/volk/include/volk/volk_32f_s32f_stddev_32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_s32f_stddev_32f_a16_H
#define INCLUDED_volk_32f_s32f_stddev_32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
#include <math.h>
diff --git a/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a16.h b/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a16.h
index 9605322d3e..10d72e09d7 100644
--- a/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a16.h
+++ b/volk/include/volk/volk_32f_stddev_and_mean_32f_x2_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_stddev_and_mean_32f_x2_a16_H
#define INCLUDED_volk_32f_stddev_and_mean_32f_x2_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
#include <math.h>
diff --git a/volk/include/volk/volk_32f_x2_dot_prod_32f_a16.h b/volk/include/volk/volk_32f_x2_dot_prod_32f_a16.h
index 93151260f1..2cd9740703 100644
--- a/volk/include/volk/volk_32f_x2_dot_prod_32f_a16.h
+++ b/volk/include/volk/volk_32f_x2_dot_prod_32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_x2_dot_prod_32f_a16_H
#define INCLUDED_volk_32f_x2_dot_prod_32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include<stdio.h>
diff --git a/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a16.h b/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a16.h
index cab3db50d7..f7ad3fd181 100644
--- a/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a16.h
+++ b/volk/include/volk/volk_32f_x2_s32f_interleave_16ic_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32f_x2_s32f_interleave_16ic_a16_H
#define INCLUDED_volk_32f_x2_s32f_interleave_16ic_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32fc_s32f_deinterleave_real_16i_a16.h b/volk/include/volk/volk_32fc_s32f_deinterleave_real_16i_a16.h
index 304515a5cc..2460039d22 100644
--- a/volk/include/volk/volk_32fc_s32f_deinterleave_real_16i_a16.h
+++ b/volk/include/volk/volk_32fc_s32f_deinterleave_real_16i_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32fc_s32f_deinterleave_real_16i_a16_H
#define INCLUDED_volk_32fc_s32f_deinterleave_real_16i_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_32fc_s32f_magnitude_16i_a16.h b/volk/include/volk/volk_32fc_s32f_magnitude_16i_a16.h
index 96afa5ae9d..f67ab06073 100644
--- a/volk/include/volk/volk_32fc_s32f_magnitude_16i_a16.h
+++ b/volk/include/volk/volk_32fc_s32f_magnitude_16i_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32fc_s32f_magnitude_16i_a16_H
#define INCLUDED_volk_32fc_s32f_magnitude_16i_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
#include <math.h>
diff --git a/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a16.h b/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a16.h
index 78e28c903d..f221237ff2 100644
--- a/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a16.h
+++ b/volk/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32fc_x2_conjugate_dot_prod_32fc_a16_H
#define INCLUDED_volk_32fc_x2_conjugate_dot_prod_32fc_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include<volk/volk_complex.h>
#include<stdio.h>
diff --git a/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a16.h b/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a16.h
index d404ee684f..9657c8f6b7 100644
--- a/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a16.h
+++ b/volk/include/volk/volk_32fc_x2_dot_prod_32fc_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_32fc_x2_dot_prod_32fc_a16_H
#define INCLUDED_volk_32fc_x2_dot_prod_32fc_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <volk/volk_complex.h>
#include <stdio.h>
#include <string.h>
diff --git a/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a16.h b/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a16.h
index d68d2462a3..7d778796ec 100644
--- a/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a16.h
+++ b/volk/include/volk/volk_8ic_s32f_deinterleave_32f_x2_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_8ic_s32f_deinterleave_32f_x2_a16_H
#define INCLUDED_volk_8ic_s32f_deinterleave_32f_x2_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a16.h b/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a16.h
index d2cfa42f61..a2e0cd8de8 100644
--- a/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a16.h
+++ b/volk/include/volk/volk_8ic_s32f_deinterleave_real_32f_a16.h
@@ -1,7 +1,7 @@
#ifndef INCLUDED_volk_8ic_s32f_deinterleave_real_32f_a16_H
#define INCLUDED_volk_8ic_s32f_deinterleave_real_32f_a16_H
-#include <volk/volk_attributes.h>
+#include <volk/volk_common.h>
#include <inttypes.h>
#include <stdio.h>
diff --git a/volk/include/volk/volk_attributes.h b/volk/include/volk/volk_attributes.h
deleted file mode 100644
index 5345c15353..0000000000
--- a/volk/include/volk/volk_attributes.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2011 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_VOLK_ATTRIBUTES_H
-#define INCLUDED_VOLK_ATTRIBUTES_H
-
-////////////////////////////////////////////////////////////////////////
-// Cross-platform attribute macros
-////////////////////////////////////////////////////////////////////////
-#if defined __GNUC__
-# define __VOLK_ATTR_ALIGNED(x) __attribute__((aligned(x)))
-# define __VOLK_ATTR_UNUSED __attribute__((unused))
-# define __VOLK_ATTR_INLINE __attribute__((always_inline))
-# define __VOLK_ATTR_DEPRECATED __attribute__((deprecated))
-# if __GNUC__ >= 4
-# define __VOLK_ATTR_EXPORT __attribute__((visibility("default")))
-# define __VOLK_ATTR_IMPORT __attribute__((visibility("default")))
-# else
-# define __VOLK_ATTR_EXPORT
-# define __VOLK_ATTR_IMPORT
-# endif
-#elif _MSC_VER
-# define __VOLK_ATTR_ALIGNED(x) __declspec(align(x))
-# define __VOLK_ATTR_UNUSED
-# define __VOLK_ATTR_INLINE __forceinline
-# define __VOLK_ATTR_DEPRECATED __declspec(deprecated)
-# define __VOLK_ATTR_EXPORT __declspec(dllexport)
-# define __VOLK_ATTR_IMPORT __declspec(dllimport)
-#else
-# define __VOLK_ATTR_ALIGNED(x)
-# define __VOLK_ATTR_UNUSED
-# define __VOLK_ATTR_INLINE
-# define __VOLK_ATTR_DEPRECATED
-# define __VOLK_ATTR_EXPORT
-# define __VOLK_ATTR_IMPORT
-#endif
-
-#endif /* INCLUDED_VOLK_ATTRIBUTES_H */
diff --git a/volk/include/volk/volk_common.h b/volk/include/volk/volk_common.h
index 0a47ff8645..1e868561e2 100644
--- a/volk/include/volk/volk_common.h
+++ b/volk/include/volk/volk_common.h
@@ -1,6 +1,62 @@
#ifndef INCLUDED_LIBVOLK_COMMON_H
#define INCLUDED_LIBVOLK_COMMON_H
+////////////////////////////////////////////////////////////////////////
+// Cross-platform attribute macros
+////////////////////////////////////////////////////////////////////////
+#if defined __GNUC__
+# define __VOLK_ATTR_ALIGNED(x) __attribute__((aligned(x)))
+# define __VOLK_ATTR_UNUSED __attribute__((unused))
+# define __VOLK_ATTR_INLINE __attribute__((always_inline))
+# define __VOLK_ATTR_DEPRECATED __attribute__((deprecated))
+# if __GNUC__ >= 4
+# define __VOLK_ATTR_EXPORT __attribute__((visibility("default")))
+# define __VOLK_ATTR_IMPORT __attribute__((visibility("default")))
+# else
+# define __VOLK_ATTR_EXPORT
+# define __VOLK_ATTR_IMPORT
+# endif
+#elif _MSC_VER
+# define __VOLK_ATTR_ALIGNED(x) __declspec(align(x))
+# define __VOLK_ATTR_UNUSED
+# define __VOLK_ATTR_INLINE __forceinline
+# define __VOLK_ATTR_DEPRECATED __declspec(deprecated)
+# define __VOLK_ATTR_EXPORT __declspec(dllexport)
+# define __VOLK_ATTR_IMPORT __declspec(dllimport)
+#else
+# define __VOLK_ATTR_ALIGNED(x)
+# define __VOLK_ATTR_UNUSED
+# define __VOLK_ATTR_INLINE
+# define __VOLK_ATTR_DEPRECATED
+# define __VOLK_ATTR_EXPORT
+# define __VOLK_ATTR_IMPORT
+#endif
+
+////////////////////////////////////////////////////////////////////////
+// C-linkage declaration macros
+// FIXME: due to the usage of complex.h, require gcc for c-linkage
+////////////////////////////////////////////////////////////////////////
+#if defined(__cplusplus) && (__GNUC__)
+# define __VOLK_DECL_BEGIN extern "C" {
+# define __VOLK_DECL_END }
+#else
+# define __VOLK_DECL_BEGIN
+# define __VOLK_DECL_END
+#endif
+
+////////////////////////////////////////////////////////////////////////
+// Define VOLK_API for library symbols
+// http://gcc.gnu.org/wiki/Visibility
+////////////////////////////////////////////////////////////////////////
+#ifdef volk_EXPORTS
+# define VOLK_API __VOLK_ATTR_EXPORT
+#else
+# define VOLK_API __VOLK_ATTR_IMPORT
+#endif
+
+////////////////////////////////////////////////////////////////////////
+// The bit128 union used by some
+////////////////////////////////////////////////////////////////////////
#include<inttypes.h>
#ifdef LV_HAVE_MMX
#include<xmmintrin.h>
@@ -15,10 +71,4 @@ union bit128{
};
#endif /*LV_HAVE_MMX*/
-struct volk_func_desc {
- const char **indices;
- const int *arch_defs;
- const int n_archs;
-};
-
#endif /*INCLUDED_LIBVOLK_COMMON_H*/