mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental
This commit is contained in:
		
							
								
								
									
										51
									
								
								.clang-tidy
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								.clang-tidy
									
									
									
									
									
								
							| @@ -23,6 +23,7 @@ Checks: '-*, | ||||
|         bugprone-move-forwarding-reference, | ||||
|         bugprone-multiple-statement-macro, | ||||
|         bugprone-parent-virtual-call, | ||||
|         bugprone-reserved-identifier, | ||||
|         bugprone-sizeof-container, | ||||
|         bugprone-sizeof-expression, | ||||
|         bugprone-string-constructor, | ||||
| @@ -149,6 +150,12 @@ CheckOptions: | ||||
|     value:           '' | ||||
|   - key:             bugprone-misplaced-widening-cast.CheckImplicitCasts | ||||
|     value:           'false' | ||||
|   - key:             bugprone-reserved-identifier.AggressiveDependentMemberLookup | ||||
|     value:           'false' | ||||
|   - key:             bugprone-reserved-identifier.AllowedIdentifiers | ||||
|     value:           '' | ||||
|   - key:             bugprone-reserved-identifier.Invert | ||||
|     value:           'false' | ||||
|   - key:             bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant | ||||
|     value:           'true' | ||||
|   - key:             bugprone-sizeof-expression.WarnOnSizeOfConstant | ||||
| @@ -178,7 +185,7 @@ CheckOptions: | ||||
|   - key:             bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit | ||||
|     value:           '16' | ||||
|   - key:             bugprone-unused-return-value.CheckedFunctions | ||||
|     value:           '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty' | ||||
|     value:           'std::async;std::launder;std::remove;std::remove_if;std::unique;std::unique_ptr::release;std::basic_string::empty;std::vector::empty;std::back_inserter;std::distance;std::find;std::find_if;std::inserter;std::lower_bound;std::make_pair;std::map::count;std::map::find;std::map::lower_bound;std::multimap::equal_range;std::multimap::upper_bound;std::set::count;std::set::find;std::setfill;std::setprecision;std::setw;std::upper_bound;std::vector::at;::bsearch;::ferror;::feof;::isalnum;::isalpha;::isblank;::iscntrl;::isdigit;::isgraph;::islower;::isprint;::ispunct;::isspace;::isupper;::iswalnum;::iswprint;::iswspace;::isxdigit;::memchr;::memcmp;::strcmp;::strcoll;::strncmp;::strpbrk;::strrchr;::strspn;::strstr;::wcscmp;::access;::bind;::connect;::difftime;::dlsym;::fnmatch;::getaddrinfo;::getopt;::htonl;::htons;::iconv_open;::inet_addr;::isascii;::isatty;::mmap;::newlocale;::openat;::pathconf;::pthread_equal;::pthread_getspecific;::pthread_mutex_trylock;::readdir;::readlink;::recvmsg;::regexec;::scandir;::semget;::setjmp;::shm_open;::shmget;::sigismember;::strcasecmp;::strsignal;::ttyname' | ||||
|   - key:             cert-dcl16-c.NewSuffixes | ||||
|     value:           'L;LL;LU;LLU' | ||||
|   - key:             cert-msc51-cpp.DisallowedSeedTypes | ||||
| @@ -198,9 +205,9 @@ CheckOptions: | ||||
|   - key:             cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor | ||||
|     value:           'false' | ||||
|   - key:             google-build-namespaces.HeaderFileExtensions | ||||
|     value:           ',h' | ||||
|     value:           ';h;hh;hpp;hxx' | ||||
|   - key:             google-global-names-in-headers.HeaderFileExtensions | ||||
|     value:           ',h,hh,hpp,hxx' | ||||
|     value:           ';h;hh;hpp;hxx' | ||||
|   - key:             google-readability-braces-around-statements.ShortStatementLines | ||||
|     value:           '1' | ||||
|   - key:             google-readability-function-size.StatementThreshold | ||||
| @@ -224,7 +231,7 @@ CheckOptions: | ||||
|   - key:             misc-throw-by-value-catch-by-reference.CheckThrowTemporaries | ||||
|     value:           'true' | ||||
|   - key:             misc-throw-by-value-catch-by-reference.MaxSize | ||||
|     value:           '-1' | ||||
|     value:           '64' | ||||
|   - key:             misc-throw-by-value-catch-by-reference.WarnOnLargeObjects | ||||
|     value:           'false' | ||||
|   - key:             modernize-avoid-bind.PermissiveParameterList | ||||
| @@ -254,15 +261,15 @@ CheckOptions: | ||||
|   - key:             modernize-use-default-member-init.UseAssignment | ||||
|     value:           'false' | ||||
|   - key:             modernize-use-emplace.ContainersWithPushBack | ||||
|     value:           '::std::vector;::std::list;::std::deque' | ||||
|     value:           'std::vector;std::list;std::deque' | ||||
|   - key:             modernize-use-emplace.IgnoreImplicitConstructors | ||||
|     value:           'false' | ||||
|   - key:             modernize-use-emplace.SmartPointers | ||||
|     value:           '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr' | ||||
|     value:           'std::shared_ptr;std::unique_ptr;std::auto_ptr;std::weak_ptr' | ||||
|   - key:             modernize-use-emplace.TupleMakeFunctions | ||||
|     value:           '::std::make_pair;::std::make_tuple' | ||||
|     value:           'std::make_pair;std::make_tuple' | ||||
|   - key:             modernize-use-emplace.TupleTypes | ||||
|     value:           '::std::pair;::std::tuple' | ||||
|     value:           'std::pair;std::tuple' | ||||
|   - key:             modernize-use-equals-default.IgnoreMacros | ||||
|     value:           'true' | ||||
|   - key:             modernize-use-equals-delete.IgnoreMacros | ||||
| @@ -282,7 +289,7 @@ CheckOptions: | ||||
|   - key:             modernize-use-override.OverrideSpelling | ||||
|     value:           override | ||||
|   - key:             performance-faster-string-find.StringLikeClasses | ||||
|     value:           'std::basic_string' | ||||
|     value:           'std::basic_string;std::basic_string_view' | ||||
|   - key:             performance-for-range-copy.AllowedTypes | ||||
|     value:           '' | ||||
|   - key:             performance-for-range-copy.WarnOnAllAutoCopies | ||||
| @@ -292,7 +299,7 @@ CheckOptions: | ||||
|   - key:             performance-inefficient-vector-operation.EnableProto | ||||
|     value:           'false' | ||||
|   - key:             performance-inefficient-vector-operation.VectorLikeClasses | ||||
|     value:           '::std::vector' | ||||
|     value:           'std::vector' | ||||
|   - key:             performance-move-const-arg.CheckTriviallyCopyableMove | ||||
|     value:           'true' | ||||
|   - key:             performance-move-constructor-init.IncludeStyle | ||||
| @@ -307,36 +314,12 @@ CheckOptions: | ||||
|     value:           llvm | ||||
|   - key:             readability-braces-around-statements.ShortStatementLines | ||||
|     value:           '0' | ||||
|   - key:             readability-identifier-naming.AbstractClassCase | ||||
|     value:           CamelCase | ||||
|   - key:             readability-identifier-naming.AbstractClassPrefix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.AbstractClassSuffix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.AggressiveDependentMemberLookup | ||||
|     value:           'false' | ||||
|   - key:             readability-identifier-naming.ClassCase | ||||
|     value:           Camel_Snake_Case | ||||
|   - key:             readability-identifier-naming.ClassPrefix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.ClassSuffix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.GlobalConstantCase | ||||
|     value:           UPPER_CASE | ||||
|   - key:             readability-identifier-naming.GlobalConstantPrefix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.GlobalConstantSuffix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.IgnoreFailedSplit | ||||
|     value:           'false' | ||||
|   - key:             readability-identifier-naming.IgnoreMainLikeFunctions | ||||
|     value:           'false' | ||||
|   - key:             readability-identifier-naming.StructCase | ||||
|     value:           aNy_CasE | ||||
|   - key:             readability-identifier-naming.StructPrefix | ||||
|     value:           '' | ||||
|   - key:             readability-identifier-naming.StructSuffix | ||||
|     value:           '' | ||||
|   - key:             readability-inconsistent-declaration-parameter-name.IgnoreMacros | ||||
|     value:           'true' | ||||
|   - key:             readability-inconsistent-declaration-parameter-name.Strict | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| # GNSS-SDR is a Global Navigation Satellite System software-defined receiver. | ||||
| # This file is part of GNSS-SDR. | ||||
| # | ||||
| # SPDX-FileCopyrightText: 2010-2020 C. Fernandez-Prades cfernandez(at)cttc.es | ||||
| # SPDX-FileCopyrightText: 2010-2021 C. Fernandez-Prades cfernandez(at)cttc.es | ||||
| # SPDX-License-Identifier: BSD-3-Clause | ||||
|  | ||||
| ################################################################################ | ||||
| @@ -157,9 +157,9 @@ endif() | ||||
| set(VERSION_INFO_MAJOR_VERSION 0) | ||||
| set(VERSION_INFO_API_COMPAT 0) | ||||
| if(${THIS_IS_A_RELEASE}) | ||||
|     set(VERSION_INFO_MINOR_VERSION 13) | ||||
|     set(VERSION_INFO_MINOR_VERSION 14) | ||||
| else() | ||||
|     set(VERSION_INFO_MINOR_VERSION 13.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) | ||||
|     set(VERSION_INFO_MINOR_VERSION 14.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) | ||||
| endif() | ||||
|  | ||||
| set(VERSION ${VERSION_INFO_MAJOR_VERSION}.${VERSION_INFO_API_COMPAT}.${VERSION_INFO_MINOR_VERSION}) | ||||
| @@ -327,7 +327,7 @@ set(GNSSSDR_GTEST_LOCAL_VERSION "1.10.0") | ||||
| set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master") | ||||
| set(GNSSSDR_GPSTK_LOCAL_VERSION "8.0.0") | ||||
| set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.19") | ||||
| set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.11.2") | ||||
| set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.11.4") | ||||
| set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.14.0") | ||||
| set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.2") | ||||
| set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7") | ||||
|   | ||||
| @@ -4,11 +4,11 @@ SPDX-License-Identifier: GPL-3.0-or-later | ||||
| ) | ||||
|  | ||||
| [comment]: # ( | ||||
| SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc.es> | ||||
| SPDX-FileCopyrightText: 2011-2021 Carles Fernandez-Prades <carles.fernandez@cttc.es> | ||||
| ) | ||||
| <!-- prettier-ignore-end --> | ||||
|  | ||||
| ## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next) | ||||
| ## [GNSS-SDR v0.0.14](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.14) | ||||
|  | ||||
| ### Improvements in Availability: | ||||
|  | ||||
| @@ -37,6 +37,16 @@ SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc | ||||
|   handle the `boost::shared_ptr` to `std::shared_ptr` transition in GNU Radio | ||||
|   3.9 API more nicely. | ||||
| - Support new FFT and firdes blocks' API in GNU Radio 3.9. | ||||
| - Added detection of inconsistent function prototypes in `volk_gnsssdr` library | ||||
|   kernels at compile time. | ||||
| - Fixed defects detected by clang-tidy check `bugprone-reserved-identifier`, and | ||||
|   added to the checks list. This check corresponds to CERT C Coding Standard | ||||
|   rule | ||||
|   [DCL37-C](https://wiki.sei.cmu.edu/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier) | ||||
|   as well as its C++ counterpart, | ||||
|   [DCL51-CPP](https://wiki.sei.cmu.edu/confluence/display/cplusplus/DCL51-CPP.+Do+not+declare+or+define+a+reserved+identifier). | ||||
| - Applied and added more clang-tidy checks related to readability: | ||||
|   `readability-make-member-function-const` and `readability-qualified-auto`. | ||||
|  | ||||
| ### Improvements in Portability: | ||||
|  | ||||
| @@ -59,6 +69,9 @@ SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc | ||||
|   everything is managed by the CMake scripts. | ||||
| - The `volk_gnsssdr` library can be built on Microsoft Windows and can execute | ||||
|   SIMD instructions on that OS. | ||||
| - Removed all instances of `_mm256_zeroupper()` in the `volk_gnsssdr` library, | ||||
|   since they are not required and lead to miscompilation with GCC 10.2 and | ||||
|   optimization level `-O3`. | ||||
| - Fixed building with `-DENABLE_CUDA=ON` for blocks implemented with CUDA. | ||||
| - Fixed linking against the ORC library if it is present in the system. | ||||
| - Fixed a bug introduced in v0.0.13 that prevented getting Galileo-only PVT | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| .\" SPDX-License-Identifier: GPL-3.0-or-later | ||||
| .\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es> | ||||
| .\" Contact carles.fernandez@cttc.es to correct errors or typos. | ||||
| .TH gnss\-sdr 1 "29 Jul 2020" "0.0.13" "gnss\-sdr man page" | ||||
| .TH gnss\-sdr 1 "29 Jul 2020" "0.0.14" "gnss\-sdr man page" | ||||
| .SH NAME | ||||
| \fBgnss\-sdr\fR \- GNSS Software Defined Receiver. | ||||
| .SH SYNOPSIS | ||||
|   | ||||
| @@ -151,6 +151,10 @@ if(NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32) AND NOT (CMAKE_CXX | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
| ######################################################################## | ||||
| # Common compile flags | ||||
| ######################################################################## | ||||
|  | ||||
| # Disable complex math NaN/INFO range checking for performance | ||||
| include(CheckCXXCompilerFlag) | ||||
| check_cxx_compiler_flag(-fcx-limited-range HAVE_CX_LIMITED_RANGE) | ||||
| @@ -167,6 +171,21 @@ endif() | ||||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CXX_FLAGS} -Wall") | ||||
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") | ||||
|  | ||||
| if(CMAKE_C_COMPILER_ID MATCHES "Clang|GNU") | ||||
|     # Abort compilation if kernel implementations have inconsistent function | ||||
|     # prototypes, i.e. if | ||||
|     # | ||||
|     #     kernel_foo_sse(uint32_t *dst, lv32fc_t *src) | ||||
|     #     kernel_foo_avx(uint16_t *dst, lv32fc_t *src) | ||||
|     # | ||||
|     # are defined. Note the different data type of the first argument). By | ||||
|     # default 'incompatible-pointer-types' is a warning only and 'pointer-sign' | ||||
|     # is a warning enabled by '-Wall'. These warnings are only applicable to C. | ||||
|     if(NOT (CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5.0")) | ||||
|         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror=incompatible-pointer-types -Werror=pointer-sign") | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
| option(ENABLE_STRIP "Create a stripped volk_gnsssdr_profile binary (without debugging symbols)" OFF) | ||||
| if(ENABLE_STRIP) | ||||
|     set(CMAKE_VERBOSE_MAKEFILE ON) | ||||
| @@ -184,7 +203,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.") | ||||
|  | ||||
| set(VERSION_INFO_MAJOR_VERSION 0) | ||||
| set(VERSION_INFO_MINOR_VERSION 0) | ||||
| set(VERSION_INFO_MAINT_VERSION 13) | ||||
| set(VERSION_INFO_MAINT_VERSION 14) | ||||
| include(VolkVersion) # setup version info | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -120,7 +120,6 @@ if(FILESYSTEM_FIND_QUIETLY) | ||||
| endif() | ||||
|  | ||||
| # All of our tests require C++17 or later | ||||
| set(CMAKE_CXX_STANDARD 17) | ||||
| if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.0.0")) | ||||
|     set(CMAKE_REQUIRED_FLAGS "-std=c++17") | ||||
| endif() | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| .\" SPDX-License-Identifier: GPL-3.0-or-later | ||||
| .\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es> | ||||
| .\" Contact carles.fernandez@cttc.es to correct errors or typos. | ||||
| .TH volk_gnsssdr\-config\-info 1 "29 Jul 2020" "0.0.13" "volk_gnsssdr\-config\-info man page" | ||||
| .TH volk_gnsssdr\-config\-info 1 "29 Jul 2020" "0.0.14" "volk_gnsssdr\-config\-info man page" | ||||
| .SH NAME | ||||
| \fBvolk_gnsssdr\-config\-info\fR \- Prints configuration information of libvolk_gnsssdr functions. | ||||
| .SH SYNOPSIS | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| .\" SPDX-License-Identifier: GPL-3.0-or-later | ||||
| .\" SPDX-FileCopyrightText: Carles Fernandez-Prades <carles.fernandez(at)cttc.es> | ||||
| .\" Contact carles.fernandez@cttc.es to correct errors or typos. | ||||
| .TH volk_gnsssdr_profile 1 "29 Jul 2020" "0.0.13" "volk_gnsssdr_profile man page" | ||||
| .TH volk_gnsssdr_profile 1 "29 Jul 2020" "0.0.14" "volk_gnsssdr_profile man page" | ||||
| .SH NAME | ||||
| \fBvolk_gnsssdr_profile\fR \- Profiler application for libvolk_gnsssdr functions. | ||||
| .SH SYNOPSIS | ||||
|   | ||||
| @@ -416,7 +416,7 @@ static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_a_avx(int16_t** result, | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
| @@ -494,7 +494,7 @@ static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_u_avx(int16_t** result, | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
|   | ||||
| @@ -611,7 +611,6 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_a_avx2(lv_16sc | ||||
|         } | ||||
|  | ||||
|     volk_gnsssdr_free(cacc); | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); | ||||
|     (*phase) = four_phase_acc[0]; | ||||
| @@ -763,7 +762,6 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_u_avx2(lv_16sc | ||||
|         } | ||||
|  | ||||
|     volk_gnsssdr_free(cacc); | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); | ||||
|     (*phase) = four_phase_acc[0]; | ||||
|   | ||||
| @@ -129,7 +129,7 @@ static inline void volk_gnsssdr_16ic_convert_32fc_u_axv(lv_32fc_t* outputVector, | ||||
|             _in += 4; | ||||
|             _out += 4; | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (i = 0; i < (num_points % 4); ++i) | ||||
|         { | ||||
|             *_out++ = lv_cmake((float)lv_creal(*_in), (float)lv_cimag(*_in)); | ||||
| @@ -156,7 +156,7 @@ static inline void volk_gnsssdr_16ic_convert_32fc_a_axv(lv_32fc_t* outputVector, | ||||
|             _in += 4; | ||||
|             _out += 4; | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (i = 0; i < (num_points % 4); ++i) | ||||
|         { | ||||
|             *_out++ = lv_cmake((float)lv_creal(*_in), (float)lv_cimag(*_in)); | ||||
|   | ||||
| @@ -282,7 +282,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_u_axv2(lv_16sc_t* out, con | ||||
|             result = _mm256_or_si256(realcacc, imagcacc); | ||||
|  | ||||
|             _mm256_storeu_si256((__m256i*)dotProductVector, result);  // Store the results back into the dot product vector | ||||
|             _mm256_zeroupper(); | ||||
|  | ||||
|             for (i = 0; i < 8; ++i) | ||||
|                 { | ||||
| @@ -360,7 +359,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_a_axv2(lv_16sc_t* out, con | ||||
|             result = _mm256_or_si256(realcacc, imagcacc); | ||||
|  | ||||
|             _mm256_store_si256((__m256i*)dotProductVector, result);  // Store the results back into the dot product vector | ||||
|             _mm256_zeroupper(); | ||||
|  | ||||
|             for (i = 0; i < 8; ++i) | ||||
|                 { | ||||
|   | ||||
| @@ -364,7 +364,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_a_avx2(lv_16sc_t* resul | ||||
|             volk_gnsssdr_free(realcacc); | ||||
|             volk_gnsssdr_free(imagcacc); | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (n_vec = 0; n_vec < num_a_vectors; n_vec++) | ||||
|         { | ||||
| @@ -459,7 +458,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_u_avx2(lv_16sc_t* resul | ||||
|             volk_gnsssdr_free(realcacc); | ||||
|             volk_gnsssdr_free(imagcacc); | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (n_vec = 0; n_vec < num_a_vectors; n_vec++) | ||||
|         { | ||||
|   | ||||
| @@ -214,7 +214,7 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_u_avx2(lv_16sc_t* out, con | ||||
|             _in_b += 8; | ||||
|             _out += 8; | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     number = avx2_points * 8; | ||||
|     for (; number < num_points; number++) | ||||
|         { | ||||
| @@ -268,7 +268,7 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_a_avx2(lv_16sc_t* out, con | ||||
|             _in_b += 8; | ||||
|             _out += 8; | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     number = avx2_points * 8; | ||||
|     for (; number < num_points; number++) | ||||
|         { | ||||
|   | ||||
| @@ -945,7 +945,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_a_avx2(lv_16sc_ | ||||
|  | ||||
|     volk_gnsssdr_free(realcacc); | ||||
|     volk_gnsssdr_free(imagcacc); | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|  | ||||
|     _mm_store_ps((float*)two_phase_acc, two_phase_acc_reg); | ||||
|     (*phase) = two_phase_acc[0]; | ||||
| @@ -1261,7 +1261,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_a_avx2_reload(l | ||||
|                 } | ||||
|             _out[n_vec] = dotProduct; | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     volk_gnsssdr_free(realcacc); | ||||
|     volk_gnsssdr_free(imagcacc); | ||||
|  | ||||
|   | ||||
| @@ -415,7 +415,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_a_avx(lv_16sc_t** resu | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
| @@ -493,7 +493,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_u_avx(lv_16sc_t** resu | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
|   | ||||
| @@ -491,8 +491,6 @@ static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_avx(floa | ||||
|             indexn = _mm256_add_ps(indexn, eights); | ||||
|         } | ||||
|  | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (n = avx_iters * 8; n < num_points; n++) | ||||
|         { | ||||
|             // resample code for first tap | ||||
| @@ -579,8 +577,6 @@ static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_avx(floa | ||||
|             indexn = _mm256_add_ps(indexn, eights); | ||||
|         } | ||||
|  | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (n = avx_iters * 8; n < num_points; n++) | ||||
|         { | ||||
|             // resample code for first tap | ||||
|   | ||||
| @@ -417,7 +417,7 @@ static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_a_avx(float** result, co | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
| @@ -495,7 +495,7 @@ static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_u_avx(float** result, co | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
|   | ||||
| @@ -294,7 +294,6 @@ static inline void volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn_u_avx(lv_32fc_ | ||||
|     z0 = _mm256_complexnormalise_ps(z0); | ||||
|     _mm256_store_ps((float*)phase_vec, z0); | ||||
|     _phase = phase_vec[0]; | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     number = sixteenthPoints * 16; | ||||
|     for (; number < num_points; number++) | ||||
| @@ -462,7 +461,6 @@ static inline void volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_ | ||||
|     z0 = _mm256_complexnormalise_ps(z0); | ||||
|     _mm256_store_ps((float*)phase_vec, z0); | ||||
|     _phase = phase_vec[0]; | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     number = sixteenthPoints * 16; | ||||
|     for (; number < num_points; number++) | ||||
|   | ||||
| @@ -488,7 +488,6 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_u_avx(lv_32fc_t | ||||
|  | ||||
|     _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); | ||||
|     _phase = four_phase_acc[0]; | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (n = avx_iters * 4; n < num_points; n++) | ||||
|         { | ||||
| @@ -618,7 +617,6 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_t | ||||
|  | ||||
|     _mm256_store_ps((float*)four_phase_acc, four_phase_acc_reg); | ||||
|     _phase = four_phase_acc[0]; | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (n = avx_iters * 4; n < num_points; n++) | ||||
|         { | ||||
|   | ||||
| @@ -414,7 +414,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_a_avx(lv_32fc_t** resu | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
| @@ -492,7 +492,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_u_avx(lv_32fc_t** resu | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
| @@ -571,7 +571,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_u_avx2(lv_32fc_t** res | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
| @@ -650,7 +650,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_a_avx2(lv_32fc_t** res | ||||
|                     indexn = _mm256_add_ps(indexn, eights); | ||||
|                 } | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     for (current_correlator_tap = 0; current_correlator_tap < num_out_vectors; current_correlator_tap++) | ||||
|         { | ||||
|             for (n = avx_iters * 8; n < num_points; n++) | ||||
|   | ||||
| @@ -616,7 +616,7 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_a_avx2(lv_32fc_t *out, const fl | ||||
|  | ||||
|             eight_phases_reg = _mm256_add_ps(eight_phases_reg, eight_phases_inc_reg); | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     _phase = _phase + phase_inc * (avx_iters * 8); | ||||
|     for (number = avx_iters * 8; number < num_points; number++) | ||||
|         { | ||||
| @@ -803,7 +803,7 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_u_avx2(lv_32fc_t *out, const fl | ||||
|  | ||||
|             eight_phases_reg = _mm256_add_ps(eight_phases_reg, eight_phases_inc_reg); | ||||
|         } | ||||
|     _mm256_zeroupper(); | ||||
|  | ||||
|     _phase = _phase + phase_inc * (avx_iters * 8); | ||||
|     for (number = avx_iters * 8; number < num_points; number++) | ||||
|         { | ||||
|   | ||||
| @@ -755,7 +755,7 @@ asn_dec_rval_t CHOICE_decode_xer(asn_codec_ctx_t *opt_codec_ctx, | ||||
|                         { | ||||
|                             RETURN(tmprval.code); | ||||
|                         } | ||||
|                     assert(_fetch_present_idx(st, specs->pres_offset, | ||||
|                     assert(fetch_present_idx(st, specs->pres_offset, | ||||
|                                specs->pres_size) == 0); | ||||
|                     /* Record what we've got */ | ||||
|                     set_present_idx(st, specs->pres_offset, specs->pres_size, | ||||
|   | ||||
| @@ -755,7 +755,7 @@ asn_dec_rval_t CHOICE_decode_xer(asn_codec_ctx_t *opt_codec_ctx, | ||||
|                         { | ||||
|                             RETURN(tmprval.code); | ||||
|                         } | ||||
|                     assert(_fetch_present_idx(st, specs->pres_offset, | ||||
|                     assert(fetch_present_idx(st, specs->pres_offset, | ||||
|                                specs->pres_size) == 0); | ||||
|                     /* Record what we've got */ | ||||
|                     set_present_idx(st, specs->pres_offset, specs->pres_size, | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
|  */ | ||||
|  | ||||
| #ifndef GNSS_SDR_VERSION | ||||
| #define GNSS_SDR_VERSION "0.0.13" | ||||
| #define GNSS_SDR_VERSION "0.0.14" | ||||
| #endif | ||||
|  | ||||
| #ifndef GOOGLE_STRIP_LOG | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Javier Arribas
					Javier Arribas