Rationale:
The source file includes a line length that is well beyond the normally human made code line length.
This very long line length does not allow Lintian to do correctly some source file checks.
This line could also be the result of some text injected by a computer program, and thus could lead to FTBFS bugs.
Last but not least, long line in source code could be used to obfuscate the source code and to hide stuff like backdoors or security problems.
This feature is configurable, disabled by default.
Added a benchmark for the Reed Solomon decoder.
Make the RS decoder to accept both shortened or unshortened codes
Create a base class for GPS, Galileo and BeiDou ephemeris, allowing to remove some duplicated code
Use BOOST_SERIALIZATION_NVP macro, less error prone than boost::serialization::make_nvp
Update .xsd files
I don't know how this didn't run before submitting the PR. CI tests are great!
The file-based signal sources were modified to not throw an exception on creation
but rather when connect() is called. The unit test was checking for an exception
upon construction.
also adds a base implementation that most signal sources should inherit from.
The gen_signal_source is inexplicably different (probably as a test fixture,
commonality was not valued).
Only the file_signal_source has been tested; all the sources are modified in the same
way, but we all know the only proof of correctness is testing.
The block factory was simplified a bit. Handling for legacy config files was pulled out
of the flowgraph; now when the "0" instance of a component (Foo0) is created, if there is
no config for it, then the legacy version (Foo) will be tried. This is different from
passing -1 for the item number (which is still supported). Theoretically, all existing
config files should still work.
Fix compilation of some optional blocks when linking against GR 3.9
Fix warning -Wembedded-directive: embedding a directive within macro arguments has undefined behavior