| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This commit contains all the additions to gr-*/lib/CMakeLists.txt
applicable to modules already present in 3.8.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
| |
Signed-off-by: Thomas Habets <thomas@habets.se>
|
|
|
|
|
|
|
| |
since d_history is set to 1 in gr::block, these statements are
unnecessary
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
|
| |
Found via `codespell v2.1.dev0`
`codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
Signed-off-by: luz paz <luzpaz@users.noreply.github.com>
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
| |
Recently added window options include several additional windows that take a configuration parameter. This updates this parameter from 'beta' which was previously used only for Kaiser windows to a generic 'param' which makes sense for any window requiring a configuration parameter. The default values remain 6.76 which is not legal for the Tukey window but this error will be caught if the default is used; this is a reasonable cost for backward compatability.
Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
run
/usr/share/clang/run-clang-tidy.py -checks=file '-header-filter=.*'
-fix ..
from build directory.
Then,
clang-format -i $(git diff --name-only origin/master)
to clang-format changed files.
Then, refresh all header hashes in pybind bindings
(*/python/bindings/*.cc)
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
| |
Also, clean up includes
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
| |
The win_type defined in firdes is marked as deprecated to be removed in
3.8, so let's go ahead and remove it and fix all the references
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The bulk of the rational resampler code is named rational_resampler_base
and only in Python is the automatic designing of filters if taps are not
specified. This pushes that code into the C++ classes (which get
binded) so rational_resampler.py can go away, removing a layer of
wrapping
|
| |
|
| |
|
|
|
|
|
|
|
| |
You can't move from a const object, so unfortunately it's not possible
to keep constness on these.
This should fix #3757
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fft: refactor fft classes as templates
In order to reduce code duplication construct fft objects and blocks
with template paramters.
Separate forward and reverse as a template
parameter
Maintain the real fft block forward as r2c and reverse as r2c as well
Co-authored-by: Andrej Rode <mail@andrejro.de>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Mostly done with:
```
find -name "*_impl.h" | xargs sed -i -r '/(void forecast|int work|int general_work|bool check_topology)\(/{:back /\)/b nxt;N;b back;:nxt s/\)$|\)(;)/) override\1/g}'
```
Then I removed an incorrect `work` that this found.
|
|
|
|
|
|
|
| |
* Fix various typos
Found via `codespell v2.0.dev`
`codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
|
| |
|
|
|
|
|
| |
This removes the copy constructor from being exported to Python. Which
is good, because calling copying this Would Be Bad.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First batch of changes:
```
find […] -print0 | xargs -0 sed -i -r '/get_initial_sptr/{:nxt N;/;/!b nxt;s/get_initial_sptr\(\s*new ([^(]+)(.*)\)\)/make_block_sptr<\1>\2)/}'
```
Then:
* Back out `sptr_magic.h` edits
* Change some `friend` clauses
* clang-format the whole thing
* Update checksums in the pybind11 bindings files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly manual work, followed by updating checksums.
Note that there were (and still remain) a lot of default copy
constructors and copy assignment operators in the codebase that are
not safe. And they're even exported to Python (some removed in this
commit).
While it's perfectly possible to allow safe copies once raw pointers
are removed, it seems like a performance trap waiting to happen. Hence
I removed the fir_filter copy cons/assignment.
Short script I used to update the header file hashes for pybind11:
```
a=polyphase_filterbank
S=$(md5sum $(find -name "${a}.h") | awk '{print $1}')
sed -i -r "s/(BINDTOOL_HEADER_FILE_HASH)[(].*[)]/\1($S)/" $(find -name "${a}_python.cc")
```
|
|
|
|
|
| |
With this commit, all components except gr-qtgui use lambdas instead of
`boost::bind` to register msg handlers.
|
|
|
|
|
|
| |
* Fix gain of firdes.root_raised_cosine() when alpha is set to 1.0. Was
2x the expected gain for alpha==1.0 previously.
* Adds corresponding unit test.
|
| |
|
|
|
|
|
| |
This also changed a bit on the logging format of the FFT filter; I don't
expect anyone to rely on that, but it's worth noting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the volk/ submodule pointer and updates the CMake to detect
VOLK like any other dependency. The VOLK_MIN_VERSION CMake variable is
added (and set to 2.1.0).
The GR_VOLK_LIB variable is replaced with Volk::volk everywhere.
The VOLK_INSTALL_LIBRARY_DIR and VOLK_INSTALL_INCLUDE_DIR variables
weren't used and were removed.
CMake will now fail if VOLK cannot be detected. Therefore, ENABLE_VOLK
was also removed as a variable; all in-tree components may assume the
existence of VOLK.
|
|
|
|
|
|
|
|
|
| |
Current resamplers do not support ichar and ishort as an input type.
When processing streaming ichar data from external sources (such as
the ATA), decimation in native ichar would be faster than converting
to another data type then decimating. This block provides the ability
to decimate the ichar stream directly. Support was also added to
support ishort data in the same manner.
|
| |
|
|
|
|
|
|
| |
Re-ordered work call to let rotate take advantage of volk. Rather
than rotating individually with each for iteration, the rotate
happens after with a rotateN to use the volk version for the data.
|
|
|
|
|
| |
This fixes every leftover file in the GNU Radio source tree to match our
clang-format definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constexpr is like const but (for variables) guarantees evaluation at
compile time (as opposed to runtime).
Likely this change will do nothing on its own (though it could, since
it gives the compiler more information). But it still has benefits.
It allows programmer to know that initialization is not expensive (it
was done at compile time), and reduces risk of a refactoring
regressing the compiletimeness.
Runtime initialization can be nonobvious in larger codebases. E.g.:
struct S {
static int foo();
};
const int bar = S::foo(); // Called and initialized at *runtime*.
int S::foo() { return 10; }
With constexpr:
struct S {
static constexpr int foo();
};
constexpr int bar = S::foo(); // Error: used before definition.
constexpr int S::foo() { return 10; }
Initializing at runtime is not just startup costs, but also can save
memory since it'll end up in a R/O section of a binary and therefore
doesn't need to be swapped out, but can be shared (in the mmap() sense
of the word).
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Using memset with gr_complex is not a problem since the underlying
representation of gr_complex is guaranteed to be two floats in
adjacent memory locations without padding or additional memory.
Fixes #2743
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang-format: ordering includes in gnuradio-runtime
clang-format: ordering includes in gr-filter
clang-format: ordering includes in gr-fft
clang-format: ordering includes in gr-audio
clang-format: ordering includes in gr-analog
clang-format: ordering includes in gr-fec
clang-format: ordering includes in gr-wavelet
clang-format: ordering includes in gr-zeromq
clang-format: ordering includes in gr-vocoder
clang-format: ordering includes in gr-video-sdl
clang-format: ordering includes in gr-trellis
clang-format: ordering includes in gr-blocks
clang-format: ordering includes in gr-digital
clang-format: ordering includes in gr-uhd
clang-format: ordering includes in gr-dtv
clang-format: ordering includes in gr-channels
clang-format: ordering includes in gr-qtgui
clang_format.py: re-enable include reordering
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found via `codespell -q 3 -L ans,sinc,hist,ist,ith,uint,fo -S ./volk`
Fix typos in gnuradio-runtime/
Fix typos in gr-digital/
Fix typos in gr-qtgui/
Fix typos in gr-channels/
Fix typos in grc/
Fix typos gr-filter/
Fix typos in gr-uhd/
Fix typos in gr-blocks/
Fix typos in gr-fec/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes using target based setting of includes
and link libraries. This will transitively add the includes
and linking flags to dependent targets.
This is still a work in progress since only the dynamic
libraries have been touched and not all of include_directories
directives are gone yet.
cmake: remove GR_INCLUDE_SUBDIRECTORY macro
Previously this macro was used to inject subdirectories in the
current CMake namespace. This is generally undesired and pollutes the
current context.
previously GNU Radio CMake had a non-default option ENABLE_STATIC_LIBS
to build both, shared libraries and static libraries.
This seems to be a construction taken over from autotools and serves
no purpuose in CMake and complicates the library building.
cmake: remove GR_LIBTOOL and la generation support
This looks like it was primarily used to support projects using
autotools, but comments state that the generated .la files aren't
compatible with autotools anyway.
cmake: Bump required CMake version to 3.8
UseSWIG cmake uses syntax which requires at least CMake 3.8 and is non-trivial
to change
|
|
|
|
|
| |
these variables are always empty and are leftovers from
removing gengen templates
|
|
|
|
|
|
| |
The d_rotator member of pfb_decimator_ccf_impl is allocated with new[]
but deallocated with delete. It should instead be deallocated with
delete[].
|