Sunday, February 8, 2026

Re: [VOLK] Release 3.3.0

Johannes Sterz Demel <jdemel@gnuradio.org> writes:

> Hey Greg,
>
> thanks for picking up the release so quickly. I haven't seen this issue
> with any of the CI compilers.
> Would there be a way to reproduce that in a docker container?

You could add NetBSD 10 the CI farm. (I am not clear on how docker
works.)


It seems this is pretty hard:

https://stackoverflow.com/questions/33770374/why-is-isnan-ambiguous-and-how-to-avoid-it
https://stackoverflow.com/questions/39130040/cmath-hides-isnan-in-math-h-in-c14-c11
https://developers.redhat.com/blog/2016/02/29/why-cstdlib-is-more-complicated-than-you-might-think
(section "absolute mess")

another possibility is to use __builtin_isnan, which works
on gcc and clang but that's not portable to other compilers that comply
with standards.

From reading lots of things, I have taken away that in C++ code isnan
should always be written std::isnan(), have not found anything
indicating that writing it that way is at all bad, and that it's
unspecified if abs without std:: works or not.

Re: [VOLK] Release 3.3.0

Hey Greg,

thanks for picking up the release so quickly. I haven't seen this issue with any of the CI compilers. 
Would there be a way to reproduce that in a docker container?

Cheers 
Johannes

On Sun, 8 Feb 2026, 18:32 Greg Troxel, <gdt@lexort.com> wrote:
Johannes Demel <jdemel@gnuradio.org> writes:

> I just tagged the VOLK v3.3.0 release! We want to thank all
> contributors. This release wouldn't have been possible without them.

Thanks - I am trying to update the pkgsrc entry, and running into a
problem that's awkward to patch.

In include/volk/volk_common.h, there is frequent usage of

  isnan
  isinf

If the heaader is included by a C program, this is fine.

If it is included by a C++ program, then it appears to mean std::isnan,
but it is not specified if C++ compilers have to allow bare isnan to
refer to std::isnan or not.  gcc 10 on NetBSD does not allow this, and
many other projects have fixed isnan to std::isnan (in a C++ context).

The difficulty here is that the header, while marked c++ for emacs mode,
is trying to be both C and C++.

Perhaps the fix is to #if on cpluslus and define our_isnan to
std::isnan and if not to isnan, but I hope somebod who understands C++
better than I do knows a nicer way.



=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Checking for vulnerabilities in volk-3.3.0
===> Building for volk-3.3.0
[1/10] Building CXX object lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
FAILED: [code=1] lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
/tmp/work/math/volk/work/.cwrapper/bin/c++ -DFMT_SHARED -DHAVE_CPUID_H -DHAVE_DLFCN_H -DHAVE_FENV_H -D_GLIBCXX_USE_CXX11_ABI=1 -I/tmp/work/math/volk/work/.buildlink/include/orc-0.4 -I/tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include -I/tmp/work/math/volk/work/volk-3.3.0/include -I/tmp/work/math/volk/work/volk-3.3.0/kernels -isystem /tmp/work/math/volk/work/.buildlink/include -O2 -I/usr/include -I/usr/pkg/include/python3.13 -I/usr/pkg/include -Wall -fvisibility=hidden -DNDEBUG -std=c++17 -MD -MT lib/CMakeFiles/volk_test_all.dir/testqa.cc.o -MF lib/CMakeFiles/volk_test_all.dir/testqa.cc.o.d -o lib/CMakeFiles/volk_test_all.dir/testqa.cc.o -c /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In function 'float log2f_non_ieee(float)':
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:161:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
  161 |     if (isnan(result))
      |         ^~~~~
      |         std::isnan
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
  632 |     isnan(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:164:12: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
  164 |     return isinf(result) ? copysignf(127.0f, result) : result;
      |            ^~~~~
      |            std::isinf
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
  605 |     isinf(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In function 'float volk_arctan(float)':
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:308:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
  308 |     if (isnan(x)) {
      |         ^~~~~
      |         std::isnan
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
  632 |     isnan(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:313:9: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
  313 |     if (isinf(x)) {
      |         ^~~~~
      |         std::isinf
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
  605 |     isinf(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In function 'float volk_atan2(float, float)':
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:341:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
  341 |     if (isnan(x) || isnan(y)) {
      |         ^~~~~
      |         std::isnan
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
  632 |     isnan(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:346:9: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
  346 |     if (isinf(y)) {
      |         ^~~~~
      |         std::isinf
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
  605 |     isinf(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:356:9: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
  356 |     if (isinf(x)) {
      |         ^~~~~
      |         std::isinf
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
  605 |     isinf(_Tp __x)
      |     ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:369:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
  369 |     if (isnan(input)) {
      |         ^~~~~
      |         std::isnan
In file included from /usr/include/g++/complex:44,
                 from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
                 from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
                 from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
  632 |     isnan(_Tp __x)
      |     ^~~~~
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.
make[1]: stopped in /n0/gdt/pkgsrc-current/pkgsrc/math/volk
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/math/volk

Re: [VOLK] Release 3.3.0

Johannes Demel <jdemel@gnuradio.org> writes:

> I just tagged the VOLK v3.3.0 release! We want to thank all
> contributors. This release wouldn't have been possible without them.

Thanks - I am trying to update the pkgsrc entry, and running into a
problem that's awkward to patch.

In include/volk/volk_common.h, there is frequent usage of

isnan
isinf

If the heaader is included by a C program, this is fine.

If it is included by a C++ program, then it appears to mean std::isnan,
but it is not specified if C++ compilers have to allow bare isnan to
refer to std::isnan or not. gcc 10 on NetBSD does not allow this, and
many other projects have fixed isnan to std::isnan (in a C++ context).

The difficulty here is that the header, while marked c++ for emacs mode,
is trying to be both C and C++.

Perhaps the fix is to #if on cpluslus and define our_isnan to
std::isnan and if not to isnan, but I hope somebod who understands C++
better than I do knows a nicer way.



=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Checking for vulnerabilities in volk-3.3.0
===> Building for volk-3.3.0
[1/10] Building CXX object lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
FAILED: [code=1] lib/CMakeFiles/volk_test_all.dir/testqa.cc.o
/tmp/work/math/volk/work/.cwrapper/bin/c++ -DFMT_SHARED -DHAVE_CPUID_H -DHAVE_DLFCN_H -DHAVE_FENV_H -D_GLIBCXX_USE_CXX11_ABI=1 -I/tmp/work/math/volk/work/.buildlink/include/orc-0.4 -I/tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include -I/tmp/work/math/volk/work/volk-3.3.0/include -I/tmp/work/math/volk/work/volk-3.3.0/kernels -isystem /tmp/work/math/volk/work/.buildlink/include -O2 -I/usr/include -I/usr/pkg/include/python3.13 -I/usr/pkg/include -Wall -fvisibility=hidden -DNDEBUG -std=c++17 -MD -MT lib/CMakeFiles/volk_test_all.dir/testqa.cc.o -MF lib/CMakeFiles/volk_test_all.dir/testqa.cc.o.d -o lib/CMakeFiles/volk_test_all.dir/testqa.cc.o -c /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In function 'float log2f_non_ieee(float)':
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:161:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
161 | if (isnan(result))
| ^~~~~
| std::isnan
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
632 | isnan(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:164:12: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
164 | return isinf(result) ? copysignf(127.0f, result) : result;
| ^~~~~
| std::isinf
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
605 | isinf(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In function 'float volk_arctan(float)':
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:308:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
308 | if (isnan(x)) {
| ^~~~~
| std::isnan
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
632 | isnan(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:313:9: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
313 | if (isinf(x)) {
| ^~~~~
| std::isinf
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
605 | isinf(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h: In function 'float volk_atan2(float, float)':
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:341:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
341 | if (isnan(x) || isnan(y)) {
| ^~~~~
| std::isnan
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
632 | isnan(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:346:9: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
346 | if (isinf(y)) {
| ^~~~~
| std::isinf
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
605 | isinf(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:356:9: error: 'isinf' was not declared in this scope; did you mean 'std::isinf'?
356 | if (isinf(x)) {
| ^~~~~
| std::isinf
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:605:5: note: 'std::isinf' declared here
605 | isinf(_Tp __x)
| ^~~~~
In file included from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:19,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_common.h:369:9: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
369 | if (isnan(input)) {
| ^~~~~
| std::isnan
In file included from /usr/include/g++/complex:44,
from /tmp/work/math/volk/work/volk-3.3.0/include/volk/volk_complex.h:32,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk_typedefs.h:18,
from /tmp/work/math/volk/work/volk-3.3.0/cmake-pkgsrc-build/include/volk/volk.h:17,
from /tmp/work/math/volk/work/volk-3.3.0/lib/qa_utils.h:14,
from /tmp/work/math/volk/work/volk-3.3.0/lib/kernel_tests.h:11,
from /tmp/work/math/volk/work/volk-3.3.0/lib/testqa.cc:18:
/usr/include/g++/cmath:632:5: note: 'std::isnan' declared here
632 | isnan(_Tp __x)
| ^~~~~
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.
make[1]: stopped in /n0/gdt/pkgsrc-current/pkgsrc/math/volk
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/math/volk

[VOLK] Release 3.3.0

Hi everyone!

I just tagged the VOLK v3.3.0 release! We want to thank all
contributors. This release wouldn't have been possible without them.

We received a lot of improvements to existing kernels, new kernels,
and optimized support for a lot of existing kernels.
Moreover, a lot more implementations make use of AVX512 now, as well as
more optimizations for RiscV, and more NEON implementations.
Thus, overall this is a very exciting release!

Additionally, we received updates all over the code base to improve code
quality.
Obsolete code was removed, we get closer and closer to being able to
remove the
cpu_features submodule and rely on the distribution package everywhere.
Besides, our throughput test output received a face lift to make it
easier to digest.

Finally, over the years, we discussed in-place kernel operations repeatedly.
While we don't test correct in-place operation, e.g., GNU Radio relies
on it for
multiple kernels. Finding a way to check and document this behavior is
an ongoing effort.

### Contributors

- Anil Gurses <anilgurses98@gmail.com>
- Johannes Sterz Demel <jdemel@gnuradio.org>
- Magnus Lundmark <magnuslundmark@gmail.com>
- Marcus Müller <marcus@hostalia.de>
- Olaf Bernstein <camel-cdr@protonmail.com>

### Changes

- New kernels
- volk_16i_x2_add_saturated_16i
- volk_16u_x2_add_saturated_16u
- volk_32f_sincos_32f_x2.h
- volk_64f_x2_dot_prod_64f.h
- volk_8i_x2_add_saturated_8i.h
- volk_8u_x2_add_saturated_8u.h
- Improvements to a lot of kernels
- RiscV kernels are further improved and fixed
- RVV index_max/min kernels always return the correct (first) index now
- New AVX512 implementations for a lot of kernels
- Add more NEON kernels with better accuracy
- Documentation
- Working on auto-publishing latest docs
- More clarification on our software library dependencies policy
- Improved documentation on the underlying algorithms that are used
- Code quality
- cx-limited-range: Reduce scope of compile feature
- Fully rely on std::filesystem (we used to have a boost::filesystem
fallback)
- Align CMake auto-format with GNU Radio
- Update to modern PIC enablement
- Fix NEON compile checks
- Update code style in more places
- tighter
- CI
- Add -Werror flag to CI for C compilation
- Remove obsolete CI, add new CI
- Fix obsolete MacOS Intel CI
- Tests
- Add specialized test suite for the rotator kernel
- Improved usability with gtest
- Tighter error bounds for a lot of implementations
- Usability
- new performance test output
- fastest implementation is marked with a star
- speed up vs. generic implementation is printed
- test "heat up" added

Tuesday, February 3, 2026

Re: Discuss-gnuradio Digest, Vol 280, Issue 1

why i am getting mails even after unsubscribing?

On Tue, Feb 3, 2026 at 10:37 PM <discuss-gnuradio-request@gnu.org> wrote:
Send Discuss-gnuradio mailing list submissions to
        discuss-gnuradio@gnu.org

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
or, via email, send a message with subject or body 'help' to
        discuss-gnuradio-request@gnu.org

You can reach the person managing the list at
        discuss-gnuradio-owner@gnu.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Discuss-gnuradio digest..."


Today's Topics:

   1. Re: New GNU Radio contributor introduction (Marcus Müller)


----------------------------------------------------------------------

Message: 1
Date: Tue, 3 Feb 2026 11:06:43 +0100
From: Marcus Müller <mmueller@gnuradio.org>
To: discuss-gnuradio@gnu.org
Subject: Re: New GNU Radio contributor introduction
Message-ID: <28b6cfc2-c5aa-4e96-9217-b69f24066e87@gnuradio.org>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hi Mididoddi!

Welcome to the community! Great approach to learn about GNU Radio by going through the
tutorials. Let us know here or in chat if anything about the tutorials seems unclear!

Best regards,
Marcus

On 2026-01-29 6:43 PM, Saipoojith wrote:
> Hello GNU Radio community,
>
> My name is Mididoddi Sai Poojith, and I'm currently a Dual Degree (BTech + MS by Research)
> student at IIIT Hyderabad, specializing in Electronics and Communication Engineering.
>
> I'm highly interested in signal processing, communication systems, and open-source
> development, and I would like to start contributing to GNU Radio. I'm also preparing early
> for GSoC 2026. I want to build a solid understanding of the ecosystem.
>
> As part of my academic background, I've completed relevant coursework, including Signal
> Processing, Communication Theory, Introduction to 5G, and Architecture of Cellular
> Systems. I'm also comfortable working with Python, C++, Git, and Linux.
>
> Currently, I'm learning through the GNU Radio tutorials to become comfortable with GNU
> Radio concepts and workflow.
>
> I would appreciate your guidance on how I can start contributing effectively as a newcomer.
>
> Thank you for your time and guidance.
>
> Regards,
> Mididoddi Sai Poojith




------------------------------

Subject: Digest Footer

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


------------------------------

End of Discuss-gnuradio Digest, Vol 280, Issue 1
************************************************

Re: New GNU Radio contributor introduction

Hi Mididoddi!

Welcome to the community! Great approach to learn about GNU Radio by going through the
tutorials. Let us know here or in chat if anything about the tutorials seems unclear!

Best regards,
Marcus

On 2026-01-29 6:43 PM, Saipoojith wrote:
> Hello GNU Radio community,
>
> My name is Mididoddi Sai Poojith, and I'm currently a Dual Degree (BTech + MS by Research)
> student at IIIT Hyderabad, specializing in Electronics and Communication Engineering.
>
> I'm highly interested in signal processing, communication systems, and open-source
> development, and I would like to start contributing to GNU Radio. I'm also preparing early
> for GSoC 2026. I want to build a solid understanding of the ecosystem.
>
> As part of my academic background, I've completed relevant coursework, including Signal
> Processing, Communication Theory, Introduction to 5G, and Architecture of Cellular
> Systems. I'm also comfortable working with Python, C++, Git, and Linux.
>
> Currently, I'm learning through the GNU Radio tutorials to become comfortable with GNU
> Radio concepts and workflow.
>
> I would appreciate your guidance on how I can start contributing effectively as a newcomer.
>
> Thank you for your time and guidance.
>
> Regards,
> Mididoddi Sai Poojith

Thursday, January 29, 2026

New GNU Radio contributor introduction

Hello GNU Radio community,

My name is Mididoddi Sai Poojith, and I'm currently a Dual Degree (BTech + MS by Research) student at IIIT Hyderabad, specializing in Electronics and Communication Engineering.

I'm highly interested in signal processing, communication systems, and open-source development, and I would like to start contributing to GNU Radio. I'm also preparing early for GSoC 2026. I want to build a solid understanding of the ecosystem.

As part of my academic background, I've completed relevant coursework, including Signal Processing, Communication Theory, Introduction to 5G, and Architecture of Cellular Systems. I'm also comfortable working with Python, C++, Git, and Linux.

Currently, I'm learning through the GNU Radio tutorials to become comfortable with GNU Radio concepts and workflow.

I would appreciate your guidance on how I can start contributing effectively as a newcomer.

Thank you for your time and guidance.

Regards,
Mididoddi Sai Poojith