[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r8959 - in gnuradio/branches/developers/eb/vmx: config
From: |
eb |
Subject: |
[Commit-gnuradio] r8959 - in gnuradio/branches/developers/eb/vmx: config gnuradio-core/src/lib/filter |
Date: |
Sun, 20 Jul 2008 18:38:19 -0600 (MDT) |
Author: eb
Date: 2008-07-20 18:38:16 -0600 (Sun, 20 Jul 2008)
New Revision: 8959
Added:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_powerpc.cc
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_x86.cc
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.cc
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.h
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/sysconfig_powerpc.cc
Removed:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.cc
Modified:
gnuradio/branches/developers/eb/vmx/config/gr_set_md_cpu.m4
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/Makefile.am
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.h
Log:
Added framework for PowerPC VMX (AltiVec) support
Modified: gnuradio/branches/developers/eb/vmx/config/gr_set_md_cpu.m4
===================================================================
--- gnuradio/branches/developers/eb/vmx/config/gr_set_md_cpu.m4 2008-07-20
21:55:40 UTC (rev 8958)
+++ gnuradio/branches/developers/eb/vmx/config/gr_set_md_cpu.m4 2008-07-21
00:38:16 UTC (rev 8959)
@@ -1,5 +1,5 @@
dnl
-dnl Copyright 2003 Free Software Foundation, Inc.
+dnl Copyright 2003,2008 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Radio
dnl
@@ -28,10 +28,10 @@
AC_MSG_CHECKING([for machine dependent speedups])
case "$cf_with_md_cpu" in
- x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;;
- x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;;
-# sparc) MD_CPU=sparc ;;
- *) MD_CPU=generic ;;
+ x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;;
+ x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;;
+ powerpc*) MD_CPU=powerpc ;;
+ *) MD_CPU=generic ;;
esac
AC_MSG_RESULT($MD_CPU)
AC_SUBST(MD_CPU)
@@ -39,5 +39,6 @@
AM_CONDITIONAL(MD_CPU_x86, test "$MD_CPU" = "x86")
AM_CONDITIONAL(MD_SUBCPU_x86_64, test "$MD_SUBCPU" = "x86_64")
+ AM_CONDITIONAL(MD_CPU_powerpc, test "$MD_CPU" = "powerpc")
AM_CONDITIONAL(MD_CPU_generic, test "$MD_CPU" = "generic")
])
Modified:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/Makefile.am
===================================================================
---
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/Makefile.am
2008-07-20 21:55:40 UTC (rev 8958)
+++
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/Makefile.am
2008-07-21 00:38:16 UTC (rev 8959)
@@ -117,7 +117,7 @@
x86_CODE = \
sysconfig_x86.cc \
gr_fir_sysconfig_x86.cc \
- gr_cpu.cc \
+ gr_cpu_x86.cc \
gr_fir_ccc_simd.cc \
gr_fir_ccc_x86.cc \
gr_fir_fff_simd.cc \
@@ -166,6 +166,14 @@
qa_complex_dotprod_x86.cc \
qa_ccomplex_dotprod_x86.cc
+powerpc_CODE = \
+ sysconfig_powerpc.cc \
+ gr_fir_sysconfig_powerpc.cc \
+ gr_cpu_powerpc.cc
+
+powerpc_qa_CODE =
+
+
#
# include each <foo>_CODE entry here...
#
@@ -175,7 +183,9 @@
$(x86_CODE) \
$(x86_SUBCODE) \
$(x86_64_SUBCODE) \
- $(x86_qa_CODE)
+ $(x86_qa_CODE) \
+ $(powerpc_CODE) \
+ $(powerpc_qa_CODE)
EXTRA_DIST = \
@@ -234,7 +244,12 @@
libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(x86_qa_CODE)
endif
+if MD_CPU_powerpc
+libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(powerpc_CODE)
+libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE)
+endif
+
grinclude_HEADERS = \
$(GENERATED_H) \
complex_dotprod_generic.h \
Deleted:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.cc
Modified:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.h
===================================================================
--- gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.h
2008-07-20 21:55:40 UTC (rev 8958)
+++ gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.h
2008-07-21 00:38:16 UTC (rev 8959)
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2002 Free Software Foundation, Inc.
+ * Copyright 2002,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,6 +29,7 @@
static bool has_sse2 ();
static bool has_3dnow ();
static bool has_3dnowext ();
+ static bool has_vmx ();
};
#endif /* _GR_CPU_H_ */
Copied:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_powerpc.cc
(from rev 8953,
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.cc)
===================================================================
---
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_powerpc.cc
(rev 0)
+++
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_powerpc.cc
2008-07-21 00:38:16 UTC (rev 8959)
@@ -0,0 +1,59 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2002,2008 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.
+ */
+
+#include <gr_cpu.h>
+
+bool
+gr_cpu::has_mmx ()
+{
+ return false;
+}
+
+bool
+gr_cpu::has_sse ()
+{
+ return false;
+}
+
+bool
+gr_cpu::has_sse2 ()
+{
+ return false;
+}
+
+bool
+gr_cpu::has_3dnow ()
+{
+ return false;
+}
+
+bool
+gr_cpu::has_3dnowext ()
+{
+ return false;
+}
+
+bool
+gr_cpu::has_vmx ()
+{
+ return true; // FIXME assume we've always got it
+}
Copied:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_x86.cc
(from rev 8953,
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu.cc)
===================================================================
---
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_x86.cc
(rev 0)
+++
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_cpu_x86.cc
2008-07-21 00:38:16 UTC (rev 8959)
@@ -0,0 +1,113 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2002 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.
+ */
+
+#include <gr_cpu.h>
+
+/*
+ * execute CPUID instruction, return EAX, EBX, ECX and EDX values in result
+ */
+extern "C" {
+void cpuid_x86 (unsigned int op, unsigned int result[4]);
+};
+
+/*
+ * CPUID functions returning a single datum
+ */
+
+static inline unsigned int cpuid_eax(unsigned int op)
+{
+ unsigned int regs[4];
+ cpuid_x86 (op, regs);
+ return regs[0];
+}
+
+static inline unsigned int cpuid_ebx(unsigned int op)
+{
+ unsigned int regs[4];
+ cpuid_x86 (op, regs);
+ return regs[1];
+}
+
+static inline unsigned int cpuid_ecx(unsigned int op)
+{
+ unsigned int regs[4];
+ cpuid_x86 (op, regs);
+ return regs[2];
+}
+
+static inline unsigned int cpuid_edx(unsigned int op)
+{
+ unsigned int regs[4];
+ cpuid_x86 (op, regs);
+ return regs[3];
+}
+
+// ----------------------------------------------------------------
+
+bool
+gr_cpu::has_mmx ()
+{
+ unsigned int edx = cpuid_edx (1); // standard features
+ return (edx & (1 << 23)) != 0;
+}
+
+bool
+gr_cpu::has_sse ()
+{
+ unsigned int edx = cpuid_edx (1); // standard features
+ return (edx & (1 << 25)) != 0;
+}
+
+bool
+gr_cpu::has_sse2 ()
+{
+ unsigned int edx = cpuid_edx (1); // standard features
+ return (edx & (1 << 26)) != 0;
+}
+
+bool
+gr_cpu::has_3dnow ()
+{
+ unsigned int extended_fct_count = cpuid_eax (0x80000000);
+ if (extended_fct_count < 0x80000001)
+ return false;
+
+ unsigned int extended_features = cpuid_edx (0x80000001);
+ return (extended_features & (1 << 31)) != 0;
+}
+
+bool
+gr_cpu::has_3dnowext ()
+{
+ unsigned int extended_fct_count = cpuid_eax (0x80000000);
+ if (extended_fct_count < 0x80000001)
+ return false;
+
+ unsigned int extended_features = cpuid_edx (0x80000001);
+ return (extended_features & (1 << 30)) != 0;
+}
+
+bool
+gr_cpu::has_vmx ()
+{
+ return false;
+}
Copied:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.cc
(from rev 8953,
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_x86.cc)
===================================================================
---
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.cc
(rev 0)
+++
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.cc
2008-07-21 00:38:16 UTC (rev 8959)
@@ -0,0 +1,348 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2002,2008 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.
+ */
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <gr_fir_sysconfig_powerpc.h>
+#include <gr_cpu.h>
+
+#include <gr_fir_ccf.h>
+#include <gr_fir_ccf_generic.h>
+//#include <gr_fir_ccf_powerpc.h>
+#include <gr_fir_fcc.h>
+#include <gr_fir_fcc_generic.h>
+//#include <gr_fir_fcc_powerpc.h>
+#include <gr_fir_fff.h>
+#include <gr_fir_fff_generic.h>
+//#include <gr_fir_fff_powerpc.h>
+#include <gr_fir_fsf.h>
+#include <gr_fir_fsf_generic.h>
+//#include <gr_fir_fsf_powerpc.h>
+#include <gr_fir_ccc.h>
+#include <gr_fir_ccc_generic.h>
+//#include <gr_fir_ccc_powerpc.h>
+#include <gr_fir_scc.h>
+#include <gr_fir_scc_generic.h>
+//#include <gr_fir_scc_powerpc.h>
+
+#include <iostream>
+using std::cerr;
+
+/*
+ * ----------------------------------------------------------------
+ * static functions that serve as constructors...
+ * ----------------------------------------------------------------
+ */
+
+#if 0
+static gr_fir_ccf *
+make_gr_fir_ccf_vmx(const std::vector<float> &taps)
+{
+ return new gr_fir_ccf_vmx(taps);
+}
+
+static gr_fir_fcc *
+make_gr_fir_fcc_vmx(const std::vector<gr_complex> &taps)
+{
+ return new gr_fir_fcc_vmx(taps);
+}
+
+static gr_fir_ccc *
+make_gr_fir_ccc_vmx (const std::vector<gr_complex> &taps)
+{
+ return new gr_fir_ccc_vmx (taps);
+}
+
+static gr_fir_fff *
+make_gr_fir_fff_vmx (const std::vector<float> &taps)
+{
+ return new gr_fir_fff_vmx (taps);
+}
+
+static gr_fir_fsf *
+make_gr_fir_fsf_vmx (const std::vector<float> &taps)
+{
+ return new gr_fir_fsf_vmx (taps);
+}
+
+static gr_fir_scc *
+make_gr_fir_scc_vmx(const std::vector<gr_complex> &taps)
+{
+ return new gr_fir_scc_vmx(taps);
+}
+#endif
+
+/*
+ * ----------------------------------------------------------------
+ * Return instances of the fastest powerpc versions of these classes.
+ *
+ * check CPUID, if has VMX, return VMX version,
+ * else return generic version.
+ * ----------------------------------------------------------------
+ */
+
+gr_fir_ccf *
+gr_fir_sysconfig_powerpc::create_gr_fir_ccf (const std::vector<float> &taps)
+{
+ static bool first = true;
+
+#if 0
+ if (gr_cpu::has_vmx ()){
+ if (first){
+ cerr << ">>> gr_fir_ccf: using VMX\n";
+ first = false;
+ }
+ return make_gr_fir_ccf_vmx (taps);
+ }
+#endif
+
+ if (first){
+ cerr << ">>> gr_fir_ccf: handing off to parent class\n";
+ first = false;
+ }
+ return gr_fir_sysconfig_generic::create_gr_fir_ccf (taps);
+}
+
+gr_fir_fcc *
+gr_fir_sysconfig_powerpc::create_gr_fir_fcc (const std::vector<gr_complex>
&taps)
+{
+ static bool first = true;
+
+#if 0
+ if (gr_cpu::has_vmx ()){
+ if (first){
+ cerr << ">>> gr_fir_fcc: using VMX\n";
+ first = false;
+ }
+ return make_gr_fir_fcc_vmx (taps);
+ }
+#endif
+
+ if (first){
+ cerr << ">>> gr_fir_fcc: handing off to parent class\n";
+ first = false;
+ }
+ return gr_fir_sysconfig_generic::create_gr_fir_fcc (taps);
+}
+
+gr_fir_ccc *
+gr_fir_sysconfig_powerpc::create_gr_fir_ccc (const std::vector<gr_complex>
&taps)
+{
+ static bool first = true;
+
+#if 0
+ if (gr_cpu::has_vmx ()){
+ if (first){
+ cerr << ">>> gr_fir_ccc: using VMX\n";
+ first = false;
+ }
+ return make_gr_fir_ccc_vmx (taps);
+ }
+#endif
+
+ if (first){
+ cerr << ">>> gr_fir_ccc: handing off to parent class\n";
+ first = false;
+ }
+ return gr_fir_sysconfig_generic::create_gr_fir_ccc (taps);
+}
+
+gr_fir_fff *
+gr_fir_sysconfig_powerpc::create_gr_fir_fff (const std::vector<float> &taps)
+{
+ static bool first = true;
+
+#if 0
+ if (gr_cpu::has_vmx ()){
+ if (first){
+ cerr << ">>> gr_fir_fff: using VMX\n";
+ first = false;
+ }
+ return make_gr_fir_fff_vmx (taps);
+ }
+#endif
+
+ if (first){
+ cerr << ">>> gr_fir_fff: handing off to parent class\n";
+ first = false;
+ }
+ return gr_fir_sysconfig_generic::create_gr_fir_fff (taps);
+}
+
+gr_fir_fsf *
+gr_fir_sysconfig_powerpc::create_gr_fir_fsf (const std::vector<float> &taps)
+{
+ static bool first = true;
+
+#if 0
+ if (gr_cpu::has_vmx ()){
+ if (first){
+ cerr << ">>> gr_fir_fsf: using VMX\n";
+ first = false;
+ }
+ return make_gr_fir_fsf_vmx (taps);
+ }
+#endif
+
+ if (first){
+ cerr << ">>> gr_fir_fsf: handing off to parent class\n";
+ first = false;
+ }
+ return gr_fir_sysconfig_generic::create_gr_fir_fsf (taps);
+}
+
+
+gr_fir_scc *
+gr_fir_sysconfig_powerpc::create_gr_fir_scc (const std::vector<gr_complex>
&taps)
+{
+ static bool first = true;
+
+#if 0
+ if (gr_cpu::has_vmx ()){
+ if (first){
+ cerr << ">>> gr_fir_scc: using VMX\n";
+ first = false;
+ }
+ return make_gr_fir_scc_vmx (taps);
+ }
+#endif
+
+ if (first){
+ cerr << ">>> gr_fir_scc: handing off to parent class\n";
+ first = false;
+ }
+ return gr_fir_sysconfig_generic::create_gr_fir_scc (taps);
+}
+
+/*
+ * ----------------------------------------------------------------
+ * Return info about available implementations
+ * ----------------------------------------------------------------
+ */
+
+void
+gr_fir_sysconfig_powerpc::get_gr_fir_ccf_info (std::vector<gr_fir_ccf_info>
*info)
+{
+ gr_fir_ccf_info t;
+
+ // invoke parent..
+ gr_fir_sysconfig_generic::get_gr_fir_ccf_info (info);
+
+ // add our stuff...
+#if 0
+ if (gr_cpu::has_vmx ()){
+ t.name = "VMX";
+ t.create = make_gr_fir_ccf_vmx;
+ (*info).push_back (t);
+ }
+#endif
+}
+
+void
+gr_fir_sysconfig_powerpc::get_gr_fir_fcc_info (std::vector<gr_fir_fcc_info>
*info)
+{
+ gr_fir_fcc_info t;
+
+ // invoke parent..
+ gr_fir_sysconfig_generic::get_gr_fir_fcc_info (info);
+
+ // add our stuff...
+#if 0
+ if (gr_cpu::has_vmx ()){
+ t.name = "VMX";
+ t.create = make_gr_fir_fcc_vmx;
+ (*info).push_back (t);
+ }
+#endif
+}
+
+void
+gr_fir_sysconfig_powerpc::get_gr_fir_ccc_info (std::vector<gr_fir_ccc_info>
*info)
+{
+ gr_fir_ccc_info t;
+
+ // invoke parent..
+ gr_fir_sysconfig_generic::get_gr_fir_ccc_info (info);
+
+ // add our stuff...
+#if 0
+ if (gr_cpu::has_vmx ()){
+ t.name = "VMX";
+ t.create = make_gr_fir_ccc_vmx;
+ (*info).push_back (t);
+ }
+#endif
+}
+
+void
+gr_fir_sysconfig_powerpc::get_gr_fir_fff_info (std::vector<gr_fir_fff_info>
*info)
+{
+ gr_fir_fff_info t;
+
+ // invoke parent..
+ gr_fir_sysconfig_generic::get_gr_fir_fff_info (info);
+
+ // add our stuff...
+#if 0
+ if (gr_cpu::has_vmx ()){
+ t.name = "VMX";
+ t.create = make_gr_fir_fff_vmx;
+ (*info).push_back (t);
+ }
+#endif
+}
+
+void
+gr_fir_sysconfig_powerpc::get_gr_fir_fsf_info (std::vector<gr_fir_fsf_info>
*info)
+{
+ gr_fir_fsf_info t;
+
+ // invoke parent..
+ gr_fir_sysconfig_generic::get_gr_fir_fsf_info (info);
+
+ // add our stuff...
+#if 0
+ if (gr_cpu::has_vmx ()){
+ t.name = "VMX";
+ t.create = make_gr_fir_fsf_vmx;
+ (*info).push_back (t);
+ }
+#endif
+}
+
+void
+gr_fir_sysconfig_powerpc::get_gr_fir_scc_info (std::vector<gr_fir_scc_info>
*info)
+{
+ gr_fir_scc_info t;
+
+ // invoke parent..
+ gr_fir_sysconfig_generic::get_gr_fir_scc_info (info);
+
+ // add our stuff...
+#if 0
+ if (gr_cpu::has_vmx ()){
+ t.name = "VMX";
+ t.create = make_gr_fir_scc_vmx;
+ (*info).push_back (t);
+ }
+#endif
+}
Copied:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.h
(from rev 8953,
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_x86.h)
===================================================================
---
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.h
(rev 0)
+++
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/gr_fir_sysconfig_powerpc.h
2008-07-21 00:38:16 UTC (rev 8959)
@@ -0,0 +1,46 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2002,2008 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_GR_FIR_SYSCONFIG_POWERPC_H
+#define INCLUDED_GR_FIR_SYSCONFIG_POWERPC_H
+
+#include <gr_fir_sysconfig_generic.h>
+
+class gr_fir_sysconfig_powerpc : public gr_fir_sysconfig_generic {
+public:
+ virtual gr_fir_ccf *create_gr_fir_ccf (const std::vector<float> &taps);
+ virtual gr_fir_fcc *create_gr_fir_fcc (const std::vector<gr_complex> &taps);
+ virtual gr_fir_fff *create_gr_fir_fff (const std::vector<float> &taps);
+ virtual gr_fir_fsf *create_gr_fir_fsf (const std::vector<float> &taps);
+ virtual gr_fir_scc *create_gr_fir_scc (const std::vector<gr_complex> &taps);
+ virtual gr_fir_ccc *create_gr_fir_ccc (const std::vector<gr_complex> &taps);
+//virtual gr_fir_sss *create_gr_fir_sss (const std::vector<short> &taps);
+
+ virtual void get_gr_fir_ccf_info (std::vector<gr_fir_ccf_info> *info);
+ virtual void get_gr_fir_fcc_info (std::vector<gr_fir_fcc_info> *info);
+ virtual void get_gr_fir_fff_info (std::vector<gr_fir_fff_info> *info);
+ virtual void get_gr_fir_fsf_info (std::vector<gr_fir_fsf_info> *info);
+ virtual void get_gr_fir_scc_info (std::vector<gr_fir_scc_info> *info);
+ virtual void get_gr_fir_ccc_info (std::vector<gr_fir_ccc_info> *info);
+//virtual void get_gr_fir_sss_info (std::vector<gr_fir_sss_info> *info);
+};
+
+#endif
Copied:
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/sysconfig_powerpc.cc
(from rev 8953,
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/sysconfig_x86.cc)
===================================================================
---
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/sysconfig_powerpc.cc
(rev 0)
+++
gnuradio/branches/developers/eb/vmx/gnuradio-core/src/lib/filter/sysconfig_powerpc.cc
2008-07-21 00:38:16 UTC (rev 8959)
@@ -0,0 +1,38 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2002,2008 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <gr_fir_sysconfig_powerpc.h>
+
+gr_fir_sysconfig *
+gr_fir_sysconfig_singleton ()
+{
+ static gr_fir_sysconfig *singleton = 0;
+
+ if (singleton)
+ return singleton;
+
+ singleton = new gr_fir_sysconfig_powerpc ();
+ return singleton;
+}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8959 - in gnuradio/branches/developers/eb/vmx: config gnuradio-core/src/lib/filter,
eb <=